Documentation

Init.Grind.Ring.CommSemiringAdapter

def Lean.Grind.CommRing.Expr.denoteS {α : Type u_1} [Semiring α] (ctx : Context α) :
Exprα
Equations
    Instances For
      Equations
        Instances For
          theorem Lean.Grind.CommRing.Expr.denoteAsRing_eq {α : Type u_1} [Semiring α] (ctx : Context α) (e : Expr) :
          denoteSAsRing ctx e = (denoteS ctx e)
          Equations
            Instances For
              Equations
                Instances For
                  Instances For
                    def Lean.Grind.CommRing.denoteSInt {α : Type u_1} [Semiring α] (k : Int) :
                    α
                    Equations
                      Instances For
                        def Lean.Grind.CommRing.Poly.denoteS {α : Type u_1} [Semiring α] (ctx : Context α) (p : Poly) :
                        α
                        Equations
                          Instances For
                            theorem Lean.Grind.CommRing.Poly.denoteS_ofMon {α : Type u_1} [Semiring α] (ctx : Context α) (m : Mon) :
                            denoteS ctx (ofMon m) = Mon.denote ctx m
                            theorem Lean.Grind.CommRing.Poly.denoteS_ofVar {α : Type u_1} [Semiring α] (ctx : Context α) (x : Var) :
                            denoteS ctx (ofVar x) = Var.denote ctx x
                            theorem Lean.Grind.CommRing.Poly.denoteS_addConst {α : Type u_1} [Semiring α] (ctx : Context α) (p : Poly) (k : Int) :
                            k 0p.NonnegCoeffsdenoteS ctx (p.addConst k) = denoteS ctx p + k.toNat
                            theorem Lean.Grind.CommRing.Poly.denoteS_insert {α : Type u_1} [Semiring α] (ctx : Context α) (k : Int) (m : Mon) (p : Poly) :
                            k 0p.NonnegCoeffsdenoteS ctx (insert k m p) = k.toNat * Mon.denote ctx m + denoteS ctx p
                            theorem Lean.Grind.CommRing.Poly.denoteS_concat {α : Type u_1} [Semiring α] (ctx : Context α) (p₁ p₂ : Poly) :
                            p₁.NonnegCoeffsp₂.NonnegCoeffsdenoteS ctx (p₁.concat p₂) = denoteS ctx p₁ + denoteS ctx p₂
                            theorem Lean.Grind.CommRing.Poly.denoteS_mulConst {α : Type u_1} [Semiring α] (ctx : Context α) (k : Int) (p : Poly) :
                            k 0p.NonnegCoeffsdenoteS ctx (mulConst k p) = k.toNat * denoteS ctx p
                            theorem Lean.Grind.CommRing.Poly.denoteS_combine {α : Type u_1} [Semiring α] (ctx : Context α) (p₁ p₂ : Poly) :
                            p₁.NonnegCoeffsp₂.NonnegCoeffsdenoteS ctx (p₁.combine p₂) = denoteS ctx p₁ + denoteS ctx p₂
                            theorem Lean.Grind.CommRing.Poly.denoteS_mulMon {α : Type u_1} [CommSemiring α] (ctx : Context α) (k : Int) (m : Mon) (p : Poly) :
                            k 0p.NonnegCoeffsdenoteS ctx (mulMon k m p) = k.toNat * Mon.denote ctx m * denoteS ctx p
                            theorem Lean.Grind.CommRing.Poly.denoteS_mulMon_nc_go {α : Type u_1} [Semiring α] (ctx : Context α) (k : Int) (m : Mon) (p acc : Poly) :
                            k 0p.NonnegCoeffsacc.NonnegCoeffsdenoteS ctx (mulMon_nc.go k m p acc) = k.toNat * Mon.denote ctx m * denoteS ctx p + denoteS ctx acc
                            theorem Lean.Grind.CommRing.Poly.denoteS_mulMon_nc {α : Type u_1} [Semiring α] (ctx : Context α) (k : Int) (m : Mon) (p : Poly) :
                            k 0p.NonnegCoeffsdenoteS ctx (mulMon_nc k m p) = k.toNat * Mon.denote ctx m * denoteS ctx p
                            theorem Lean.Grind.CommRing.Poly.mul_go_NonnegCoeffs (p₁ p₂ acc : Poly) :
                            p₁.NonnegCoeffsp₂.NonnegCoeffsacc.NonnegCoeffs(mul.go p₂ p₁ acc).NonnegCoeffs
                            theorem Lean.Grind.CommRing.Poly.denoteS_mul_go {α : Type u_1} [CommSemiring α] (ctx : Context α) (p₁ p₂ acc : Poly) :
                            p₁.NonnegCoeffsp₂.NonnegCoeffsacc.NonnegCoeffsdenoteS ctx (mul.go p₂ p₁ acc) = denoteS ctx acc + denoteS ctx p₁ * denoteS ctx p₂
                            theorem Lean.Grind.CommRing.Poly.denoteS_mul {α : Type u_1} [CommSemiring α] (ctx : Context α) (p₁ p₂ : Poly) :
                            p₁.NonnegCoeffsp₂.NonnegCoeffsdenoteS ctx (p₁.mul p₂) = denoteS ctx p₁ * denoteS ctx p₂
                            theorem Lean.Grind.CommRing.Poly.denoteS_mul_nc_go {α : Type u_1} [Semiring α] (ctx : Context α) (p₁ p₂ acc : Poly) :
                            p₁.NonnegCoeffsp₂.NonnegCoeffsacc.NonnegCoeffsdenoteS ctx (mul_nc.go p₂ p₁ acc) = denoteS ctx acc + denoteS ctx p₁ * denoteS ctx p₂
                            theorem Lean.Grind.CommRing.Poly.denoteS_mul_nc {α : Type u_1} [Semiring α] (ctx : Context α) (p₁ p₂ : Poly) :
                            p₁.NonnegCoeffsp₂.NonnegCoeffsdenoteS ctx (p₁.mul_nc p₂) = denoteS ctx p₁ * denoteS ctx p₂
                            theorem Lean.Grind.CommRing.Poly.denoteS_pow {α : Type u_1} [CommSemiring α] (ctx : Context α) (p : Poly) (k : Nat) :
                            p.NonnegCoeffsdenoteS ctx (p.pow k) = denoteS ctx p ^ k
                            theorem Lean.Grind.CommRing.Poly.denoteS_pow_nc {α : Type u_1} [Semiring α] (ctx : Context α) (p : Poly) (k : Nat) :
                            p.NonnegCoeffsdenoteS ctx (p.pow_nc k) = denoteS ctx p ^ k
                            Equations
                              Instances For
                                theorem Lean.Grind.CommRing.eq_normS {α : Type u_1} [CommSemiring α] (ctx : Context α) (lhs rhs : Expr) :
                                eq_normS_cert lhs rhs = trueExpr.denoteS ctx lhs = Expr.denoteS ctx rhs
                                Equations
                                  Instances For
                                    theorem Lean.Grind.CommRing.eq_normS_nc {α : Type u_1} [Semiring α] (ctx : Context α) (lhs rhs : Expr) :
                                    eq_normS_nc_cert lhs rhs = trueExpr.denoteS ctx lhs = Expr.denoteS ctx rhs