Documentation

LeanPool.Biswal.Theorem23

Combinatorial coefficient formulas and nonnegativity (Theorems 2 and 3) #

This file formalizes Theorems 2 and 3 of the Chebyshev-quotient / Demazure-multiplicity paper: explicit Cauchy-product and matrix-inverse formulas for the generating-function coefficients and their nonnegativity via a Dyck-path counting model.

Definition 1: Chebyshev-type polynomials #

noncomputable def Biswal.Theorem23.polyP (R : Type u_1) [CommRing R] :

The Chebyshev-type polynomial sequence P n over a commutative ring, defined by P 0 = P 1 = 1 and P (n + 2) = P (n + 1) - X * P n.

Equations
Instances For
    theorem Biswal.Theorem23.polyP_succ_succ (R : Type u_1) [CommRing R] (n : ) :
    polyP R (n + 2) = polyP R (n + 1) - Polynomial.X * polyP R n

    Definition 2: Partition polynomial #

    noncomputable def Biswal.Theorem23.partitionPoly (R : Type u_1) [CommRing R] {s : } (ξ : s.Partition) :

    The partition polynomial of ξ: the product of polyP R over the parts of ξ.

    Equations
    Instances For

      Definition 3: Generating function #

      noncomputable def Biswal.Theorem23.genFun (K : Type u_1) [Field K] (m μ : ) {s : } (ξ : s.Partition) :

      The generating function attached to ξ with parameters m and μ, as a power series.

      Equations
      Instances For
        noncomputable def Biswal.Theorem23.genFunCoeff (K : Type u_1) [Field K] (m μ r : ) {s : } (ξ : s.Partition) :
        K

        The r-th coefficient of the generating function genFun K m μ ξ.

        Equations
        Instances For

          Definition 4: Count of maximal parts #

          The number of parts of ξ equal to m.

          Equations
          Instances For

            Definition 5: Reduced parameters #

            The multiset of parts of ξ strictly less than m.

            Equations
            Instances For
              noncomputable def Biswal.Theorem23.nonMaxPartsPoly (K : Type u_1) [CommRing K] (m : ) {s : } (ξ : s.Partition) :

              The product of polyP K over the parts of ξ strictly less than m.

              Equations
              Instances For

                The multiset of reduced indices m - μ % m - 1 prepended to the non-maximal parts of ξ.

                Equations
                Instances For
                  def Biswal.Theorem23.reducedK (m μ : ) {s : } (ξ : s.Partition) :

                  The reduced exponent μ / m + 1 - countMaxParts m ξ.

                  Equations
                  Instances For
                    def Biswal.Theorem23.alphaCount (m μ : ) {s : } (ξ : s.Partition) :

                    The number of entries in alphaMultiset m μ ξ.

                    Equations
                    Instances For
                      noncomputable def Biswal.Theorem23.alphaProd (K : Type u_1) [CommRing K] (m μ : ) {s : } (ξ : s.Partition) :

                      The product of polyP K over the entries of alphaMultiset m μ ξ.

                      Equations
                      Instances For
                        noncomputable def Biswal.Theorem23.alphaValues (m μ : ) {s : } (ξ : s.Partition) :

                        The entries of alphaMultiset m μ ξ as a list.

                        Equations
                        Instances For

                          Basic properties of polyP #

                          Definition 6: Coefficients of 1/p_m(x) #

                          noncomputable def Biswal.Theorem23.bCoeff (K : Type u_1) [Field K] (m u : ) :
                          K

                          The u-th coefficient of the power-series inverse 1 / polyP K m.

                          Equations
                          Instances For

                            Definition 7: Coefficients of p_a · p_b / p_m #

                            noncomputable def Biswal.Theorem23.dCoeff (K : Type u_1) [Field K] (m a b u : ) :
                            K

                            The u-th coefficient of the power series polyP K a * polyP K b / polyP K m.

                            Equations
                            Instances For

                              Reduced form of the generating function #

                              theorem Biswal.Theorem23.partitionPoly_eq_pow_mul_nonMax (K : Type u_1) [CommRing K] (m : ) {s : } (ξ : s.Partition) (h_parts : iξ.parts, i m) :
                              theorem Biswal.Theorem23.alphaProd_eq_mul_nonMax (K : Type u_1) [CommRing K] (m μ : ) {s : } (ξ : s.Partition) :
                              alphaProd K m μ ξ = polyP K (m - μ % m - 1) * nonMaxPartsPoly K m ξ
                              theorem Biswal.Theorem23.ps_inv_pow_eq (K : Type u_1) [Field K] (φ : PowerSeries K) (k : ) :
                              (φ ^ k)⁻¹ = φ⁻¹ ^ k
                              theorem Biswal.Theorem23.pow_mul_pow_inv_cancel (K : Type u_1) [Field K] (P : PowerSeries K) (t e : ) (hte : t e) (hP : PowerSeries.constantCoeff P 0) :
                              P ^ t * (P ^ e)⁻¹ = (P ^ (e - t))⁻¹
                              theorem Biswal.Theorem23.genFun_eq_reduced (K : Type u_1) [Field K] (m μ : ) {s : } (ξ : s.Partition) (_hm : 2 m) (h_parts : iξ.parts, i m) (hk : countMaxParts m ξ μ / m + 1) :
                              genFun K m μ ξ = (alphaProd K m μ ξ) * ((polyP K m) ^ reducedK m μ ξ)⁻¹

                              Coefficient formula for polyP #

                              theorem Biswal.Theorem23.polyP_coeff (R : Type u_1) [CommRing R] (n j : ) :
                              (polyP R n).coeff j = (-1) ^ j * ((n - j).choose j)
                              theorem Biswal.Theorem23.D_coeff_mk (K : Type u_1) [Field K] (m a b : ) :
                              ↑(polyP K a * polyP K b) * (↑(polyP K m))⁻¹ = PowerSeries.mk (dCoeff K m a b)

                              Theorem 2: Cauchy product form #

                              theorem Biswal.Theorem23.thm_comb_cauchy (K : Type u_1) [Field K] (m μ : ) {s : } (ξ : s.Partition) (hm : 2 m) (h_parts : iξ.parts, i m) (hk : countMaxParts m ξ μ / m + 1) (r : ) :
                              genFunCoeff K m μ r ξ = (PowerSeries.coeff r) ((alphaProd K m μ ξ) * (↑(polyP K m))⁻¹ ^ reducedK m μ ξ)

                              Theorem 2: Explicit summation formula #

                              theorem Biswal.Theorem23.cauchy_product_as_fin_prod (m μ : ) {s : } (ξ : s.Partition) (r : ) :
                              have αs := alphaValues m μ ξ; have L1 := αs.length; have k := reducedK m μ ξ; (PowerSeries.coeff r) ((alphaProd m μ ξ) * (↑(polyP m))⁻¹ ^ k) = fFinset.Nat.antidiagonalTuple (L1 + k) r, (∏ i : Fin L1, (-1) ^ f (Fin.castAdd k i) * ((αs.getD (↑i) 0 - f (Fin.castAdd k i)).choose (f (Fin.castAdd k i)))) * ν : Fin k, bCoeff m (f (Fin.natAdd L1 ν))
                              theorem Biswal.Theorem23.thm_comb (m μ : ) {s : } (ξ : s.Partition) (hm : 2 m) (h_parts : iξ.parts, i m) (hk : countMaxParts m ξ μ / m + 1) (r : ) :
                              have αs := alphaValues m μ ξ; have L1 := αs.length; have k := reducedK m μ ξ; genFunCoeff m μ r ξ = fFinset.Nat.antidiagonalTuple (L1 + k) r, (∏ i : Fin L1, (-1) ^ f (Fin.castAdd k i) * ((αs.getD (↑i) 0 - f (Fin.castAdd k i)).choose (f (Fin.castAdd k i)))) * ν : Fin k, bCoeff m (f (Fin.natAdd L1 ν))

                              Theorem 3: Part (i) - Factorization #

                              theorem Biswal.Theorem23.coe_prod_mul_inv_pow_eq_prod (m k : ) (pairs : Fin k × ) :
                              (∏ ν : Fin k, polyP (pairs ν).1 * polyP (pairs ν).2) * (↑(polyP m))⁻¹ ^ k = ν : Fin k, ↑(polyP (pairs ν).1 * polyP (pairs ν).2) * (↑(polyP m))⁻¹
                              theorem Biswal.Theorem23.thm_manifest_factorization (m μ : ) {s : } (ξ : s.Partition) (hm : 2 m) (h_parts : iξ.parts, i m) (hk_nonneg : countMaxParts m ξ μ / m + 1) (k : ) (hk_eq : k = reducedK m μ ξ) (pairs : Fin k × ) (h_bound : ∀ (ν : Fin k), (pairs ν).1 m - 1 (pairs ν).2 m - 1 (pairs ν).1 + (pairs ν).2 m - 1) (h_factor : alphaProd m μ ξ = ν : Fin k, polyP (pairs ν).1 * polyP (pairs ν).2) :
                              genFun m μ ξ = ν : Fin k, PowerSeries.mk (dCoeff m (pairs ν).1 (pairs ν).2)

                              Theorem 3: Part (i), coefficient form #

                              theorem Biswal.Theorem23.coeff_prod_mk_eq_sum_antidiag (k r : ) (g : Fin k) :
                              (PowerSeries.coeff r) (∏ ν : Fin k, PowerSeries.mk (g ν)) = fFinset.Nat.antidiagonalTuple k r, ν : Fin k, g ν (f ν)
                              theorem Biswal.Theorem23.thm_manifest_coeff_formula (m μ : ) {s : } (ξ : s.Partition) (hm : 2 m) (h_parts : iξ.parts, i m) (hk_nonneg : countMaxParts m ξ μ / m + 1) (k : ) (hk_eq : k = reducedK m μ ξ) (pairs : Fin k × ) (h_bound : ∀ (ν : Fin k), (pairs ν).1 m - 1 (pairs ν).2 m - 1 (pairs ν).1 + (pairs ν).2 m - 1) (h_factor : alphaProd m μ ξ = ν : Fin k, polyP (pairs ν).1 * polyP (pairs ν).2) (r : ) :
                              genFunCoeff m μ r ξ = fFinset.Nat.antidiagonalTuple k r, ν : Fin k, dCoeff m (pairs ν).1 (pairs ν).2 (f ν)

                              Theorem 3: Part (ii) - Nonnegativity of dCoeff #

                              theorem Biswal.Theorem23.sum_int_cast_of_each_int {ι : Type u_1} (s : Finset ι) (f : ι) (hf : is, ∃ (z : ), f i = z) :
                              ∃ (z : ), is, f i = z
                              theorem Biswal.Theorem23.int_coeff_mul_int_coeff (α β : PowerSeries ) ( : ∀ (n : ), ∃ (z : ), (PowerSeries.coeff n) α = z) ( : ∀ (n : ), ∃ (z : ), (PowerSeries.coeff n) β = z) (u : ) :
                              ∃ (z : ), (PowerSeries.coeff u) (α * β) = z
                              theorem Biswal.Theorem23.D_coeff_is_int (m a b u : ) :
                              ∃ (z : ), dCoeff m a b u = z

                              Transfer matrix decomposition (Steps 2-7 of the proof) #

                              noncomputable def Biswal.Theorem23.stripMatrix (m : ) :

                              The tridiagonal transfer matrix with 1 on the diagonal, -1 on the superdiagonal, and -X on the subdiagonal, whose inverse encodes the path counts.

                              Equations
                              Instances For

                                Helper lemmas for stripMatrix_det #

                                Helper lemmas for stripMatrix_inv_entry (minor det and adjugate) #

                                theorem Biswal.Theorem23.stripMatrix_inv_entry (m : ) (hm : 2 m) (a j : Fin m) (haj : a j) :
                                (stripMatrix m)⁻¹ a j = ↑(polyP a * polyP (m - 1 - j)) * (↑(polyP m))⁻¹
                                theorem Biswal.Theorem23.D_coeff_eq_matrix_inv_coeff (m a b u : ) (hm : 2 m) (ha : a m - 1) (hb : b m - 1) (hab : a + b m - 1) :
                                dCoeff m a b u = (PowerSeries.coeff u) ((stripMatrix m)⁻¹ a, m - 1 - b, )

                                Helper lemmas for stripMatrix_inv_coeff_nonneg (lattice path) #

                                @[irreducible]
                                noncomputable def Biswal.Theorem23.pathCount (m : ) (target i : Fin m) (u : ) :

                                The number of length-u lattice paths in the Dyck-path model from row i that reach target, used to express the nonnegative coefficients of the matrix inverse.

                                Equations
                                Instances For
                                  noncomputable def Biswal.Theorem23.pathCountVec (m : ) (target i : Fin m) :

                                  The generating power series whose u-th coefficient is pathCount m target i u.

                                  Equations
                                  Instances For
                                    theorem Biswal.Theorem23.stripMatrix_inv_coeff_nonneg (m : ) (_hm : 2 m) (a j : Fin m) (_haj : a j) (u : ) :

                                    Main theorem #

                                    theorem Biswal.Theorem23.thm_manifest_D_nonneg (m a b u : ) (hm : 2 m) (ha : a m - 1) (hb : b m - 1) (hab : a + b m - 1) :
                                    0 dCoeff m a b u
                                    theorem Biswal.Theorem23.D_coeff_eq_nat_cast (m a b u : ) (hm : 2 m) (ha : a m - 1) (hb : b m - 1) (hab : a + b m - 1) :
                                    ∃ (w : ), dCoeff m a b u = w

                                    Theorem 3: Part (iii) - Nonnegativity of all coefficients #

                                    theorem Biswal.Theorem23.thm_manifest_coeff_nonneg (m μ : ) {s : } (ξ : s.Partition) (hm : 2 m) (h_parts : iξ.parts, i m) (hk_nonneg : countMaxParts m ξ μ / m + 1) (k : ) (hk_eq : k = reducedK m μ ξ) (pairs : Fin k × ) (h_bound : ∀ (ν : Fin k), (pairs ν).1 m - 1 (pairs ν).2 m - 1 (pairs ν).1 + (pairs ν).2 m - 1) (h_factor : alphaProd m μ ξ = ν : Fin k, polyP (pairs ν).1 * polyP (pairs ν).2) (r : ) :
                                    0 genFunCoeff m μ r ξ