Documentation

Atlas.AlgebraicCombinatorics.code.YoungLattice

Definition of L(m,n) #

Lmn m n is the poset of partitions fitting in an m × n rectangle, modeled as antitone functions Fin m → Fin (n+1). The value f(i) represents the i-th part of the partition (weakly decreasing).

Instances For

    Basic instances #

    @[implicit_reducible]
    @[implicit_reducible]
    noncomputable instance YoungLattice.Lmn.instDecidableEq (m n : ) :
    @[implicit_reducible]
    noncomputable instance YoungLattice.Lmn.instFintype (m n : ) :
    Fintype (Lmn m n)
    theorem YoungLattice.Lmn.ext {m n : } {p q : Lmn m n} (h : ∀ (i : Fin m), p i = q i) :
    p = q
    theorem YoungLattice.Lmn.ext_iff {m n : } {p q : Lmn m n} :
    p = q ∀ (i : Fin m), p i = q i

    Sum of parts (rank function) #

    def YoungLattice.Lmn.sumParts {m n : } (p : Lmn m n) :

    The rank of a partition is the sum of its parts.

    Instances For

      Zero and top elements #

      def YoungLattice.Lmn.zero (m n : ) :
      Lmn m n

      The zero partition (all parts 0).

      Instances For
        def YoungLattice.Lmn.top (m n : ) :
        Lmn m n

        The maximal partition (all parts equal to n).

        Instances For
          theorem YoungLattice.Lmn.zero_le {m n : } (p : Lmn m n) :
          zero m n p
          theorem YoungLattice.Lmn.le_top {m n : } (p : Lmn m n) :
          p top m n

          IsMin characterization #

          theorem YoungLattice.Lmn.isMin_iff {m n : } {p : Lmn m n} :
          IsMin p p = zero m n

          Strict monotonicity of sumParts #

          CovBy property #

          theorem YoungLattice.Lmn.exists_between {m n : } {p q : Lmn m n} (hle : ∀ (i : Fin m), p i q i) (hne : p q) (hge2 : q.sumParts p.sumParts + 2) :
          ∃ (r : Lmn m n), p r r < q p r

          If p < q in Lmn with sum difference ≥ 2, there exists an intermediate element.

          theorem YoungLattice.Lmn.covBy_sumParts {m n : } {p q : Lmn m n} (h : p q) :

          If p ⋖ q in Lmn, then sumParts p ⋖ sumParts q in ℕ.

          theorem YoungLattice.Lmn.isMin_sumParts {m n : } {p : Lmn m n} (h : IsMin p) :

          Minimal elements have sumParts = 0.

          GradeOrder and GradeMinOrder instances #

          @[implicit_reducible]
          @[implicit_reducible]
          theorem YoungLattice.Lmn.grade_eq {m n : } (p : Lmn m n) :

          Complement operation #

          def YoungLattice.Lmn.complement {m n : } (p : Lmn m n) :
          Lmn m n

          The complement of a partition λ in the m×n rectangle: rotate the complement of λ's Young diagram by 180°. In coordinates: λ̃_i = n - λ_{m+1-i}.

          Instances For

            Complementing twice gives back the original partition.

            Sum of parts of complement + sum of parts = m * n.

            The grade of the complement equals m*n minus the grade.

            GradedPoset instance #

            theorem YoungLattice.Lmn.grade_le_mul {m n : } (p : Lmn m n) :
            grade p m * n
            @[implicit_reducible]

            Rank-symmetry #

            L(m,n) is rank-symmetric: the complement operation gives a bijection between elements of rank i and elements of rank mn - i.

            Rank-unimodality (Corollary 6.10) #

            L(m,n) is rank-unimodal. The proof is in YoungLatticeSperner.lean, which can import both QuotientIsoLmn and GroupActions without circular dependencies. See YoungLattice.Lmn.Lmn_isRankUnimodal.

            Sperner property (Corollary 6.10) #

            L(m,n) has the Sperner property. The proof is in YoungLatticeSperner.lean, which can import both QuotientIsoLmn and GroupActions without circular dependencies. See YoungLattice.Lmn.hasSpernerProperty.