OAI/Algebra/GroupRing/EntropyStages.lean
43 declarations, 0 contain sorry, 0 declared as axioms
The actual common-grid block matching of an affine comparison system. Positions are the literal half-integer edge indices within each traversal.
- structure
OAI.TorsionFreeZeroDivisors.EntropyStages.Pairingline 9 - structure
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Dataline 19 - def
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.sliceline 35Source documentation
The positions of one comparison side in a pair of occurrence blocks.
def slice (e : E) (o p : B) : Finset Ω := …
- theorem
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.slice_memline 38 - def
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.reverseSliceline 42 - theorem
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.slice_cardline 53 - def
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.Joinedline 56 - theorem
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.joined_symmline 62 - theorem
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.joined_neline 67 - theorem
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.joined_uniqueline 83 - def
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.partnerline 97 - theorem
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.partner_specline 99 - theorem
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.partner_involutiveline 104 - def
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.matchingline 111 - theorem
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.matched_iffline 113 - theorem
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.unmatched_iffline 123 - theorem
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.joined_of_small_deficitline 127Source documentation
Explicit error criterion usable with the half-integer alignment lemma.
theorem joined_of_small_deficit {o p : B} {e : E} (hbig_o : 2*D.error < (D.positions o).card) (hbig_p : 2*D.error < (D.positions p).card) (hdef_o : (D.positions o).card-(D.slice e o p).card ≤ D.error) (hdef_p : (D.positions p).card-(D.slice e o p).card ≤ D.error) : D.Joined o p := by … - def
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.unmatchedBlocksline 136 - def
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.unpairedPositionsline 137 - theorem
OAI.TorsionFreeZeroDivisors.OccurrenceMatching.Data.unmatched_massline 141Source documentation
The source unmatched-block charge, with every rounding/cut error explicit. Only the stated local geometric coverage of nonexceptional blocks is needed.
theorem unmatched_mass (s : ℝ) (hs : 0 ≤ s) (exceptional : Finset B) (hsize : ∀ o, s-1 ≤ ((D.positions o).card : ℝ)) (hcover : ∀ o, D.matching.partner o = o → o ∉ exceptional → D.positions o ⊆ D.unpairedPositions) : s*(D.unmatchedBlocks.card : ℝ) ≤ (D.unpairedPositions.card : ℝ) + s*exceptional.card + Fintype.card B := by … - abbrev
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Positionline 182 - abbrev
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Blockline 183 - def
OAI.TorsionFreeZeroDivisors.ComparedBlocks.includeBlockline 187 - def
OAI.TorsionFreeZeroDivisors.ComparedBlocks.blockPositionsline 193 - theorem
OAI.TorsionFreeZeroDivisors.ComparedBlocks.mem_blockPositionsline 196 - theorem
OAI.TorsionFreeZeroDivisors.ComparedBlocks.blockPositions_cardline 208 - theorem
OAI.TorsionFreeZeroDivisors.ComparedBlocks.blockPositions_disjointline 212 - theorem
OAI.TorsionFreeZeroDivisors.ComparedBlocks.fullIndexline 227Source documentation
Exact full-grid-index converse, rather than clipping a target partner.
theorem fullIndex {t : T} {k : ℤ} (hk : 0 ≤ k) (hfull : ((k : ℝ)+1)*s ≤ len t) : ∃ j : Fin (blockCount s (len t)), (j.val : ℤ) = k := by … - structure
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Comparisonsline 239Source documentation
Data of the original disjoint signed interval comparisons on traversals. The involution and side predicates retain occurrence indices throughout.
structure Comparisons where …
- def
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Comparisons.matchingDataline 263 - def
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Comparisons.integerSliceline 275Source documentation
The literal integer slice before making any near-full grid approximation.
def integerSlice (e : E) (b p : Block s len) : Finset ℤ := …
- theorem
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Comparisons.slice_sourcesline 279 - theorem
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Comparisons.slice_integer_cardline 289 - theorem
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Comparisons.side_of_marginline 321Source documentation
The original side comparison covers this entire source block.
theorem side_of_margin {b : Block s len} {e : E} (hsource : b.1 = C.source e) (hlo : C.lo e ≤ (b.2.val : ℝ)*s-s) (hhi : ((b.2.val : ℝ)+1)*s+s ≤ C.hi e) {x : Position len} (hx : x ∈ blockPositions s hs len b) : C.side x = some e := by …Mentions: OAI.TorsionFreeZeroDivisors.ComparedBlocks.Block, OAI.TorsionFreeZeroDivisors.ComparedBlocks.Position, OAI.TorsionFreeZeroDivisors.ComparedBlocks.blockPositions
- theorem
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Comparisons.slice_card_eqline 333Source documentation
The full slice is exactly the algebraic source overlap.
theorem slice_card_eq {b p : Block s len} {e : E} {ν : ℤ} (hsource : b.1 = C.source e) (htarget : p.1 = C.source (C.flip e)) (hindex : (p.2.val : ℤ) = partnerIndex (C.reverse e) ν b.2.val) (hlo : C.lo e ≤ (b.2.val : ℝ)*s-s) (hhi : ((b.2.val : ℝ)+1)*s+s ≤ C.hi e) : ((C.matchingData s hs len err).slice e b p).card = (overlap s (C.reverse e) (C.offset e) b.2.val ν).card := by … - theorem
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Comparisons.joined_of_marginline 368Source documentation
A block deep inside an actual comparison has a near-full selected partner.
theorem joined_of_margin {b : Block s len} {e : E} {ν : ℤ} (hsource : b.1 = C.source e) (hsmall : 2*(err : ℝ) < s-1) (herr : 2*|(C.offset e : ℝ)-(ν : ℝ)*s|+4 ≤ err) (hlo : C.lo e ≤ (b.2.val : ℝ)*s-s) (hhi : ((b.2.val : ℝ)+1)*s+s ≤ C.hi e) : ∃ p, (C.matchingData s hs len err).Joined b p := by … - def
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Comparisons.nearCutBlocksline 413 - theorem
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Comparisons.nearCutBlocks_cardline 416 - def
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Comparisons.exceptionalline 430 - theorem
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Comparisons.exceptional_cardline 434 - theorem
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Comparisons.unmatched_unpairedline 449Source documentation
No point of a deep unmatched block belongs to any original comparison.
theorem unmatched_unpaired (ν : E → ℤ) (hsmall : 2*(err : ℝ) < s-1) (herr : ∀ e, 2*|(C.offset e : ℝ)-(ν e : ℝ)*s|+4 ≤ err) {b : Block s len} (hb : (C.matchingData s hs len err).matching.partner b = b) (hn : b ∉ C.exceptional s len) : blockPositions s hs len b ⊆ (C.matchingData s hs len err).unpairedPositions := by …Mentions: OAI.TorsionFreeZeroDivisors.ComparedBlocks.Block, OAI.TorsionFreeZeroDivisors.ComparedBlocks.blockPositions
- theorem
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Comparisons.block_massline 483Source documentation
The full block mass and hence the rounding charge use the total actual traversal length, with no prescribed occurrence-count estimate.
theorem block_mass : s*(Fintype.card (Block s len) : ℝ) ≤ ∑ t, (len t : ℝ) := by …
- theorem
OAI.TorsionFreeZeroDivisors.ComparedBlocks.Comparisons.unmatched_boundline 491