Semistandard Young tableaux #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
A semistandard Young tableau is a filling of a Young diagram by natural numbers, such that
the entries are weakly increasing left-to-right along rows (i.e. for fixed i
), and
strictly-increasing top-to-bottom along columns (i.e. for fixed j
).
An example of an SSYT of shape μ = [4, 2, 1]
is:
0 0 0 2
1 1
2
We represent an SSYT as a function ℕ → ℕ → ℕ
, which is required to be zero for all pairs
(i, j) ∉ μ
and to satisfy the row-weak and column-strict conditions on μ
.
Main definitions #
ssyt (μ : young_diagram)
: semistandard Young tableaux of shapeμ
. There is ahas_coe_to_fun
instance such thatT i j
is value of the(i, j)
entry of the SSYTT
.ssyt.highest_weight (μ : young_diagram)
: the semistandard Young tableau whosei
th row consists entirely ofi
s, for eachi
.
Tags #
Semistandard Young tableau
References #
- entry : ℕ → ℕ → ℕ
- row_weak' : ∀ {i j1 j2 : ℕ}, j1 < j2 → (i, j2) ∈ μ → self.entry i j1 ≤ self.entry i j2
- col_strict' : ∀ {i1 i2 j : ℕ}, i1 < i2 → (i2, j) ∈ μ → self.entry i1 j < self.entry i2 j
- zeros' : ∀ {i j : ℕ}, (i, j) ∉ μ → self.entry i j = 0
A semistandard Young tableau (SSYT) is a filling of the cells of a Young diagram by natural numbers, such that the entries in each row are weakly increasing (left to right), and the entries in each column are strictly increasing (top to bottom).
Here, an SSYT is represented as an unrestricted function ℕ → ℕ → ℕ
that, for reasons
of extensionality, is required to vanish outside μ
.
Instances for ssyt
- ssyt.has_sizeof_inst
- ssyt.fun_like
- ssyt.has_coe_to_fun
- ssyt.inhabited
Equations
- ssyt.fun_like = {coe := ssyt.entry μ, coe_injective' := _}
Helper instance for when there's too many metavariables to apply
fun_like.has_coe_to_fun
directly.
Equations
Copy of an ssyt μ
with a new entry
equal to the old one. Useful to fix definitional
equalities.
The "highest weight" SSYT of a given shape is has all i's in row i, for each i.
Equations
- ssyt.highest_weight μ = {entry := λ (i j : ℕ), ite ((i, j) ∈ μ) i 0, row_weak' := _, col_strict' := _, zeros' := _}