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.
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 <$> mvarId.isDelayedAssigned) mvarIds
Instances For
Equations
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
- mvarId.getMVarDependencies includeDelayed = (fun (x : Unit × Std.HashSet Lean.MVarId) => x.snd) <$> (go✝ mvarId includeDelayed).run ∅
Instances For
Collect the metavariables appearing in the expression e,
including metavariables in the type or local context of any such metavariables, etc.
Equations
- e.getMVarDependencies includeDelayed = (fun (x : Unit × Std.HashSet Lean.MVarId) => x.snd) <$> (addMVars✝ e includeDelayed).run ∅