Documentation

Anderson4D.PermSum.CollapseCoordinates

Typed coordinates for the Proposition 5.9 collapse #

This module records the length and multiplicity ledgers carried by the finite-word collapse, and exposes the change of variables

raw collapse data ≃ (inside list, positive composition, collapsed list).

The last item is an actual Equiv: the block list is recovered by splitting the inside list at the composition boundaries. In particular, none of the coordinate projections is used as though it were injective.

Exact additive length ledger before solving for the collapsed length.

Every inside letter survives expansion.

The collapsed word has the paper's length expanded length - inside length + number of blocks.

theorem Anderson4D.RawCollapseData.collapsed_length_fixed {A : Type u_1} {B : Type u_2} {n : ℕ} (d : FixedRawCollapseData A B n) :
(↑d).collapsed.length = n - (↑d).insideLength + (↑d).blocks.length

Fixed-original-length form of collapsed_length.

Multiplicity transport to the two coordinate words #

def Anderson4D.insideMultiplicity {A : Type u_1} {B : Type u_2} (mult : A ⊕ B → ℕ) :
A → ℕ

Multiplicity of an inside letter in π₁.

Equations
Instances For
    def Anderson4D.collapsedMultiplicity {A : Type u_1} {B : Type u_2} (mult : A ⊕ B → ℕ) (d : RawCollapseData A B) :
    Unit ⊕ B → ℕ

    Multiplicity in π₂: the new marker occurs once for each inside block, while every outside multiplicity is unchanged.

    Equations
    Instances For

      π₁ has exactly the inside multiplicities prescribed by the original word.

      π₂ has one marker per inside block and preserves every outside multiplicity.

      Total inside multiplicity is the length of π₁.

      Total collapsed multiplicity is the length of π₂.

      The total π₂ multiplicity in original-length coordinates.

      theorem Anderson4D.RawCollapseData.sum_collapsedMultiplicity_eq_fixed_length_ledger {A : Type u_1} {B : Type u_2} [Fintype B] [DecidableEq A] [DecidableEq B] {mult : A ⊕ B → ℕ} {n : ℕ} {d : FixedRawCollapseData A B n} (h : CollapseMultiplicitySpec mult ↑d) :
      ∑ x : Unit ⊕ B, collapsedMultiplicity mult (↑d) x = n - (↑d).insideLength + (↑d).blocks.length

      Fixed-original-length form of the total π₂ multiplicity ledger.

      Genuine (π₁, composition, π₂) coordinates #

      structure Anderson4D.CollapseCoordinates (A : Type u_3) (B : Type u_4) :
      Type (max u_3 u_4)

      Typed collapse coordinates. compositionBlocks together with its two certificates is exactly a positive composition of inside.length; keeping its data fields exposed makes equality of coordinates proof-irrelevant.

      Instances For
        theorem Anderson4D.CollapseCoordinates.ext {A : Type u_3} {B : Type u_4} {x y : CollapseCoordinates A B} (inside : x.inside = y.inside) (compositionBlocks : x.compositionBlocks = y.compositionBlocks) (collapsed : x.collapsed = y.collapsed) :
        x = y

        The genuine mathlib Composition carried by the coordinate block lengths.

        Equations
        Instances For

          Forget the explicit coordinates by splitting π₁ at the composition boundaries.

          Equations
          Instances For

            Read the flattened inside word, its block composition, and the collapsed word from raw collapse data.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              Raw block/collapsed data are equivalent to the explicit (π₁, composition, π₂) coordinates.

              Equations
              Instances For