Documentation

Init.Data.Int.OfNat

Helper definitions and theorems for converting Nat expressions into Int one. We use them to implement the arithmetic theories in grind

@[reducible, inline]
Equations
Instances For
    @[reducible, inline]
    Equations
    Instances For
      def Int.OfNat.Var.denote (ctx : Context) (v : Var) :
      Equations
      Instances For
        inductive Int.OfNat.Expr :
        Instances For
          theorem Int.OfNat.Expr.denoteAsInt_eq (ctx : Context) (e : Expr) :
          denoteAsInt ctx e = (denote ctx e)
          theorem Int.OfNat.Expr.eq (ctx : Context) (lhs rhs : Expr) :
          (denote ctx lhs = denote ctx rhs) = (denoteAsInt ctx lhs = denoteAsInt ctx rhs)
          theorem Int.OfNat.Expr.le (ctx : Context) (lhs rhs : Expr) :
          (denote ctx lhs denote ctx rhs) = (denoteAsInt ctx lhs denoteAsInt ctx rhs)
          theorem Int.OfNat.of_le (ctx : Context) (lhs rhs : Expr) :
          Expr.denote ctx lhs Expr.denote ctx rhsExpr.denoteAsInt ctx lhs Expr.denoteAsInt ctx rhs
          theorem Int.OfNat.of_not_le (ctx : Context) (lhs rhs : Expr) :
          theorem Int.OfNat.of_dvd (ctx : Context) (d : Nat) (e : Expr) :
          theorem Int.OfNat.of_eq (ctx : Context) (lhs rhs : Expr) :
          Expr.denote ctx lhs = Expr.denote ctx rhsExpr.denoteAsInt ctx lhs = Expr.denoteAsInt ctx rhs
          theorem Int.OfNat.of_not_eq (ctx : Context) (lhs rhs : Expr) :
          ¬Expr.denote ctx lhs = Expr.denote ctx rhs¬Expr.denoteAsInt ctx lhs = Expr.denoteAsInt ctx rhs