Documentation

AlgebraicCombinatorics.SymmetricFunctions.SSYTEquiv

Equivalence Between SSYT Definitions #

This file establishes the equivalence between the two definitions of semistandard Young tableaux (SSYT) in this project:

  1. SchurBasics.SSYT: Uses entry : Fin N × ℕ → Fin N with a support condition that entries outside the Young diagram are 0. This representation is more flexible for proofs involving cell coordinates.

  2. SymmetricFunctions.SSYT: Uses dependent types entries : (i : Fin N) → (j : Fin (lam.parts i)) → Fin N. This representation is more type-safe but harder to work with for some proofs.

Main Results #

Implementation Notes #

The two definitions also use different NPartition types (with fields monotone vs weaklyDecreasing), so we also provide conversions between these.

The SkewSSYT definitions have a similar relationship and are also addressed here.

Schur Polynomial Equivalence #

The project has three Schur polynomial definitions:

This file provides equivalence theorems between the first two definitions. The third definition (in LittlewoodRichardson.lean) is related via the IsNPartition predicate, which is equivalent to the bundled NPartition types.

Design Rationale #

Both SSYT definitions are retained in their original files. This file provides the equivalence infrastructure for code that needs both representations.

The two representations serve different purposes:

NPartition Types #

This file bridges between the two NPartition types in this project:

Both equivalences are provided for API convenience:

Tags #

semistandard Young tableau, SSYT, equivalence, Young diagram, Schur polynomial

NPartition Conversions #

The two files use different NPartition types with different field names:

We provide conversions between them. These conversions are trivial (just renaming fields).

Note: PieriJacobiTrudi.lean also provides NPartition.equivShared which is the inverse of npartitionEquiv defined here. Both are retained for API convenience:

Convert from SchurBasics.NPartition to SymmetricFunctions.NPartition. Note: SchurBasics.lean now uses the shared NPartition from NPartition.lean, which has antitone as its field name (with monotone as an alias theorem).

Equations
Instances For

    Convert from SymmetricFunctions.NPartition to SchurBasics.NPartition. Note: SchurBasics.lean now uses the shared NPartition from NPartition.lean, which has antitone as its field name.

    Equations
    Instances For
      @[simp]

      The conversions are inverses (direction 1).

      @[simp]

      The conversions are inverses (direction 2).

      @[simp]

      The parts are preserved by conversion.

      The NPartition types are equivalent. This is the symmetric of SymmetricFunctions.NPartition.equivShared from PieriJacobiTrudi.lean. See npartitionEquiv_eq_equivShared_symm for the relationship.

      Equations
      Instances For

        The equivalence npartitionEquiv is the symmetric of NPartition.equivShared from PieriJacobiTrudi.lean. This means code can use either:

        • npartitionEquiv lam to go from shared → local
        • lam.toShared to go from local → shared

        SSYT Conversions #

        The main equivalence between the two SSYT definitions.

        theorem SSYTEquiv.sf_ssyt_col_strict_nonadjacent {N : } {lam : SymmetricFunctions.NPartition N} (T : SymmetricFunctions.SSYT lam) {i₁ i₂ : Fin N} {j : } (hj₁ : j < lam.parts i₁) (hj₂ : j < lam.parts i₂) (hi : i₁ < i₂) :
        T.entries i₁ j, hj₁ < T.entries i₂ j, hj₂

        Helper lemma: column-strict property extends to non-adjacent rows for SF SSYT. If j is in rows i₁ and i₂ with i₁ < i₂, then T.entries i₁ j < T.entries i₂ j.

        Convert from SymmetricFunctions.SSYT to SchurBasics.SSYT.

        The key insight is that the dependent type (j : Fin (lam.parts i)) in the SF definition corresponds to cells (i, j) where j < lam.parts i, which is exactly the membership condition for the Young diagram in SchurBasics.

        Equations
        Instances For

          Convert from SchurBasics.SSYT to SymmetricFunctions.SSYT.

          This requires extracting the entries at valid positions from the total function.

          Equations
          Instances For

            Two SSYTs in the SymmetricFunctions namespace are equal if their entries are equal.

            The conversions are inverses (direction 1).

            The conversions are inverses (direction 2).

            The equivalence between the two SSYT types.

            Equations
            Instances For

              Skew SSYT Conversions #

              Similar conversions for skew semistandard Young tableaux.

              Convert a SymmetricFunctions.SkewPartition to a SchurBasics-style skew partition (as a pair of NPartitions).

              Equations
              Instances For

                The outer partition contains the inner partition after conversion.

                Convert from SymmetricFunctions.SkewSSYT to SchurBasics.SkewSSYT.

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

                  Schur Polynomial Equivalences #

                  The following theorems establish that the different Schur polynomial definitions are equivalent.

                  Summary of definitions:

                  The key insight is that both definitions sum over the same mathematical objects (SSYT), just represented differently. The ssytEquiv equivalence provides the bijection on tableaux, and we show that monomials are preserved under this bijection.

                  The monomial associated to a SymmetricFunctions.SSYT equals the monomial of the corresponding SchurBasics.SSYT (as a product over cells).

                  This is the key lemma for proving Schur polynomial equivalence. The proof shows that the product over cells is preserved by the bijection.

                  Convert a SymmetricFunctions.SSYT to a Filling for SchurBasics.schurPoly.

                  Equations
                  Instances For

                    Convert a Filling (satisfying SSYT conditions) to a SymmetricFunctions.SSYT.

                    Equations
                    Instances For

                      The conversion from SF SSYT to Filling satisfies the SSYT condition.

                      The conversions are inverses (SF SSYT → Filling → SF SSYT).

                      The conversions are inverses (Filling → SF SSYT → Filling).

                      The monomial of an SF SSYT equals the monomial of the corresponding Filling.

                      The Schur polynomial from PieriJacobiTrudi equals the Schur polynomial from SchurBasics when specialized to coefficient ring ℤ.

                      This theorem establishes that SymmetricFunctions.schur lam (over ℤ) equals schurPoly (sfNPartition_to_SchurBasics lam).

                      Note: This theorem requires [NeZero N] because schurPoly requires it. For the generic ring version, see schur_eq_schurPoly_map.

                      Corollary: The two Schur polynomial definitions are equal up to NPartition conversion.

                      This is the main user-facing theorem for composing results from different files.