OAI/Algebra/GroupRing/ListPassages.lean
57 declarations, 0 contain sorry, 0 declared as axioms
A choice of one direction for each unoriented edge of a finite port graph. The reversal has no fixed points. No graph is assumed bipartite or loop-free.
- lemma
OAI.TorsionFreeZeroDivisors.ListPassages.rotate_valline 12 - def
OAI.TorsionFreeZeroDivisors.ListPassages.startline 26 - def
OAI.TorsionFreeZeroDivisors.ListPassages.cutline 28 - lemma
OAI.TorsionFreeZeroDivisors.ListPassages.last_memline 31 - lemma
OAI.TorsionFreeZeroDivisors.ListPassages.first_memline 41 - theorem
OAI.TorsionFreeZeroDivisors.ListPassages.passageline 51Source documentation
The cyclic successor on actual list occurrences pairs exactly the internal passages, plus the closing passage precisely when the path is cyclic.
theorem passage {R : D → D → Prop} (hc : p.IsChain R) (cyclic : Bool) (hclose : cyclic=true → ∀ᵉ (x∈p.getLast?) (y∈p.head?),R x y) (i : Fin p.length) (hcut : cut p hp cyclic ≠ some (finRotate p.length i)) : R (p.get i) (p.get (finRotate p.length i)) := by … - lemma
OAI.TorsionFreeZeroDivisors.ChainPathTransport.outWord_headline 84 - lemma
OAI.TorsionFreeZeroDivisors.ChainPathTransport.word_headline 88 - lemma
OAI.TorsionFreeZeroDivisors.ChainPathTransport.word_lastline 91 - lemma
OAI.TorsionFreeZeroDivisors.ChainPathTransport.word_ne_nilline 96 - theorem
OAI.TorsionFreeZeroDivisors.ChainPathTransport.isChainline 106Source documentation
A genuine reduced original path transports to a genuine reduced path in its suppressed graph. Adjacency is read from the actual last/first darts; no graph path property is imposed on the decomposition as a hypothesis.
theorem isChain (ds : List B) (hp : (ds.flatMap w).IsChain (PortWalk.step Γ.origin Γ.reverse)) : ds.IsChain (PortWalk.step (S).origin (S).reverse) := by … - lemma
OAI.TorsionFreeZeroDivisors.ChainPathTransport.flatMap_headline 124 - lemma
OAI.TorsionFreeZeroDivisors.ChainPathTransport.flatMap_lastline 132 - theorem
OAI.TorsionFreeZeroDivisors.ChainPathTransport.closingline 142Source documentation
The closing passage of a cyclically immersed path survives suppression.
theorem closing (ds : List B) (hc : ∀ᵉ (x∈(ds.flatMap w).getLast?) (y∈(ds.flatMap w).head?), PortWalk.step Γ.origin Γ.reverse x y) : ∀ᵉ (a∈ds.getLast?) (b∈ds.head?),PortWalk.step (S).origin (S).reverse a b := by … - theorem
OAI.TorsionFreeZeroDivisors.ChainPathTransport.decomposesline 160Source documentation
The decomposition retains all reduced passages and both geometric endpoints. Cyclic closing passages therefore also transport unchanged.
theorem decomposes (p : List D) (hp : p.IsChain (PortWalk.step Γ.origin Γ.reverse)) (hs : ∀ d∈p.head?,mark (Γ.origin d)) (ht : ∀ d∈p.getLast?,mark (Γ.origin (Γ.reverse d))) : ∃ ds : List B, ds.flatMap w=p ∧ ds.IsChain (PortWalk.step (S).origin (S).reverse) ∧ ds.head?.map Subtype.val=p.head? ∧ ds.getLast?.map (fun d => Γ.reverse ((S).reverse d).val)=p.getLast? := by … - abbrev
OAI.TorsionFreeZeroDivisors.ListStageExponents.edgeline 184 - abbrev
OAI.TorsionFreeZeroDivisors.ListStageExponents.multline 185 - theorem
OAI.TorsionFreeZeroDivisors.ListStageExponents.cut_countline 188 - theorem
OAI.TorsionFreeZeroDivisors.ListStageExponents.exponent_nonposline 198Source documentation
The exact signed stage exponent of literal immersed paths, including a root saving for each noncyclic interval only at the first stage.
theorem exponent_nonpos (M : ℕ) (hM : 0<M) (hm : ∀ d,mult Γ p d ≤ M) : (∑ j : Fin M, ((Fintype.card (ActiveV Γ (mult Γ p) j.val):ℤ)- (edges (stage Γ (mult Γ p) (multiplicity_reverse Γ (edge p)) j.val)).card- if j.val=0 then Fintype.card {i : I // cyclic i=false} else 0)) ≤ 0 := by …Mentions: OAI.TorsionFreeZeroDivisors.ListStageExponents.mult, OAI.TorsionFreeZeroDivisors.ListStageExponents.edge
- def
OAI.TorsionFreeZeroDivisors.InvolutionOrientation.rankline 225 - def
OAI.TorsionFreeZeroDivisors.InvolutionOrientation.Chosenline 227 - abbrev
OAI.TorsionFreeZeroDivisors.InvolutionOrientation.Representativeline 228 - lemma
OAI.TorsionFreeZeroDivisors.InvolutionOrientation.rank_neline 233 - lemma
OAI.TorsionFreeZeroDivisors.InvolutionOrientation.chosen_or_reverseline 239 - lemma
OAI.TorsionFreeZeroDivisors.InvolutionOrientation.chosen_reverse_iffline 244 - def
OAI.TorsionFreeZeroDivisors.InvolutionOrientation.orientline 249 - lemma
OAI.TorsionFreeZeroDivisors.InvolutionOrientation.orient_injectiveline 251 - lemma
OAI.TorsionFreeZeroDivisors.InvolutionOrientation.orient_surjectiveline 268 - def
OAI.TorsionFreeZeroDivisors.InvolutionOrientation.equivline 274 - lemma
OAI.TorsionFreeZeroDivisors.InvolutionOrientation.equiv_falseline 277 - lemma
OAI.TorsionFreeZeroDivisors.InvolutionOrientation.equiv_trueline 278 - lemma
OAI.TorsionFreeZeroDivisors.InvolutionOrientation.rep_cardline 280 - lemma
OAI.TorsionFreeZeroDivisors.InvolutionOrientation.sum_invariantline 284 - abbrev
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.Repline 304 - abbrev
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.repLengthline 305 - abbrev
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.Markline 306 - def
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.firstline 308 - def
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.lastline 310 - def
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.dartMapline 315 - lemma
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.forward_memline 318 - lemma
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.dart_memline 322 - lemma
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.same_wordline 331 - lemma
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.dartMap_injectiveline 336 - lemma
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.dartMap_surjectiveline 352 - def
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.dartEquivline 365 - lemma
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.dartMap_reverseline 369 - def
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.vertexMapline 375 - lemma
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.internal_unmarkedline 379 - lemma
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.origin_mapline 387 - lemma
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.original_two_portsline 417 - lemma
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.vertexMap_injectiveline 437 - lemma
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.vertexMap_surjectiveline 459 - def
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.vertexEquivline 470 - theorem
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.subdivision_isomorphicline 476Source documentation
Replacing each actual maximal marked chain by a coordinate interval loses no vertices, darts, loop chains, parallel chains or reversal information.
theorem subdivision_isomorphic (hcovered : ∀ d : D, ChainCoverage.Covered Γ.reverse (turn Γ.origin mark h2) Γ.reverse_reverse (turn_involutive Γ.origin mark h2) d) : ∃ (eV : ChainSubdivision.Vertex (repLength Γ mark h2) (V := Mark mark) ≃ V) …Mentions: OAI.TorsionFreeZeroDivisors.ChainCoverage.Covered, OAI.TorsionFreeZeroDivisors.ChainSubdivision.Vertex, OAI.TorsionFreeZeroDivisors.ChainIsomorphism.repLength, OAI.TorsionFreeZeroDivisors.ChainIsomorphism.Mark
- theorem
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.total_lengthline 485Source documentation
Both orientations of every actual-image edge are retained exactly once.
theorem total_length (hcovered : ∀ d : D, ChainCoverage.Covered Γ.reverse (turn Γ.origin mark h2) Γ.reverse_reverse (turn_involutive Γ.origin mark h2) d) : 2 * ∑ c : Rep Γ mark h2, repLength Γ mark h2 c = Fintype.card D := by …Mentions: OAI.TorsionFreeZeroDivisors.ChainCoverage.Covered, OAI.TorsionFreeZeroDivisors.ChainIsomorphism.Rep, OAI.TorsionFreeZeroDivisors.ChainIsomorphism.repLength
- theorem
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.vertex_countline 494Source documentation
The marked/interior count gives the precise signed stage vertex exponent.
theorem vertex_count (hcovered : ∀ d : D, ChainCoverage.Covered Γ.reverse (turn Γ.origin mark h2) Γ.reverse_reverse (turn_involutive Γ.origin mark h2) d) : Fintype.card V + Fintype.card (Rep Γ mark h2) = Fintype.card (Mark mark) + ∑ c : Rep Γ mark h2, repLength Γ mark h2 c := by …Mentions: OAI.TorsionFreeZeroDivisors.ChainCoverage.Covered, OAI.TorsionFreeZeroDivisors.ChainIsomorphism.Rep, OAI.TorsionFreeZeroDivisors.ChainIsomorphism.Mark, OAI.TorsionFreeZeroDivisors.ChainIsomorphism.repLength
- theorem
OAI.TorsionFreeZeroDivisors.ChainIsomorphism.actual_image_isomorphicline 505Source documentation
The needed coverage is furnished by the actual immersed path system, not asserted as an additional structural property of a proposed pattern.
theorem actual_image_isomorphic {J : Type*} (paths : J → List D) (hpaths : ∀ j, (paths j).IsChain (WeightedMoore.PortWalk.step Γ.origin Γ.reverse)) (hstarts : ∀ j d, d∈(paths j).head? → mark (Γ.origin d)) (himage : ∀ d : D, ∃ j, d∈paths j ∨ Γ.reverse d∈paths j) : ∃ (eV : ChainSubdivision.Vertex (repLength Γ mark h2) (V := Mark mark) ≃ V) …Mentions: OAI.TorsionFreeZeroDivisors.WeightedMoore.PortWalk.step, OAI.TorsionFreeZeroDivisors.ChainSubdivision.Vertex, OAI.TorsionFreeZeroDivisors.ChainIsomorphism.repLength, OAI.TorsionFreeZeroDivisors.ChainIsomorphism.Mark