Collect unassigned metavariables occurring in the given expression.
Remark: if e
contains ?m
and there is a t
assigned to ?m
, we
collect unassigned metavariables occurring in t
.
Remark: if e
contains ?m
and ?m
is delayed assigned to some term t
,
we collect ?m
and unassigned metavariables occurring in t
.
We collect ?m
because it has not been assigned yet.
Return metavariables occurring in the given expression. See collectMVars
Equations
- Lean.Meta.getMVars e = do let __discr ← StateRefT'.run (Lean.Meta.collectMVars e) { visitedExpr := ∅, result := #[] } match __discr with | (fst, s) => pure s.result
Instances For
Similar to getMVars
, but removes delayed assignments.
Equations
- Lean.Meta.getMVarsNoDelayed e = do let mvarIds ← Lean.Meta.getMVars e Array.filterM (fun (mvarId : Lean.MVarId) => not <$> Lean.MVarId.isDelayedAssigned mvarId) mvarIds 0
Instances For
Equations
- Lean.Meta.getMVarsAtDecl d = do let __discr ← StateRefT'.run (Lean.Meta.collectMVarsAtDecl d) { visitedExpr := ∅, result := #[] } match __discr with | (fst, s) => pure s.result
Instances For
Collect the metavariables which mvarId
depends on. These are the metavariables
which appear in the type and local context of mvarId
, as well as the
metavariables which those metavariables depend on, etc.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Auxiliary definition for getMVarDependencies
.
Auxiliary definition for getMVarDependencies
.