Documentation

Init.Grind.Module.NatModuleNorm

Instances For
    def Lean.Grind.Linarith.Poly.denoteN {α : Type u_1} [NatModule α] (ctx : Context α) (p : Poly) :
    α
    Equations
    Instances For
      theorem Lean.Grind.Linarith.Poly.denoteN_add {α : Type u_1} [NatModule α] (ctx : Context α) (k : Int) (x : Var) (p : Poly) :
      k 0denoteN ctx (add k x p) = k.toNat Var.denote ctx x + denoteN ctx p
      theorem Lean.Grind.Linarith.instAssociativeHAdd_1 {α : Type u_1} [NatModule α] :
      Std.Associative fun (x1 x2 : α) => x1 + x2
      theorem Lean.Grind.Linarith.instCommutativeHAdd_1 {α : Type u_1} [NatModule α] :
      Std.Commutative fun (x1 x2 : α) => x1 + x2
      theorem Lean.Grind.Linarith.Poly.denoteN_insert {α : Type u_1} [NatModule α] (ctx : Context α) (k : Int) (x : Var) (p : Poly) :
      k 0p.NonnegCoeffsdenoteN ctx (insert k x p) = k.toNat Var.denote ctx x + denoteN ctx p
      theorem Lean.Grind.Linarith.Poly.denoteN_append {α : Type u_1} [NatModule α] (ctx : Context α) (p₁ p₂ : Poly) :
      p₁.NonnegCoeffsp₂.NonnegCoeffsdenoteN ctx (p₁.append p₂) = denoteN ctx p₁ + denoteN ctx p₂
      theorem Lean.Grind.Linarith.Poly.denoteN_combine {α : Type u_1} [NatModule α] (ctx : Context α) (p₁ p₂ : Poly) :
      p₁.NonnegCoeffsp₂.NonnegCoeffsdenoteN ctx (p₁.combine p₂) = denoteN ctx p₁ + denoteN ctx p₂
      theorem Lean.Grind.Linarith.Poly.denoteN_mul' {α : Type u_1} [NatModule α] (ctx : Context α) (p : Poly) (k : Nat) :
      p.NonnegCoeffsdenoteN ctx (p.mul' k) = k denoteN ctx p
      theorem Lean.Grind.Linarith.Poly.denoteN_mul {α : Type u_1} [NatModule α] (ctx : Context α) (p : Poly) (k : Nat) :
      p.NonnegCoeffsdenoteN ctx (p.mul k) = k denoteN ctx p
      theorem Lean.Grind.Linarith.eq_normN {α : Type u_1} [NatModule α] (ctx : Context α) (lhs rhs : Expr) :
      eq_normN_cert lhs rhs = trueExpr.denoteN ctx lhs = Expr.denoteN ctx rhs