Documentation

Atlas.AlgebraicCombinatorics.code.QBinomial

q-Binomial coefficients and Theorem 6.6 #

Main results #

References #

noncomputable def QBinomial.qNumber (n : ) :

The q-analogue of a natural number: [n]_q = 1 + q + q² + ⋯ + q^{n-1}.

Instances For
    noncomputable def QBinomial.qFactorial :

    The q-factorial: [n]!_q = [1]_q · [2]_q · ⋯ · [n]_q.

    Instances For
      noncomputable def QBinomial.qBinom :

      The q-binomial coefficient [k choose j]_q, defined recursively via the Pascal recurrence.

      Instances For
        @[simp]
        theorem QBinomial.qBinom_zero_succ (j : ) :
        qBinom 0 (j + 1) = 0
        @[simp]
        theorem QBinomial.qBinom_succ_zero (k : ) :
        qBinom (k + 1) 0 = 1
        @[simp]
        theorem QBinomial.qBinom_succ_succ_of_le (k j : ) (h : j k) :
        qBinom (k + 1) (j + 1) = qBinom k (j + 1) + Polynomial.X ^ (k - j) * qBinom k j
        theorem QBinomial.qBinom_succ_succ_of_gt (k j : ) (h : k < j) :
        qBinom (k + 1) (j + 1) = 0
        theorem QBinomial.qBinom_eq_zero_of_lt {k j : } (h : k < j) :
        qBinom k j = 0
        @[simp]
        theorem QBinomial.qBinom_self (k : ) :
        qBinom k k = 1
        theorem QBinomial.qBinom_pascal (k j : ) (hk : 1 k) (hj : 1 j) (hjk : j k) :
        qBinom k j = qBinom (k - 1) j + Polynomial.X ^ (k - j) * qBinom (k - 1) (j - 1)

        Lemma 6.5 (q-binomial Pascal recurrence).

        theorem QBinomial.qBinom_eq_zero_of_gt {k j : } (h : j > k) :
        qBinom k j = 0

        Rank-generating polynomial and Theorem 6.6 #

        noncomputable def QBinomial.rankGenPoly (m n : ) :

        The rank-generating polynomial of L(m,n): F(L(m,n)) = ∑_{λ ∈ L(m,n)} q^{|λ|} where |λ| is the sum of parts.

        Instances For
          theorem QBinomial.rankGenPoly_succ_succ (m n : ) :
          rankGenPoly (m + 1) (n + 1) = rankGenPoly (m + 1) n + Polynomial.X ^ (n + 1) * rankGenPoly m (n + 1)

          The rank-generating polynomial recurrence from the first-part decomposition.

          theorem QBinomial.qBinom_recurrence (m n : ) :
          qBinom (m + 1 + (n + 1)) (m + 1) = qBinom (m + 1 + n) (m + 1) + Polynomial.X ^ (n + 1) * qBinom (m + (n + 1)) m

          Theorem 6.6. The rank-generating polynomial of L(m,n) equals [m+n choose m]_q.