Documentation

LeanPool.LatinQuarter.Tags

Square-free polynomial coefficients #

noncomputable def LatinQuarter.repeatedTagIdeal (κ : Type u_1) :

The discarded monomials: those divisible by the square of a tag.

Equations
Instances For
    theorem LatinQuarter.squarefree_coeff_zero_of_mem {κ : Type u_1} {p : MvPolynomial κ (ZMod 2)} (hp : p ∈ repeatedTagIdeal κ) {d : κ →₀ ℕ} (hd : ∀ (j : κ), d j ≤ 1) :
    p.coeff d = 0

    Discarding repeated tags cannot affect any square-free coefficient.

    @[reducible, inline]
    abbrev LatinQuarter.TagRing (κ : Type u_1) :
    Type u_1

    Polynomials modulo two, with the square of every tag set to zero.

    Equations
    Instances For
      noncomputable def LatinQuarter.tag {κ : Type u_1} (j : κ) :

      The image of a polynomial variable in the square-zero bookkeeping quotient.

      Equations
      Instances For
        @[simp]
        theorem LatinQuarter.tag_sq {κ : Type u_1} (j : κ) :
        tag j * tag j = 0
        theorem LatinQuarter.squarefree_coeff_zero_of_quotient_zero {κ : Type u_1} {p : MvPolynomial κ (ZMod 2)} (hp : (Ideal.Quotient.mk (repeatedTagIdeal κ)) p = 0) {d : κ →₀ ℕ} (hd : ∀ (j : κ), d j ≤ 1) :
        p.coeff d = 0

        A zero polynomial in the bookkeeping ring has zero square-free coefficients in the original polynomial ring.

        theorem LatinQuarter.coeff_prod_add_constants {ι : Type u_1} {κ : Type u_2} [Fintype ι] (f : ι → κ) (a : ι → ZMod 2) (d : κ →₀ ℕ) (hd : ∑ j ∈ d.support, d j = Fintype.card ι) :
        (∏ i : ι, (MvPolynomial.X (f i) + MvPolynomial.C (a i))).coeff d = (∏ i : ι, MvPolynomial.X (f i)).coeff d

        Adding constants to m individual tags does not change a coefficient of total degree m. This also allows zero constants.

        noncomputable def LatinQuarter.allTagsExponent (κ : Type u_1) [Fintype κ] :

        The exponent vector for the product of all tags, once each.

        Equations
        Instances For
          @[simp]
          theorem LatinQuarter.allTagsExponent_apply {κ : Type u_1} [Fintype κ] (j : κ) :