OAI/Algebra/GroupRing/DegreeTwoSuppression.lean
47 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.outline 14 - lemma
OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.mem_outline 15 - lemma
OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.unique_otherline 18 - def
OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.turnline 36 - lemma
OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.turn_of_markline 39 - lemma
OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.turn_of_unmarkedline 42 - lemma
OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.turn_originline 47 - lemma
OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.turn_fixed_iffline 52 - lemma
OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.turn_involutiveline 59 - def
OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.suppressedline 71Source documentation
Darts of the actual suppressed multigraph: all outgoing darts at marked vertices. The return map pairs them by the unique maximal degree-two chain.
def suppressed (Γ : PortGraph V D) (mark : V → Prop) (h2 : ∀ v, ¬mark v → (out Γ.origin v).card=2) : PortGraph V {d : D // turn Γ.origin mark h2 d=d} where …Mentions: OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.out, OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.turn
- def
OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.chainLengthline 84Source documentation
Positive integral lengths count exactly the original directed edges along the chains; the two orientations have the same length.
def chainLength (Γ : PortGraph V D) (mark : V → Prop) (h2 : ∀ v, ¬mark v → (out Γ.origin v).card=2) (d : {d : D // turn Γ.origin mark h2 d=d}) : ℕ := …Mentions: OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.out, OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.turn
- lemma
OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.chainLength_posline 90 - lemma
OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.chainLength_reverseline 95 - lemma
OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.chainLength_totalline 101 - lemma
OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.suppressed_degreeline 106 - lemma
OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.suppressed_min_degreeline 124Source documentation
Minimum degree two becomes minimum degree three whenever a component has some branching. Pure circle components give no darts and are treated separately.
lemma suppressed_min_degree (Γ : PortGraph V D) (hmin : ∀ d, 2 ≤ (out Γ.origin (Γ.origin d)).card) : let mark := fun v => (out Γ.origin v).card≠2 …Mentions: OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.out
- def
OAI.TorsionFreeZeroDivisors.SuppressedMoore.iterChainline 153 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.head_iterChainline 158 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.last_iterChainline 162 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.iterChain_goodline 170 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.chain_goodline 191 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.chain_lastline 197 - def
OAI.TorsionFreeZeroDivisors.SuppressedMoore.chainWalkline 211Source documentation
Literal expansion of one suppressed edge into the original graph. Its endpoints are the two marked ports, and every internal vertex is degree two.
def chainWalk (d : B) : Γ.subdivision.Walk (.inr d.val) (.inr ((Γ').reverse d).val) := …
- lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.chainWalk_reducedline 215 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.cost_iterChain_oneline 220 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.chainWalk_weightline 230 - def
OAI.TorsionFreeZeroDivisors.SuppressedMoore.joinline 243 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.join_headline 248 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.join_lastline 252 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.join_costline 259 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.join_goodline 268 - def
OAI.TorsionFreeZeroDivisors.SuppressedMoore.outWordline 280 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.outWord_injectiveline 285 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.outWord_joinline 293 - def
OAI.TorsionFreeZeroDivisors.SuppressedMoore.pickEvenline 300 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.pickEven_portWordline 306 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.iterChain_no_marksline 312 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.chain_one_markline 324 - def
OAI.TorsionFreeZeroDivisors.SuppressedMoore.expandline 340Source documentation
Expand every macro-edge, preserving the ordered path occurrence data.
def expand : {k : ℕ} → Chain B k → (Σ l, Chain D l) | 0, d => ⟨len d-1,iterChain F (len d-1) d.val⟩ | _+1, p => join (iterChain F (len p.1-1) p.1.val) (expand p.2)Mentions: OAI.TorsionFreeZeroDivisors.SuppressedMoore.iterChain, OAI.TorsionFreeZeroDivisors.SuppressedMoore.join
- lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.expand_headline 344 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.expand_lastline 349 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.expand_goodline 355 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.expand_costline 365 - lemma
OAI.TorsionFreeZeroDivisors.SuppressedMoore.expand_marksline 376 - theorem
OAI.TorsionFreeZeroDivisors.SuppressedMoore.original_short_cycleline 387Source documentation
The stationary Moore collision in the suppressed graph expands to a literal original cycle. Girth is imposed only on the original graph.
theorem original_short_cycle [Nonempty B] (hdeg : ∀ d, 3 ≤ (PortWalk.out (Γ').origin ((Γ').origin d)).card) : let k := Nat.log 2 (Fintype.card B) + 2 … - theorem
OAI.TorsionFreeZeroDivisors.SuppressedMoore.original_dart_inequalityline 445Source documentation
Actual branch-port complexity from original edge count and original girth, without an a priori graph-rank or chain-count hypothesis.
theorem original_dart_inequality [Nonempty B] (hdeg : ∀ d, 3 ≤ (PortWalk.out (Γ').origin ((Γ').origin d)).card) (L C : ℝ) (hL : 0 < L) (htotal : (Fintype.card D : ℝ) ≤ 2*C*L) (hgirth : ∀ a (c : Γ.subdivision.Walk a a), c.IsCycle → L ≤ WeightedCycles.weight (edgeWeight (fun _ : D => (1:ℝ))) c) : (Fintype.card B : ℝ) ≤ 8*C*(Nat.log 2 (Fintype.card B)+3:ℝ) := by … - theorem
OAI.TorsionFreeZeroDivisors.SuppressedMoore.bounded_branch_portsline 465Source documentation
Uniformly many branch ports in an actual finite graph of minimum degree two with O(L) edges and girth L. Pure circles contribute no branch ports.
theorem bounded_branch_ports (C : ℝ) (hC : 0 ≤ C) : ∃ R : ℕ, ∀ {V D : Type} [Fintype D] (Γ : PortGraph V D) (_ : ∀ d, 2 ≤ (DegreeTwoSuppression.out Γ.origin (Γ.origin d)).card) (L : ℝ) (_ : 0 < L) (_ : (Fintype.card D : ℝ) ≤ 2*C*L) (_ : ∀ a (c : Γ.subdivision.Walk a a), c.IsCycle → L ≤ WeightedCycles.weight (edgeWeight (fun _ : D => (1:ℝ))) c), (Finset.univ.filter (fun d : D => (DegreeTwoSuppression.out Γ.origin (Γ.origin d)).card≠2)).card ≤ R := by …Mentions: OAI.TorsionFreeZeroDivisors.DegreeTwoSuppression.out, OAI.TorsionFreeZeroDivisors.WeightedCycles.weight