Similar to Expr.forEach', but creates free variables whenever going inside of a binder.
Equations
Similar to Expr.forEach, but creates free variables whenever going inside of a binder.
Equations
- Lean.Meta.forEachExpr e f = Lean.Meta.forEachExpr' e fun e => do f e pure true
Auxiliary method for (temporarily) setting the user facing name of metavariables.
Let ?m be a metavariable in isTarget.contains ?m, and ?m does not have a user facing name.
Then, we try to find an application f ... ?m in e, and (temporarily) use the
corresponding parameter name (with a fresh macro scope) as the user facing name for ?m.
This method returns all metavariables whose user facing name has been updated.
Equations
- One or more equations did not get rendered due to their size.
Remove user facing name for metavariables in toReset.
This a low-level method for "undoing" the effect of setMVarUserNamesAt
Equations
- One or more equations did not get rendered due to their size.
Similar to mkForallFVars, but tries to infer better binder names when xs contains metavariables.
Let ?m be a metavariable in xs s.t. ?m does not have a user facing name.
Then, we try to find an application f ... ?m in the other binder typer and type, and
(temporarily) use the corresponding parameter name (with a fresh macro scope) as the user facing name for ?m.
The "renaming" is temporary.
Equations
- One or more equations did not get rendered due to their size.