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 ≥ 0 → p.NonnegCoeffs → denoteS 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 ≥ 0 → p.NonnegCoeffs → denoteS 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₁.NonnegCoeffs → p₂.NonnegCoeffs → denoteS 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 ≥ 0 → p.NonnegCoeffs → denoteS 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₁.NonnegCoeffs → p₂.NonnegCoeffs → denoteS 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 ≥ 0 → p.NonnegCoeffs → denoteS 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 ≥ 0 → p.NonnegCoeffs → acc.NonnegCoeffs → denoteS 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 ≥ 0 → p.NonnegCoeffs → denoteS 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₁.NonnegCoeffs → p₂.NonnegCoeffs → acc.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₁.NonnegCoeffs → p₂.NonnegCoeffs → acc.NonnegCoeffs → denoteS 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₁.NonnegCoeffs → p₂.NonnegCoeffs → denoteS 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₁.NonnegCoeffs → p₂.NonnegCoeffs → acc.NonnegCoeffs → denoteS 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₁.NonnegCoeffs → p₂.NonnegCoeffs → denoteS 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.NonnegCoeffs → denoteS 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.NonnegCoeffs → denoteS 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 = true → Expr.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 = true → Expr.denoteS ctx lhs = Expr.denoteS ctx rhs