Documentation

Init.Grind.Ring.CommSemiringAdapter

theorem Lean.Grind.CommRing.Expr.denoteAsRing_eq {α : Type u_1} [Semiring α] (ctx : Context α) (e : Expr) :
denoteSAsRing ctx e = (denoteS ctx e)
Instances For
    def Lean.Grind.CommRing.denoteSInt {α : Type u_1} [Semiring α] (k : Int) :
    α
    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
      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
      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