Documentation

Lean.Meta.ExprDefEq

Support for Lean.reduceBool and Lean.reduceNat

Equations
  • One or more equations did not get rendered due to their size.

Support for reducing Nat basic operations.

Equations
  • One or more equations did not get rendered due to their size.

Support for constraints of the form ("..." =?= String.mk cs)

Equations
  • One or more equations did not get rendered due to their size.

Return true if e is of the form fun (x_1 ... x_n) => ?m x_1 ... x_n), and ?m is unassigned. Remark: n may be 0.

Equations
  • One or more equations did not get rendered due to their size.
@[specialize]

Check whether the types of the free variables at fvars are definitionally equal to the types at ds₂.

Pre: fvars.size == ds₂.size

This method also updates the set of local instances, and invokes the continuation k with the updated set.

We can't use withNewLocalInstances because the isDeq fvarType d₂ may use local instances.

Equations
def Lean.Meta.mkAuxMVar (lctx : Lean.LocalContext) (localInsts : Lean.LocalInstances) (type : Lean.Expr) (numScopeArgs : optParam Nat 0) :
Equations
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
def Lean.Meta.CheckAssignmentQuick.check (hasCtxLocals : Bool) (mctx : Lean.MetavarContext) (lctx : Lean.LocalContext) (mvarDecl : Lean.MetavarDecl) (mvarId : Lean.MVarId) (fvars : Array Lean.Expr) (e : Lean.Expr) :
Equations
partial def Lean.Meta.CheckAssignmentQuick.check.visit (hasCtxLocals : Bool) (mctx : Lean.MetavarContext) (lctx : Lean.LocalContext) (mvarDecl : Lean.MetavarDecl) (mvarId : Lean.MVarId) (fvars : Array Lean.Expr) (e : Lean.Expr) :

Auxiliary function for handling constraints of the form ?m a₁ ... aₙ =?= v. It will check whether we can perform the assignment

?m := fun fvars => v

The result is none if the assignment can't be performed. The result is some newV where newV is a possibly updated v. This method may need to unfold let-declarations.

Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
@[export lean_is_expr_def_eq]