Equations
- Lean.Meta.Linear.Nat.instReprExpr = { reprPrec := [anonymous] }
Equations
- Lean.Meta.Linear.Nat.instReprExprCnstr = { reprPrec := [anonymous] }
Equations
- Lean.Meta.Linear.Nat.instReprPolyCnstr = { reprPrec := [anonymous] }
@[inline]
@[inline]
@[inline]
Equations
- One or more equations did not get rendered due to their size.
- Lean.Meta.Linear.Nat.LinearExpr.toExpr (Nat.Linear.Expr.num v) = Lean.mkApp (Lean.mkConst `Nat.Linear.Expr.num) (Lean.mkNatLit v)
- Lean.Meta.Linear.Nat.LinearExpr.toExpr (Nat.Linear.Expr.var i) = Lean.mkApp (Lean.mkConst `Nat.Linear.Expr.var) (Lean.mkNatLit i)
- Lean.Meta.Linear.Nat.LinearExpr.toExpr (Nat.Linear.Expr.mulL k a) = Lean.mkApp2 (Lean.mkConst `Nat.Linear.Expr.mulL) (Lean.mkNatLit k) (Lean.Meta.Linear.Nat.LinearExpr.toExpr a)
- Lean.Meta.Linear.Nat.LinearExpr.toExpr (Nat.Linear.Expr.mulR a k) = Lean.mkApp2 (Lean.mkConst `Nat.Linear.Expr.mulR) (Lean.Meta.Linear.Nat.LinearExpr.toExpr a) (Lean.mkNatLit k)
Equations
- Lean.Meta.Linear.Nat.instToExprLinearExpr = { toExpr := fun a => Lean.Meta.Linear.Nat.LinearExpr.toExpr a, toTypeExpr := Lean.mkConst `Nat.Linear.Expr }
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Meta.Linear.Nat.instToExprLinearCnstr = { toExpr := fun a => Lean.Meta.Linear.Nat.LinearCnstr.toExpr a, toTypeExpr := Lean.mkConst `Nat.Linear.ExprCnstr }
def
Lean.Meta.Linear.Nat.LinearExpr.toArith
(ctx : Array Lean.Expr)
(e : Lean.Meta.Linear.Nat.LinearExpr)
:
Equations
- One or more equations did not get rendered due to their size.
- Lean.Meta.Linear.Nat.LinearExpr.toArith ctx (Nat.Linear.Expr.num v) = pure (Lean.mkNatLit v)
- Lean.Meta.Linear.Nat.LinearExpr.toArith ctx (Nat.Linear.Expr.var i) = pure (Array.getOp ctx i)
- Lean.Meta.Linear.Nat.LinearExpr.toArith ctx (Nat.Linear.Expr.mulL k a) = do let a ← Lean.Meta.Linear.Nat.LinearExpr.toArith ctx a Lean.Meta.mkMul (Lean.mkNatLit k) a
- Lean.Meta.Linear.Nat.LinearExpr.toArith ctx (Nat.Linear.Expr.mulR a k) = do let a ← Lean.Meta.Linear.Nat.LinearExpr.toArith ctx a Lean.Meta.mkMul a (Lean.mkNatLit k)
def
Lean.Meta.Linear.Nat.LinearCnstr.toArith
(ctx : Array Lean.Expr)
(c : Lean.Meta.Linear.Nat.LinearCnstr)
:
Equations
- One or more equations did not get rendered due to their size.
- varMap : Lean.Meta.KExprMap Nat
@[inline]
Equations
- One or more equations did not get rendered due to their size.
def
Lean.Meta.Linear.Nat.ToLinear.run
{α : Type}
(x : Lean.Meta.Linear.Nat.ToLinear.M α)
:
Lean.MetaM (α × Array Lean.Expr)
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Meta.Linear.Nat.toContextExpr ctx = Lean.Meta.mkListLit (Lean.mkConst `Nat) (Array.toList ctx)
Equations
- Lean.Meta.Linear.Nat.reflTrue = Lean.mkApp2 (Lean.mkConst `Eq.refl [Lean.levelOne]) (Lean.mkConst `Bool) (Lean.mkConst `Bool.true)