Documentation

TauCeti.Combinatorics.Young.StandardTableau.Rows

Standard tableaux as lists of rows #

StandardYoungTableau.toRows lists the entries of a standard tableau from left to right in each row, with the rows ordered from top to bottom. These rows satisfy List.IsTableauRows, have the prescribed shape, and contain every label exactly once. Conversely, these three properties characterize the lists arising from standard tableaux, giving StandardYoungTableau.rowsEquiv.

This connects bijective cell labelings with the list representation used by Schensted insertion. In particular, an insertion tableau containing each label once can be read as a standard tableau without changing its entries or its shape. Empty shapes are included.

References #

The rows of a standard tableau, listed from top to bottom and left to right.

Instances For
    theorem TauCeti.StandardYoungTableau.toRows_def {μ : YoungDiagram} (T : StandardYoungTableau μ) :
    T.toRows = List.ofFn fun (i : Fin (μ.colLen 0)) => List.ofFn fun (j : Fin (μ.rowLen ↑i)) => T ⟨(↑i, ↑j), ⋯⟩

    The row representation enumerates each row in increasing column order.

    @[simp]

    The number of rows is the height of the first column.

    @[simp]

    The row lengths of a standard tableau agree with its shape.

    @[simp]
    theorem TauCeti.StandardYoungTableau.getElem_toRows {μ : YoungDiagram} (T : StandardYoungTableau μ) (i : ℕ) (hi : i < T.toRows.length) :
    T.toRows[i] = List.ofFn fun (j : Fin (μ.rowLen i)) => T ⟨(i, ↑j), ⋯⟩

    Reading a row in its natural column order recovers its entries.

    @[simp]

    Reading a row beyond the shape gives length zero; otherwise it has the shape's row length.

    @[simp]

    Looking up the coordinates of a cell in the row representation recovers its label.

    A standard tableau's row representation is a semistandard tableau.

    The rows contain each label exactly once.

    @[simp]

    The first row of the row representation containing a label is the row of that label.

    The row representation determines a standard tableau.

    Decoding a list of rows #

    A list of rows comes from a standard tableau exactly when it is a semistandard tableau of the given shape containing each label exactly once.

    Standard tableaux of shape μ correspond to semistandard lists of rows of that shape containing every label exactly once.

    Instances For
      @[simp]

      The forward row equivalence lists the entries of the tableau by rows.

      @[simp]

      Decoding a valid row list and reading it back recovers that list.

      @[simp]
      theorem TauCeti.StandardYoungTableau.rowsEquiv_symm_apply {μ : YoungDiagram} (rows : { rows : List (List (Fin μ.card)) // rows.IsTableauRows ∧ List.map List.length rows = μ.rowLens ∧ rows.flatten.Perm (List.finRange μ.card) }) (c : ↥μ.cells) :
      ((rowsEquiv μ).symm rows) c = (↑rows)[(↑c).1][(↑c).2]

      The tableau decoded from a valid row list labels each cell by the entry in its row and column.