OAI/Algebra/GroupRing/TreeCentroid.lean
35 declarations, 0 contain sorry, 0 declared as axioms
- lemma
OAI.TorsionFreeZeroDivisors.TreeCentroid.next_of_adjline 14 - lemma
OAI.TorsionFreeZeroDivisors.TreeCentroid.branch_headline 17 - lemma
OAI.TorsionFreeZeroDivisors.TreeCentroid.branch_boundaryline 21Source documentation
A tree branch has exactly one possible directed edge leaving it.
lemma branch_boundary {c n x y : V} (hx : x∈branch h c n) (hy : y∉branch h c n) (he : G.Adj x y) : x=n ∧ y=c := by … - lemma
OAI.TorsionFreeZeroDivisors.TreeCentroid.branch_walk_boundaryline 31 - def
OAI.TorsionFreeZeroDivisors.TreeCentroid.descendantsline 44Source documentation
Descendants are defined by the actual branch beyond the parent edge.
def descendants (root v : V) : Finset V := branch h (next h v root) v
Mentions: OAI.TorsionFreeZeroDivisors.TreeCentroid.branch, OAI.TorsionFreeZeroDivisors.TreeCentroid.next
- lemma
OAI.TorsionFreeZeroDivisors.TreeCentroid.root_not_descendantsline 46 - lemma
OAI.TorsionFreeZeroDivisors.TreeCentroid.self_mem_descendantsline 54 - lemma
OAI.TorsionFreeZeroDivisors.TreeCentroid.descendant_mem_root_pathline 57 - def
OAI.TorsionFreeZeroDivisors.TreeCentroid.rootPathline 61 - lemma
OAI.TorsionFreeZeroDivisors.TreeCentroid.root_mem_rootPathline 63 - lemma
OAI.TorsionFreeZeroDivisors.TreeCentroid.self_mem_rootPathline 66 - lemma
OAI.TorsionFreeZeroDivisors.TreeCentroid.rootPath_cardline 69 - theorem
OAI.TorsionFreeZeroDivisors.TreeCentroid.two_root_paths_cardline 76Source documentation
Two root paths share the root, yielding the sharp 2r+1 count rather than an erroneous 2r+2 or a three-path 3r+1 bound.
theorem two_root_paths_card (root v w : V) (r : ℕ) (hv : G.dist root v≤r) (hw : G.dist root w≤r) : (rootPath h root v∪rootPath h root w).card≤2*r+1 := by … - def
OAI.TorsionFreeZeroDivisors.MapEuler.touchGraphline 95Source documentation
Dual edges incident to a specified set of primal vertices.
def touchGraph (S : Set (Cycle σ)) : SimpleGraph (Cycle φ) where …
- lemma
OAI.TorsionFreeZeroDivisors.MapEuler.touchGraph_leline 106 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.touchGraph_contour_stepline 110 - theorem
OAI.TorsionFreeZeroDivisors.MapEuler.touchGraph_connected_of_contourline 123Source documentation
A subtree interval in the primal contour gives actual connectivity through only those dual edges incident to the subtree.
theorem touchGraph_connected_of_contour (θ : Equiv.Perm O) (hθ : γ*θ=φ) (hc : Nat.card (Cycle θ)=1) (S : Set (Cycle σ)) (p : O) (hout : ∀ x,cycle σ x∈S → cycle σ (θ x)∉S → x=p) {x y : O} (hx : cycle σ x∈S) (hy : cycle σ y∈S) : (touchGraph σ φ γ hγ S).Reachable (cycle φ x) (cycle φ y) := by … - theorem
OAI.TorsionFreeZeroDivisors.MapEuler.branch_contour_exitline 143Source documentation
Every rooted tree branch has a unique possible exit in the actual contour.
theorem branch_contour_exit {c n : Cycle σ} (he : T.Adj n c) : ∃ p : O,∀ x,cycle σ x∈TreeCentroid.branch ht c n → cycle σ ((subgraphPair σ α ha T hT*σ) x)∉TreeCentroid.branch ht c n → x=p := by …Mentions: OAI.TorsionFreeZeroDivisors.TreeCentroid.branch, OAI.TorsionFreeZeroDivisors.MapEuler.subgraphPair
- theorem
OAI.TorsionFreeZeroDivisors.MapEuler.branch_dual_touch_connectedline 164Source documentation
Literal face connectivity around a primal tree branch in a genus-zero map, using only cotree edges touching that branch.
theorem branch_dual_touch_connected (hz : GenusZero σ α) {c n : Cycle σ} (he : T.Adj n c) {x y : O} (hx : cycle σ x∈TreeCentroid.branch ht c n) (hy : cycle σ y∈TreeCentroid.branch ht c n) : (touchGraph σ (α*σ) (α*subgraphPair σ α ha T hT) (complement_involutive α _ ha (subgraphPair_involutive σ α ha T hT) (subgraphPair_subpairing σ α ha T hT)) (↑(TreeCentroid.branch ht c n) : Set (Cycle σ))).Reachable (cycle (α*σ) x) (cycle (α*σ) y) := by …Mentions: OAI.TorsionFreeZeroDivisors.MapEuler.GenusZero, OAI.TorsionFreeZeroDivisors.TreeCentroid.branch, OAI.TorsionFreeZeroDivisors.MapEuler.touchGraph, OAI.TorsionFreeZeroDivisors.MapEuler.subgraphPair, OAI.TorsionFreeZeroDivisors.MapEuler.complement_involutive, OAI.TorsionFreeZeroDivisors.MapEuler.subgraphPair_involutive, OAI.TorsionFreeZeroDivisors.MapEuler.subgraphPair_subpairing
- def
OAI.TorsionFreeZeroDivisors.MapEuler.supportedRealizeline 186 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.supportedRealize_injectiveline 188 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.supportedRealize_surjectiveline 191 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.nonfixed_adj_of_edge_countline 201Source documentation
When there are as many support darts as graph darts, no nonfixed dart is a loop and no two different paired edges can realize the same simple edge.
lemma nonfixed_adj_of_edge_count (he : 2*Nat.card (graph σ α ha).edgeSet=α.support.card) {x : O} (hx : α x≠x) : (graph σ α ha).Adj (cycle σ x) (cycle σ (α x)) := by … - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.dart_unique_of_edge_countline 209 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.edge_count_of_tree_supportline 225 - lemma
OAI.TorsionFreeZeroDivisors.TreeCentroid.branch_mem_iff_adj_of_avoidline 240 - lemma
OAI.TorsionFreeZeroDivisors.TreeCentroid.branch_mem_iff_reachable_of_avoidline 253 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.touchGraph_avoids_edgeline 267 - def
OAI.TorsionFreeZeroDivisors.MapEuler.cotreeSideline 290 - def
OAI.TorsionFreeZeroDivisors.MapEuler.fundamentalVerticesline 293 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.root_mem_fundamentalVerticesline 297 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.endpoints_not_descendantsline 301 - theorem
OAI.TorsionFreeZeroDivisors.MapEuler.outside_fundamental_sameSideline 325Source documentation
Outside the two actual root paths, all incident faces of a primal vertex lie on the same side of the deleted cotree edge.
theorem outside_fundamental_sameSide {root v : Cycle σ} {d x y : O} (hv : v∉fundamentalVertices σ α T ht root d) (hx : cycle σ x=v) (hy : cycle σ y=v) : cycle φ x∈cotreeSide σ α ha T hT hz ht d ↔ cycle φ y∈cotreeSide σ α ha T hT hz ht d := by …Mentions: OAI.TorsionFreeZeroDivisors.MapEuler.fundamentalVertices, OAI.TorsionFreeZeroDivisors.MapEuler.cotreeSide
- lemma
OAI.TorsionFreeZeroDivisors.MapEuler.edge_common_faceline 344Source documentation
Endpoints of a primal edge have incident occurrences on a common face.
lemma edge_common_face (x : O) : cycle φ (σ.symm x)=cycle φ (α x) := by …
- theorem
OAI.TorsionFreeZeroDivisors.MapEuler.fundamental_no_crossingline 350Source documentation
The two-root-path vertex set really separates the corresponding dual sides, including original loops, parallel edges, and tree edges.
theorem fundamental_no_crossing {root : Cycle σ} {d : O} {v w : Cycle σ} (hv : v∉fundamentalVertices σ α T ht root d) (hw : w∉fundamentalVertices σ α T ht root d) (he : (graph σ α ha).Adj v w) {x y : O} (hx : cycle σ x=v) (hy : cycle σ y=w) : cycle φ x∈cotreeSide σ α ha T hT hz ht d ↔ cycle φ y∈cotreeSide σ α ha T hT hz ht d := by …Mentions: OAI.TorsionFreeZeroDivisors.MapEuler.fundamentalVertices, OAI.TorsionFreeZeroDivisors.MapEuler.graph, OAI.TorsionFreeZeroDivisors.MapEuler.cotreeSide