Documentation

CompPoly.Multivariate.MvPolyEquiv.Instances

CMvPolynomial/MvPolynomial Instances #

Compatibility lemmas used to transport algebraic structure across the conversion.

@[simp]
@[simp]
theorem CPoly.map_zero {n : } {R : Type u_1} [CommSemiring R] [BEq R] [LawfulBEq R] :
@[simp]
theorem CPoly.map_one {n : } {R : Type u_1} [CommSemiring R] [BEq R] [LawfulBEq R] :
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
theorem CPoly.toList_pairs_monomial_coeff {n : } {R : Type u_1} [CommSemiring R] {β : Type u_2} [AddCommMonoid β] {t : Unlawful n R} {f : CMvMonomial nRβ} :
List.map (fun (term : CMvMonomial n × R) => f term.1 term.2) (Std.ExtTreeMap.toList t) = List.map (fun (m : CMvMonomial n) => f m (Unlawful.coeff m t)) t.monomials
theorem CPoly.foldl_eq_sum {n : } {R : Type u_1} [CommSemiring R] {β : Type u_2} [AddCommMonoid β] {t : CMvPolynomial n R} {f : CMvMonomial nRβ} :
Std.ExtTreeMap.foldl (fun (x : β) (m : CMvMonomial n) (c : R) => f m c + x) 0 t = (fromCMvPolynomial t).coeff.sum (f CMvMonomial.ofFinsupp)
theorem CPoly.coeff_sum {n : } {R : Type u_1} [CommSemiring R] [BEq R] [LawfulBEq R] {α : Type u_2} [AddCommMonoid α] (s : Finset α) (f : αCMvPolynomial n R) (m : CMvMonomial n) :
CMvPolynomial.coeff m (∑ xs, f x) = xs, CMvPolynomial.coeff m (f x)
@[simp]
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
@[simp]
theorem CPoly.map_neg {n : } {R : Type u_2} [CommRing R] [BEq R] [LawfulBEq R] (a : CMvPolynomial n R) :
@[instance_reducible]
noncomputable def CPoly.polyRingEquiv {n : } {R : Type u_1} [CommSemiring R] [BEq R] [LawfulBEq R] :
Instances For

    The underlying function of polyRingEquiv is the computable fromCMvPolynomial.

    Ring equivalence between CMvPolynomial 0 R and R.

    Instances For
      @[instance_reducible]
      instance CPoly.CMvPolynomial.instSMul {n : } {R : Type u_1} [CommSemiring R] [BEq R] [LawfulBEq R] :
      @[instance_reducible]
      @[simp]
      theorem CPoly.CMvPolynomial.smul_def {n : } {R : Type u_1} [CommSemiring R] [BEq R] [LawfulBEq R] (r : R) (p : CMvPolynomial n R) :
      r p = C r * p

      CMvPolynomial.C bundled as a ring homomorphism. Computable.

      Instances For
        @[simp]
        theorem CPoly.CMvPolynomial.CHom_apply {n : } {R : Type u_1} [CommSemiring R] [BEq R] [LawfulBEq R] (c : R) :
        CHom c = C c
        theorem CPoly.CMvPolynomial.fromCMvPolynomial_sum {n : } {R : Type u_1} [CommSemiring R] [BEq R] [LawfulBEq R] {ι : Type u_2} (s : Finset ι) (f : ιCMvPolynomial n R) :
        fromCMvPolynomial (∑ is, f i) = is, fromCMvPolynomial (f i)

        fromCMvPolynomial commutes with a finite sum.

        theorem CPoly.CMvPolynomial.fromCMvPolynomial_prod {n : } {R : Type u_1} [CommSemiring R] [BEq R] [LawfulBEq R] {ι : Type u_2} (s : Finset ι) (f : ιCMvPolynomial n R) :
        fromCMvPolynomial (∏ is, f i) = is, fromCMvPolynomial (f i)

        fromCMvPolynomial commutes with a finite product.

        @[instance_reducible]
        noncomputable instance CPoly.CMvPolynomial.instAlgebra {n : } {R : Type u_1} [CommSemiring R] [BEq R] [LawfulBEq R] :