OAI/Algebra/Finitistic/Bar/BlockIndexEquiv.lean
15 declarations, 0 contain sorry, 0 declared as axioms
- theorem
OAI.DerivedBar.Multibar.base_run_injectiveline 8Source documentation
The first X uniquely determines the length of the preceding D block.
theorem base_run_injective (i j : ℕ) (p q : List Bool) (h : List.replicate i false ++ true :: p = List.replicate j false ++ true :: q) : i=j ∧ p=q := by … - theorem
OAI.DerivedBar.Multibar.pattern_injectiveline 26Source documentation
Consecutive block lengths have a unique literal D/X word.
theorem pattern_injective (r : ℕ) : Function.Injective (pattern r) := by …
Mentions: OAI.DerivedBar.Multibar.pattern
- def
OAI.DerivedBar.Multibar.parseOfCountline 38Source documentation
Parse a word of a specified count without changing its block data.
def parseOfCount (r : ℕ) (p : List Bool) (h : count p=r) : Blocks r := h ▸ parse p
Mentions: OAI.DerivedBar.Multibar.count, OAI.DerivedBar.Multibar.Blocks, OAI.DerivedBar.Multibar.parse
- theorem
OAI.DerivedBar.Multibar.pattern_parseOfCountline 40 - theorem
OAI.DerivedBar.Multibar.parseOfCount_patternline 45 - def
OAI.DerivedBar.Multibar.Indexed.shapeOfListline 52 - theorem
OAI.DerivedBar.Multibar.Indexed.toList_shapeOfListline 57 - def
OAI.DerivedBar.Multibar.Indexed.castShapeline 65 - theorem
OAI.DerivedBar.Multibar.Indexed.toList_castShapeline 67 - def
OAI.DerivedBar.Multibar.Indexed.shapeOfBlocksline 73Source documentation
Construct the degree-indexed tensor shape of a tuple of block lengths.
def shapeOfBlocks (r : ℕ) (b : Blocks r) : Shape (r+total r b) r := …
Mentions: OAI.DerivedBar.Multibar.Blocks, OAI.DerivedBar.Multibar.Indexed.Shape, OAI.DerivedBar.Multibar.total
- theorem
OAI.DerivedBar.Multibar.Indexed.toList_shapeOfBlocksline 76 - def
OAI.DerivedBar.Multibar.Indexed.blocksOfShapeline 80 - theorem
OAI.DerivedBar.Multibar.Indexed.pattern_blocksOfShapeline 83 - theorem
OAI.DerivedBar.Multibar.Indexed.total_blocksOfShapeline 86 - def
OAI.DerivedBar.Multibar.Indexed.blockDegreeEquivline 93Source documentation
Reindex the finite block-length diagonal by the existing tensor shapes. The shift by r occurs in the degree, not in a hidden tensor-power replacement.
def blockDegreeEquiv (r m : ℕ) : {b : Blocks r // total r b=m} ≃ Shape (r+m) r where …Mentions: OAI.DerivedBar.Multibar.Blocks, OAI.DerivedBar.Multibar.total, OAI.DerivedBar.Multibar.Indexed.Shape