Counting multigraph boundaries #
Parallel edges are distinct records throughout. The simple support supplies distances; the multigraph supplies degrees, crossing counts, and the core density estimate.
The simple support of a multigraph, with loops discarded.
Equations
Instances For
theorem
Complexity.Frontier.Multigraph.support_src_tgt
{V : Type u_1}
{E : Type u_2}
(G : Multigraph V E)
(hl : G.Loopless)
(e : E)
:
theorem
Complexity.Frontier.Multigraph.support_degree_le
{V : Type u_1}
{E : Type u_2}
(G : Multigraph V E)
[Finite E]
[G.support.LocallyFinite]
(v : V)
:
Distinct neighbours inject into incident edges.
theorem
Complexity.Frontier.Multigraph.card_crossingFinset
{V : Type u_1}
{E : Type u_2}
(G : Multigraph V E)
[Fintype E]
(S : Finset V)
:
theorem
Complexity.Frontier.Multigraph.ncard_touching_le
{V : Type u_1}
{E : Type u_2}
(G : Multigraph V E)
{d : ℕ}
(hd : G.MaxDegreeLE d)
(S : Finset V)
:
The incident-edge union pays once per edge, at most the degree budget per vertex.
theorem
Complexity.Frontier.Multigraph.card_edges_le
{V : Type u_1}
{E : Type u_2}
(G : Multigraph V E)
[Fintype V]
{d : ℕ}
(hd : G.MaxDegreeLE d)
:
theorem
Complexity.Frontier.Multigraph.sum_degree_mul
{V : Type u_1}
{E : Type u_2}
(G : Multigraph V E)
[Fintype V]
[Fintype E]
(hl : G.Loopless)
(w : V → ℕ)
:
Weighted handshaking, counting parallel edges with multiplicity.
theorem
Complexity.Frontier.Multigraph.core_density
{V : Type u_1}
{E : Type u_2}
(G : Multigraph V E)
[Fintype V]
[Fintype E]
(hl : G.Loopless)
{d : ℕ}
(hlo : ∀ (v : V), 3 ≤ (G.edgesAt v).ncard)
(hhi : G.MaxDegreeLE d)
(hadj : ∀ (e : E), d + 3 ≤ (G.edgesAt (G.src e)).ncard + (G.edgesAt (G.tgt e)).ncard)
:
Terminal-core density in every degree: adjacent degree sums at least d + 3
force 3d |V| ≤ (d + 3) |E|.