OAI/Algebra/GroupRing/BFSTree.lean
48 declarations, 0 contain sorry, 0 declared as axioms
A literal breadth-first spanning tree, with its distances and radius preserved. This is the rooted tree used in the sharp planar separator.
- def
OAI.TorsionFreeZeroDivisors.ConedMap.oldVertexline 17 - def
OAI.TorsionFreeZeroDivisors.ConedMap.centerVertexline 18 - lemma
OAI.TorsionFreeZeroDivisors.ConedMap.oldVertex_injectiveline 19 - lemma
OAI.TorsionFreeZeroDivisors.ConedMap.centerVertex_injectiveline 21 - lemma
OAI.TorsionFreeZeroDivisors.ConedMap.old_ne_centerline 23 - lemma
OAI.TorsionFreeZeroDivisors.ConedMap.oldVertex_cycleline 28 - lemma
OAI.TorsionFreeZeroDivisors.ConedMap.centerVertex_cycleline 29 - lemma
OAI.TorsionFreeZeroDivisors.ConedMap.old_adjline 31 - lemma
OAI.TorsionFreeZeroDivisors.ConedMap.radial_adjline 37 - def
OAI.TorsionFreeZeroDivisors.ConedMap.oldHomline 43 - theorem
OAI.TorsionFreeZeroDivisors.ConedMap.connectedline 45 - lemma
OAI.TorsionFreeZeroDivisors.ConedMap.old_distance_leline 50 - lemma
OAI.TorsionFreeZeroDivisors.ConedMap.center_distance_leline 56 - def
OAI.TorsionFreeZeroDivisors.ConedMap.oldEmbeddingline 66 - def
OAI.TorsionFreeZeroDivisors.ConedMap.liftSetline 67 - lemma
OAI.TorsionFreeZeroDivisors.ConedMap.liftSet_cardline 68 - lemma
OAI.TorsionFreeZeroDivisors.ConedMap.old_mem_liftSetline 69 - lemma
OAI.TorsionFreeZeroDivisors.ConedMap.center_not_liftSetline 71 - theorem
OAI.TorsionFreeZeroDivisors.ConedMap.distance_costline 79Source documentation
Distances to zero-cost auxiliary centers incur one extra step, but all original vertices remain within the original radius.
theorem distance_cost (hc : (G).Connected) (root : Cycle σ) (r : ℕ) (hr : ∀ v,(G).dist root v≤r) (v : Cycle ρ) : (G').dist (oldVertex σ α root) v + (if v∈liftSet σ α Finset.univ then 1 else 0)≤r+1 := by …Mentions: OAI.TorsionFreeZeroDivisors.ConedMap.oldVertex, OAI.TorsionFreeZeroDivisors.ConedMap.liftSet
- lemma
OAI.TorsionFreeZeroDivisors.BFSTree.exists_parentline 103 - def
OAI.TorsionFreeZeroDivisors.BFSTree.parentline 116 - lemma
OAI.TorsionFreeZeroDivisors.BFSTree.parent_adjline 117 - lemma
OAI.TorsionFreeZeroDivisors.BFSTree.parent_distline 120 - lemma
OAI.TorsionFreeZeroDivisors.BFSTree.parent_neline 124 - def
OAI.TorsionFreeZeroDivisors.BFSTree.treeline 126 - lemma
OAI.TorsionFreeZeroDivisors.BFSTree.tree_leline 132 - lemma
OAI.TorsionFreeZeroDivisors.BFSTree.exists_tree_walkline 140 - lemma
OAI.TorsionFreeZeroDivisors.BFSTree.connectedline 154 - theorem
OAI.TorsionFreeZeroDivisors.BFSTree.dist_rootline 162Source documentation
All root distances are unchanged, not merely bounded by an abstract height.
theorem dist_root (v : V) : (tree G hc root).dist v root=G.dist v root := by …
Mentions: OAI.TorsionFreeZeroDivisors.BFSTree.tree
- def
OAI.TorsionFreeZeroDivisors.BFSTree.parentEdgeline 169 - lemma
OAI.TorsionFreeZeroDivisors.BFSTree.parentEdge_surjectiveline 171 - theorem
OAI.TorsionFreeZeroDivisors.BFSTree.isTreeline 185Source documentation
The parent edges form an actual spanning tree of the original graph.
theorem isTree : (tree G hc root).IsTree := by …
Mentions: OAI.TorsionFreeZeroDivisors.BFSTree.tree
- lemma
OAI.TorsionFreeZeroDivisors.TreeCentroid.rootPath_costline 204 - theorem
OAI.TorsionFreeZeroDivisors.TreeCentroid.two_root_paths_costline 224Source documentation
Zero-cost face centers may be introduced for triangulation without losing the sharp original-vertex bound. Only original vertices are charged.
theorem two_root_paths_cost (budget : Finset V) (root v w : V) (r : ℕ) (hroot : root∈budget) (hv : T.dist root v+(if v∈budget then 1 else 0)≤r+1) (hw : T.dist root w+(if w∈budget then 1 else 0)≤r+1) : ((rootPath ht root v∪rootPath ht root w)∩budget).card≤2*r+1 := by … - lemma
OAI.TorsionFreeZeroDivisors.TreeCentroid.two_root_paths_cost_erase_rootline 240 - theorem
OAI.TorsionFreeZeroDivisors.MapEuler.radius_separatorline 261Source documentation
The exact bounded-radius separator on a genus-zero rotation map. The partition balances any chosen set of unit-weight vertices. In particular the root is charged once, so deleting a contracted root saves one unit.
theorem radius_separator (σ α : Equiv.Perm O) (ha : Function.Involutive α) (hz : GenusZero σ α) (hc : (graph σ α ha).Connected) (root : Cycle σ) (r : ℕ) (hr : ∀ v,(graph σ α ha).dist root v≤r) (active : Finset (Cycle σ)) : ∃ cut side : Finset (Cycle σ), root∈cut ∧ cut.card≤2*r+1 ∧ (cut.erase root).card≤2*r ∧ 3*(active.filter (fun v=>v∉cut ∧ v∈side)).card≤2*active.card ∧ 3*(active.filter (fun v=>v∉cut ∧ v∉side)).card≤2*active.card ∧ ∀ v w,v∉cut→w∉cut→(graph σ α ha).Adj v w→(v∈side↔w∈side) := by …Mentions: OAI.TorsionFreeZeroDivisors.MapEuler.GenusZero, OAI.TorsionFreeZeroDivisors.MapEuler.graph
- def
OAI.TorsionFreeZeroDivisors.MapRestrict.permline 355 - lemma
OAI.TorsionFreeZeroDivisors.MapRestrict.perm_valline 357 - lemma
OAI.TorsionFreeZeroDivisors.MapRestrict.not_invariantline 360 - def
OAI.TorsionFreeZeroDivisors.MapRestrict.cycleIncludeline 364 - lemma
OAI.TorsionFreeZeroDivisors.MapRestrict.cycleInclude_cycleline 366 - def
OAI.TorsionFreeZeroDivisors.MapRestrict.cycleRawline 368 - lemma
OAI.TorsionFreeZeroDivisors.MapRestrict.cycleRaw_applyline 371 - def
OAI.TorsionFreeZeroDivisors.MapRestrict.cycleEquivline 378 - lemma
OAI.TorsionFreeZeroDivisors.MapRestrict.cycle_cardline 397 - lemma
OAI.TorsionFreeZeroDivisors.MapRestrict.perm_involutiveline 400 - def
OAI.TorsionFreeZeroDivisors.MapRestrict.supportEquivline 403 - lemma
OAI.TorsionFreeZeroDivisors.MapRestrict.support_cardline 418