OAI/Algebra/GroupRing/AffineIntervals.lean
56 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.TorsionFreeZeroDivisors.AffineIntervals.boundaryline 14Source documentation
Boundary action of a signed interval isometry. On half-integer centers it agrees with the manuscript's letter-index affine action.
def boundary (r : Bool) (a x : ℤ) : ℤ := if r then a-x else x+a
- def
OAI.TorsionFreeZeroDivisors.AffineIntervals.compOffsetline 16 - lemma
OAI.TorsionFreeZeroDivisors.AffineIntervals.affine_compline 18 - lemma
OAI.TorsionFreeZeroDivisors.AffineIntervals.boundary_compline 22 - lemma
OAI.TorsionFreeZeroDivisors.AffineIntervals.integer_positionsline 26 - lemma
OAI.TorsionFreeZeroDivisors.AffineIntervals.nat_positionsline 45 - def
OAI.TorsionFreeZeroDivisors.AffineIntervals.preLoline 50Source documentation
Exact integer endpoints of the inverse image; reflection does not incur any rounding loss on the source half-integer convention.
def preLo (r : Bool) (a lo hi : ℤ) : ℤ := if r then a-hi else lo-a
- def
OAI.TorsionFreeZeroDivisors.AffineIntervals.preHiline 51 - lemma
OAI.TorsionFreeZeroDivisors.AffineIntervals.mem_preimageline 53 - lemma
OAI.TorsionFreeZeroDivisors.AffineIntervals.preimage_boundsline 57 - def
OAI.TorsionFreeZeroDivisors.AffineIntervals.anchorline 64Source documentation
Empty comparison sides may be placed at the preimage of target boundary zero; this has no occurrences and satisfies the global range condition.
def anchor (r : Bool) (a : ℤ) : ℤ := if r then a else -a
- lemma
OAI.TorsionFreeZeroDivisors.AffineIntervals.anchor_boundsline 66 - structure
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunkingline 79Source documentation
A literal partition into signed integer chunks, not a count of formal pieces.
structure Chunking (lp : P → ℕ) (lt : T → ℕ) where …
- lemma
OAI.TorsionFreeZeroDivisors.ChunkComparisons.position_extline 87 - def
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.pairingline 97 - lemma
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.partner_imageline 103 - def
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.revline 107 - def
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.offline 110 - lemma
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.new_affineline 114 - lemma
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.new_affine_imageline 121 - lemma
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.partner_coordinateline 128 - lemma
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.partner_chunk_iffline 141Source documentation
The image of an old partner is in a given chunk precisely when the conjugate affine index is in that chunk.
lemma partner_chunk_iff {x : Position lt} {e : E} {u : T} (he : C.side (K.equiv x)=some e) (hu : K.path u=C.source (C.flip e)) : ((K.pairing C).partner x).1=u ↔ affine (K.rev C e x.1 u) (K.off C e x.1 u) x.2.val ∈ positions 0 (lt u) := by … - def
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.rawLoline 163 - def
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.rawHiline 166 - def
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.validline 170 - def
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.lowerline 174 - def
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.upperline 177 - lemma
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.interval_iffline 184 - lemma
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.range_boundsline 231 - def
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.sideline 243 - lemma
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.side_iffline 246 - def
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.comparisonsline 253Source documentation
Split every side at the boundaries of both chunks. Empty pieces carry no positions; their chosen endpoint maintains the exact range convention.
def comparisons : Comparisons (E := E×T×T) lt where …
- lemma
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.fixed_iffline 306 - def
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.unpairedEquivline 315 - theorem
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.unpaired_cardline 321Source documentation
Splitting and orientation normalization neither deletes nor duplicates an unpaired occurrence.
theorem unpaired_card [Fintype P] [Fintype T] : Fintype.card {x : Position lt // (K.comparisons C lo hi hlo hhi).pairing.partner x=x} = Fintype.card {x : Position lp // C.pairing.partner x=x} := … - lemma
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.xor_labelsline 326 - theorem
OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.compatibleline 338Source documentation
Every literal compatible labeling survives splitting with exactly the xor of the path comparison and the two chain orientations.
theorem compatible {A : Type*} (bar : A → A) (hb : Function.Involutive bar) (old : Position lp → A) (word : Position lt → A) (hn : ∀ x,old (K.equiv x)=if K.reverse x.1 then bar (word x) else word x) (hc : ∀ x e,C.side x=some e → old x = if C.reverse e then bar (old (C.pairing.partner x)) else old (C.pairing.partner x)) : ∀ x a, (K.comparisons C lo hi hlo hhi).side x=some a → word x=if (K.comparisons C lo hi hlo hhi).reverse a then bar (word ((K.comparisons C lo hi hlo hhi).pairing.partner x)) else word ((K.comparisons C lo hi hlo hhi).pairing.partner x) := by …Mentions: OAI.TorsionFreeZeroDivisors.ChunkComparisons.Chunking.side
- def
OAI.TorsionFreeZeroDivisors.FiniteChunking.beforeline 367 - def
OAI.TorsionFreeZeroDivisors.FiniteChunking.startline 368 - lemma
OAI.TorsionFreeZeroDivisors.FiniteChunking.not_beforeline 370 - lemma
OAI.TorsionFreeZeroDivisors.FiniteChunking.start_nextline 372 - lemma
OAI.TorsionFreeZeroDivisors.FiniteChunking.start_endline 382 - def
OAI.TorsionFreeZeroDivisors.FiniteChunking.localIndexline 386 - lemma
OAI.TorsionFreeZeroDivisors.FiniteChunking.local_boundsline 388 - lemma
OAI.TorsionFreeZeroDivisors.FiniteChunking.affine_offsetline 393 - lemma
OAI.TorsionFreeZeroDivisors.FiniteChunking.positions_cardline 397 - lemma
OAI.TorsionFreeZeroDivisors.FiniteChunking.position_cardline 400 - abbrev
OAI.TorsionFreeZeroDivisors.FiniteChunking.Traversalline 407 - abbrev
OAI.TorsionFreeZeroDivisors.FiniteChunking.traversalLengthline 408 - def
OAI.TorsionFreeZeroDivisors.FiniteChunking.pathLengthline 409 - def
OAI.TorsionFreeZeroDivisors.FiniteChunking.offsetline 411 - def
OAI.TorsionFreeZeroDivisors.FiniteChunking.imageline 413 - lemma
OAI.TorsionFreeZeroDivisors.FiniteChunking.image_valline 424 - lemma
OAI.TorsionFreeZeroDivisors.FiniteChunking.image_injectiveline 430 - def
OAI.TorsionFreeZeroDivisors.FiniteChunking.equivline 459Source documentation
The prescribed offsets define an actual equivalence. In particular, this partition covers every old letter even when a path is empty.
def equiv : Position (traversalLength chunks len) ≃ Position (pathLength chunks len) := …
Mentions: OAI.TorsionFreeZeroDivisors.FiniteChunking.traversalLength, OAI.TorsionFreeZeroDivisors.FiniteChunking.pathLength
- def
OAI.TorsionFreeZeroDivisors.FiniteChunking.chunkingline 464