OAI/Algebra/GroupRing/ChunkComparisons.lean
50 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.TorsionFreeZeroDivisors.ChunkComparisons.positionEquivline 14 - lemma
OAI.TorsionFreeZeroDivisors.ChunkComparisons.positionEquiv_sourceline 21 - lemma
OAI.TorsionFreeZeroDivisors.ChunkComparisons.positionEquiv_coordinateline 24 - def
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.reindexline 29Source documentation
Re-enumerating occurrence chunks does not change their geometric partition.
def reindex (K : Chunking lp lt) (r : U ≃ T) (lu : U → ℕ) (hlen : ∀ u,lu u=lt (r u)) : Chunking lp lu where …
Mentions: OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking
- def
OAI.TorsionFreeZeroDivisors.ChunkComparisons.multiplicityline 39 - def
OAI.TorsionFreeZeroDivisors.ChunkComparisons.enumerationline 43Source documentation
Exact color-fibre enumeration, identifying the literal path traversals with the multiplicity-indexed traversal type used in every stage estimate.
def enumeration : ((c : C) × Fin (multiplicity color c)) ≃ T := …
Mentions: OAI.TorsionFreeZeroDivisors.ChunkComparisons.multiplicity
- lemma
OAI.TorsionFreeZeroDivisors.ChunkComparisons.enumeration_colorline 47 - lemma
OAI.TorsionFreeZeroDivisors.ChunkComparisons.enumeration_lengthline 50 - def
OAI.TorsionFreeZeroDivisors.ChunkComparisons.repeatedline 55Source documentation
The complete finite reindexing into underlying chain and occurrence number.
def repeated (K : Chunking lp lt) (len : C → ℕ) (hl : ∀ t,lt t=len (color t)) : Chunking lp (fun o : (c : C) × Fin (multiplicity color c) => len o.1) := …Mentions: OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking, OAI.TorsionFreeZeroDivisors.ChunkComparisons.multiplicity
- abbrev
OAI.TorsionFreeZeroDivisors.ListChunkCoordinates.lengthsline 66 - lemma
OAI.TorsionFreeZeroDivisors.ListChunkCoordinates.ofFn_lengthsline 68 - lemma
OAI.TorsionFreeZeroDivisors.ListChunkCoordinates.total_lengthline 72 - lemma
OAI.TorsionFreeZeroDivisors.ListChunkCoordinates.start_eqline 75 - lemma
OAI.TorsionFreeZeroDivisors.ListChunkCoordinates.get_flatMapline 81Source documentation
Literal indexing through a list concatenation, including repeated chunks.
lemma get_flatMap (i : Fin ds.length) (q : Fin (lengths ds word i)) : (ds.flatMap word)[start (lengths ds word) i+q.val]? = some ((word (ds.get i)).get q) := by …Mentions: OAI.TorsionFreeZeroDivisors.ListChunkCoordinates.lengths
- def
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.orientationline 114 - def
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.representativeline 116 - def
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.reversedline 117 - lemma
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.orientedline 119 - lemma
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.oriented_lengthline 122 - lemma
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.word_getline 127 - lemma
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.reverse_iterline 130 - lemma
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.listDartline 145 - def
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.chunksline 170 - def
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.chunkLengthline 171 - def
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.chunkReverseline 172 - def
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.colorline 173 - def
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.splitChunksline 175 - lemma
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.chunkLength_eqline 178 - lemma
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.pathLength_eqline 183 - lemma
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.chunk_dartline 188Source documentation
The original path's actual dart at the signed chunk image.
lemma chunk_dart (x : Position (traversalLength (chunks Γ mark h2 paths) (chunkLength Γ mark h2 paths))) : ((paths x.1.1).flatMap w)[((splitChunks Γ mark h2 paths).equiv x).2.val.toNat]? = some (if (splitChunks Γ mark h2 paths).reverse x.1 then Γ.reverse (F^[x.2.val.toNat] (color Γ mark h2 paths x.1).val.val) else F^[x.2.val.toNat] (color Γ mark h2 paths x.1).val.val) := by …Mentions: OAI.TorsionFreeZeroDivisors.ChainChunkTransport.chunks, OAI.TorsionFreeZeroDivisors.ChainChunkTransport.chunkLength, OAI.TorsionFreeZeroDivisors.ChainChunkTransport.splitChunks, OAI.TorsionFreeZeroDivisors.ChainChunkTransport.color
- def
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.originalDartline 222Source documentation
Literal darts at all original path positions.
def originalDart (x : Position (pathLength (chunks Γ mark h2 paths) (chunkLength Γ mark h2 paths))) : D := …
Mentions: OAI.TorsionFreeZeroDivisors.ChainChunkTransport.chunks, OAI.TorsionFreeZeroDivisors.ChainChunkTransport.chunkLength
- lemma
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.originalDart_getline 231 - lemma
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.chunk_originalline 235 - def
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.repeatedChunksline 244 - lemma
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.repeated_originalline 247 - lemma
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.signed_eq_or_reverseline 258 - lemma
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.normalized_reducedline 269Source documentation
Reduction survives signed normalization: neither orientation of an actual paired undirected edge can become the same chain-coordinate position.
lemma normalized_reduced (hred : ∀ x e,cmp.side x=some e → originalDart Γ mark h2 paths x≠originalDart Γ mark h2 paths (cmp.pairing.partner x) ∧ originalDart Γ mark h2 paths x≠Γ.reverse (originalDart Γ mark h2 paths (cmp.pairing.partner x))) : ∀ x a,((repeatedChunks Γ mark h2 paths).comparisons cmp lo hi hlo hhi).side x=some a → (x.1.1,x.2.val)≠ ((((repeatedChunks Γ mark h2 paths).comparisons cmp lo hi hlo hhi).pairing.partner x).1.1, (((repeatedChunks Γ mark h2 paths).comparisons cmp lo hi hlo hhi).pairing.partner x).2.val) := by …Mentions: OAI.TorsionFreeZeroDivisors.ChainChunkTransport.originalDart, OAI.TorsionFreeZeroDivisors.ChainChunkTransport.repeatedChunks
- lemma
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.normalized_compatibleline 294Source documentation
Actual graph labels, including reversal, induce precisely the literal compatibility constraints used by the repeated-block entropy estimates.
lemma normalized_compatible {A : Type*} (bar : A → A) (hb : Function.Involutive bar) (label : D → A) (hl : ∀ d,label (Γ.reverse d)=bar (label d)) (hc : ∀ x e,cmp.side x=some e → label (originalDart Γ mark h2 paths x)= if cmp.reverse e then bar (label (originalDart Γ mark h2 paths (cmp.pairing.partner x))) else label (originalDart Γ mark h2 paths (cmp.pairing.partner x))) : ∀ x a,((repeatedChunks Γ mark h2 paths).comparisons cmp lo hi hlo hhi).side x=some a → label (F^[x.2.val.toNat] x.1.1.val.val)= if ((repeatedChunks Γ mark h2 paths).comparisons cmp lo hi hlo hhi).reverse a then bar (label (F^[(((repeatedChunks Γ mark h2 paths).pairing cmp).partner x).2.val.toNat] (((repeatedChunks Γ mark h2 paths).pairing cmp).partner x).1.1.val.val)) else label (F^[(((repeatedChunks Γ mark h2 paths).pairing cmp).partner x).2.val.toNat] (((repeatedChunks Γ mark h2 paths).pairing cmp).partner x).1.1.val.val) := by …Mentions: OAI.TorsionFreeZeroDivisors.ChainChunkTransport.originalDart, OAI.TorsionFreeZeroDivisors.ChainChunkTransport.repeatedChunks
- lemma
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.internal_stepline 315Source documentation
A step strictly inside a suppressed chain is an actual reduced graph passage, with both outgoing ports at precisely the same original vertex.
lemma internal_step (d : B) (i : ℕ) (hi : i+1 < len d) : Γ.origin (F^[i+1] d.val)=Γ.origin (Γ.reverse (F^[i] d.val)) ∧ F^[i+1] d.val≠Γ.reverse (F^[i] d.val) := by … - lemma
OAI.TorsionFreeZeroDivisors.ChainChunkTransport.normalized_immersedline 331Source documentation
Immersion of the literal labelled graph gives the reduced signed chain words required by every reflection and squared-word argument.
lemma normalized_immersed {A : Type*} (bar : A → A) (label : D → A) (hl : ∀ d,label (Γ.reverse d)=bar (label d)) (hinj : ∀ d e,Γ.origin d=Γ.origin e → label d=label e → d=e) (c : R) (q : ℤ) (hq : 0≤q) (hq' : q+1<repLength Γ mark h2 c) : label (F^[(q+1).toNat] c.val.val)≠bar (label (F^[q.toNat] c.val.val)) := by … - lemma
OAI.TorsionFreeZeroDivisors.ChainMultiplicity.representative_valline 355 - lemma
OAI.TorsionFreeZeroDivisors.ChainMultiplicity.reverse_orientedline 359 - lemma
OAI.TorsionFreeZeroDivisors.ChainMultiplicity.representative_reverseline 372 - lemma
OAI.TorsionFreeZeroDivisors.ChainMultiplicity.unsignedline 377 - lemma
OAI.TorsionFreeZeroDivisors.ChainMultiplicity.signed_representativeline 387 - lemma
OAI.TorsionFreeZeroDivisors.ChainMultiplicity.representative_iffline 391 - lemma
OAI.TorsionFreeZeroDivisors.ChainMultiplicity.sign_injectiveline 404 - def
OAI.TorsionFreeZeroDivisors.ChainMultiplicity.incidenceEquivline 419Source documentation
The incidence fibre used in the Euler-exponent proof is the exact colour fibre used in the chain/block first moment. Both chain orientations count once.
def incidenceEquiv (c : R) : {o : (p : P) × (Fin (paths p).length × Bool) // PathIncidences.familyPort (S).reverse e o=c.val} ≃ {t : tp // col t=c} where …Mentions: OAI.TorsionFreeZeroDivisors.PathIncidences.familyPort
- lemma
OAI.TorsionFreeZeroDivisors.ChainMultiplicity.multiplicity_eqline 450 - lemma
OAI.TorsionFreeZeroDivisors.ChainMultiplicity.multiplicity_atline 457