Edge Expansion and Subcubic Graphs
Lax920634.EdgeExpansion · concepts/Lax920634/EdgeExpansion.lean · lax-920634
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Definition
The edge boundary of a vertex set consists of the edges with one endpoint in and one outside. A finite graph has edge expansion at least if whenever . A graph is subcubic if every vertex has at most three neighbors.
Concept map
Lean source view on GitHub
| 1 | import Mathlib.Combinatorics.SimpleGraph.Finite |
| 2 | import Mathlib.Data.Set.Card |
| 3 | import Mathlib.Data.Rat.Defs |
| 4 | |
| 5 | /-! |
| 6 | --- |
| 7 | title: Edge Expansion and Subcubic Graphs |
| 8 | type: definition |
| 9 | --- |
| 10 | The edge boundary of a vertex set consists of the edges with one endpoint |
| 11 | in and one outside. A finite graph has edge expansion at least if |
| 12 | whenever . A graph is subcubic if |
| 13 | every vertex has at most three neighbors. |
| 14 | |
| 15 | # Formalization notes |
| 16 | |
| 17 | Boundary edges are represented by ordered pairs with the first endpoint in |
| 18 | and the second outside, so each undirected boundary edge is counted once. |
| 19 | `Set.ncard` avoids imposing decidability on mathematical predicates; every |
| 20 | set counted here is finite. Expansion constants are rational numbers. |
| 21 | -/ |
| 22 | |
| 23 | namespace Lax920634.EdgeExpansion |
| 24 | |
| 25 | /-- Boundary edges oriented from the set to its complement, each counted once. -/ |
| 26 | def edgeBoundary {V : Type} (G : SimpleGraph V) (S : Set V) : Set (V × V) := |
| 27 | {e | e.1 ∈ S ∧ e.2 ∉ S ∧ G.Adj e.1 e.2} |
| 28 | |
| 29 | /-- Every vertex set of size at most half the graph has at least `h` times |
| 30 | its size in boundary edges. -/ |
| 31 | def HasEdgeExpansionAtLeast {V : Type} [Fintype V] |
| 32 | (G : SimpleGraph V) (h : ℚ) : Prop := |
| 33 | ∀ S : Set V, 2 * S.ncard ≤ Fintype.card V → |
| 34 | h * (S.ncard : ℚ) ≤ ((edgeBoundary G S).ncard : ℚ) |
| 35 | |
| 36 | /-- Every vertex has at most three distinct neighbors. -/ |
| 37 | def IsSubcubic {V : Type} [Finite V] (G : SimpleGraph V) : Prop := |
| 38 | ∀ v, (G.neighborSet v).ncard ≤ 3 |
| 39 | |
| 40 | end Lax920634.EdgeExpansion |
| 41 |
Formalization notes
Boundary edges are represented by ordered pairs with the first endpoint in and the second outside, so each undirected boundary edge is counted once. avoids imposing decidability on mathematical predicates; every set counted here is finite. Expansion constants are rational numbers.
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments