OAI/Algebra/GroupRing/CoreStripping.lean
35 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.TorsionFreeZeroDivisors.CoreStripping.degreeline 13 - def
OAI.TorsionFreeZeroDivisors.CoreStripping.Symmetricline 15 - def
OAI.TorsionFreeZeroDivisors.CoreStripping.deleteline 17 - lemma
OAI.TorsionFreeZeroDivisors.CoreStripping.delete_subsetline 19 - lemma
OAI.TorsionFreeZeroDivisors.CoreStripping.degree_posline 22 - lemma
OAI.TorsionFreeZeroDivisors.CoreStripping.leaf_uniqueline 25 - lemma
OAI.TorsionFreeZeroDivisors.CoreStripping.leaf_not_loopline 34 - lemma
OAI.TorsionFreeZeroDivisors.CoreStripping.delete_symmetricline 39 - lemma
OAI.TorsionFreeZeroDivisors.CoreStripping.delete_degree_leafline 50 - lemma
OAI.TorsionFreeZeroDivisors.CoreStripping.delete_degree_neighborline 59 - lemma
OAI.TorsionFreeZeroDivisors.CoreStripping.delete_degree_otherline 78 - def
OAI.TorsionFreeZeroDivisors.CoreStripping.surplusline 94Source documentation
Euler surplus without counting isolated vertices. It equals the sum of branch excesses minus the number of leaves.
def surplus (n : ℕ) : ℤ := if n=0 then 0 else (n:ℤ)-2
- lemma
OAI.TorsionFreeZeroDivisors.CoreStripping.surplus_succline 96 - def
OAI.TorsionFreeZeroDivisors.CoreStripping.potentialline 104 - lemma
OAI.TorsionFreeZeroDivisors.CoreStripping.delete_potentialline 106 - theorem
OAI.TorsionFreeZeroDivisors.CoreStripping.exists_coreline 129Source documentation
Actual repeated leaf deletion. The terminal subgraph has minimum degree two on every surviving dart; Euler surplus can only increase.
theorem exists_core (S : Finset D) (hs : Symmetric Γ S) : ∃ Q : Finset D, Q⊆S ∧ Symmetric Γ Q ∧ (∀ d∈Q, 2≤degree Γ Q (Γ.origin d)) ∧ potential Γ S≤potential Γ Q := by …Mentions: OAI.TorsionFreeZeroDivisors.CoreStripping.Symmetric, OAI.TorsionFreeZeroDivisors.CoreStripping.degree, OAI.TorsionFreeZeroDivisors.CoreStripping.potential
- def
OAI.TorsionFreeZeroDivisors.ImageComplexity.restrictline 158Source documentation
The actual symmetric subgraph on a specified set of original darts.
def restrict (Q : Finset D) (hs : Symmetric Γ Q) : PortGraph V Q where …
- def
OAI.TorsionFreeZeroDivisors.ImageComplexity.inclusionline 164 - lemma
OAI.TorsionFreeZeroDivisors.ImageComplexity.inclusion_injectiveline 176 - lemma
OAI.TorsionFreeZeroDivisors.ImageComplexity.restrict_degreeline 180 - lemma
OAI.TorsionFreeZeroDivisors.ImageComplexity.inclusion_weightline 195 - lemma
OAI.TorsionFreeZeroDivisors.ImageComplexity.fiber_countline 208Source documentation
Vertexwise counting, including loops through their two different darts.
lemma fiber_count (S : Finset D) (P : V → Prop) [DecidablePred P] : ∑ v, (if P v then degree Γ S v else 0) = (S.filter (fun d => P (Γ.origin d))).card := by … - lemma
OAI.TorsionFreeZeroDivisors.ImageComplexity.surplus_excessline 222 - lemma
OAI.TorsionFreeZeroDivisors.ImageComplexity.surplus_le_branchline 226 - lemma
OAI.TorsionFreeZeroDivisors.ImageComplexity.excess_le_potential_add_leavesline 231 - lemma
OAI.TorsionFreeZeroDivisors.ImageComplexity.branch_degrees_bound_excessline 242 - theorem
OAI.TorsionFreeZeroDivisors.ImageComplexity.bounded_image_branchesline 252Source documentation
Bounded branching in the actual image, not in a hypothesized bounded-rank pattern. A bounded number of leaves is the only endpoint correction.
theorem bounded_image_branches (C : ℝ) (hC : 0 ≤ C) (leaves : ℕ) : ∃ R : ℕ, ∀ {V D : Type} [Fintype V] [Fintype D] (Γ : PortGraph V D) (L : ℝ) (_ : 0 < L) (_ : (Fintype.card D:ℝ) ≤ 2*C*L) (_ : ∀ a (c : Γ.subdivision.Walk a a), c.IsCycle → L ≤ weight (edgeWeight (fun _ : D => (1:ℝ))) c) (_ : (Finset.univ.filter (fun v => degree Γ Finset.univ v=1)).card ≤ leaves), (Finset.univ.filter (fun d => 3≤degree Γ Finset.univ (Γ.origin d))).card ≤ R := by … - def
OAI.TorsionFreeZeroDivisors.SystemLeaves.AtMostOneNeighborline 308Source documentation
The combinatorial leaf condition, stated without assuming local finiteness.
def AtMostOneNeighbor (x : W) : Prop := ∀ a b, G.Adj x a → G.Adj x b → a=b
- lemma
OAI.TorsionFreeZeroDivisors.SystemLeaves.leaf_in_reduced_walkline 310 - def
OAI.TorsionFreeZeroDivisors.SystemLeaves.CyclicallyReducedline 332Source documentation
Including the closing turn, not just linear immersion.
def CyclicallyReduced {a : W} (p : G.Walk a a) : Prop := … - lemma
OAI.TorsionFreeZeroDivisors.SystemLeaves.leaf_not_in_cyclicline 335 - def
OAI.TorsionFreeZeroDivisors.SystemLeaves.degreeline 346 - lemma
OAI.TorsionFreeZeroDivisors.SystemLeaves.leaf_originalline 348 - lemma
OAI.TorsionFreeZeroDivisors.SystemLeaves.actual_image_leaf_endpointsline 364Source documentation
In the actual image of any number of cyclically immersed closed walks and one immersed interval, every leaf is an endpoint of that interval.
lemma actual_image_leaf_endpoints {J : Type*} (base : J → V) (loops : ∀ j, Γ.subdivision.Walk (.inl (base j)) (.inl (base j))) (hloops : ∀ j, CyclicallyReduced (loops j)) (hne : ∀ j, ¬(loops j).Nil) {a b : V} (p : Γ.subdivision.Walk (.inl a) (.inl b)) (hp : p.edges.IsChain (· ≠ ·)) (himage : ∀ d : D, Sum.inl (Γ.origin d)∈p.support ∨ ∃ j, Sum.inl (Γ.origin d)∈(loops j).support) (v : V) (hv : degree Γ v=1) : v=a ∨ v=b := by …Mentions: OAI.TorsionFreeZeroDivisors.SystemLeaves.CyclicallyReduced, OAI.TorsionFreeZeroDivisors.SystemLeaves.degree
- lemma
OAI.TorsionFreeZeroDivisors.SystemLeaves.actual_image_at_most_two_leavesline 384