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.