OAI/Geometry/HyperbolicGroups/CycleDecomposition.lean
14 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.HyperbolicObstruction.ConeWalks.chainline 14 - lemma
OAI.HyperbolicObstruction.ConeWalks.chain_nilline 15 - lemma
OAI.HyperbolicObstruction.ConeWalks.chain_consline 16 - lemma
OAI.HyperbolicObstruction.ConeWalks.chain_appendline 18 - abbrev
OAI.HyperbolicObstruction.ConeWalks.Circuitline 22Source documentation
A simple loop with its actual base vertex and edge traversals.
abbrev Circuit (G : SimpleGraph V) := Σ a : V, {p : G.Walk a a // p.IsCycle} - def
OAI.HyperbolicObstruction.ConeWalks.perimeterline 23 - def
OAI.HyperbolicObstruction.ConeWalks.totalline 24 - lemma
OAI.HyperbolicObstruction.ConeWalks.perimeter_nilline 25 - lemma
OAI.HyperbolicObstruction.ConeWalks.perimeter_consline 26 - lemma
OAI.HyperbolicObstruction.ConeWalks.total_nilline 28 - lemma
OAI.HyperbolicObstruction.ConeWalks.total_consline 29 - lemma
OAI.HyperbolicObstruction.ConeWalks.short_loop_chainline 32 - theorem
OAI.HyperbolicObstruction.ConeWalks.decompose_walkline 49Source documentation
Loop erasure WITH the removed simple circuits retained, preserving the exact signed edge chain. This is stronger than existence of an elementary cycle and does not discard a nonzero cellular chain.
theorem decompose_walk (c : G.Dart → A) (hc : ∀ d, c d.symm = -c d) {u v : V} (p : G.Walk u v) : ∃ (q : G.Walk u v) (cs : List (Circuit G)), q.IsPath ∧ chain c p = chain c q + total c cs ∧ q.length + perimeter cs ≤ p.length := by …Mentions: OAI.HyperbolicObstruction.ConeWalks.Circuit, OAI.HyperbolicObstruction.ConeWalks.chain, OAI.HyperbolicObstruction.ConeWalks.total, OAI.HyperbolicObstruction.ConeWalks.perimeter
- theorem
OAI.HyperbolicObstruction.ConeWalks.decompose_closedline 92Source documentation
Every closed macro walk splits into simple cycles and cancelling backtracks, with exact signed cone chain and nonincreasing total perimeter.
theorem decompose_closed (c : G.Dart → A) (hc : ∀ d, c d.symm = -c d) {u : V} (p : G.Walk u u) : ∃ cs : List (Circuit G), chain c p = total c cs ∧ perimeter cs ≤ p.length := by …Mentions: OAI.HyperbolicObstruction.ConeWalks.Circuit, OAI.HyperbolicObstruction.ConeWalks.chain, OAI.HyperbolicObstruction.ConeWalks.total, OAI.HyperbolicObstruction.ConeWalks.perimeter