Elaborate stx
in the current MVarContext
. If given, the expectedType
will be used to help
elaboration but not enforced (use elabTermEnsuringType
to enforce an expected type).
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Elaborate stx
in the current MVarContext
. If given, the expectedType
will be used to help
elaboration and then a TypeMismatchError
will be thrown if the elaborated type doesn't match.
Equations
- One or more equations did not get rendered due to their size.
Try to close main goal using x target
, where target
is the type of the main goal.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Elab.Tactic.sortMVarIdsByIndex mvarIds = do let __do_lift ← Lean.Elab.Tactic.sortMVarIdArrayByIndex (List.toArray mvarIds) pure (Array.toList __do_lift)
Execute k
, and collect new "holes" in the resulting expression.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
If allowNaturalHoles == true
, then we allow the resultant expression to contain unassigned "natural" metavariables.
Recall that "natutal" metavariables are created for explicit holes _
and implicit arguments. They are meant to be
filled by typing constraints.
"Synthetic" metavariables are meant to be filled by tactics and are usually created using the synthetic hole notation ?
.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Given a tactic
apply f
we want the apply
tactic to create all metavariables. The following
definition will return @f
for f
. That is, it will not create
metavariables for implicit arguments.
A similar method is also used in Lean 3.
This method is useful when applying lemmas such as:
theorem infLeRight {s t : Set α} : s ⊓ t ≤ t
where s ≤ t
here is defined as
∀ {x : α}, x ∈ s → x ∈ t
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Elaborate stx
. If it a free variable, return it. Otherwise, assert it, and return the free variable.
Note that, the main goal is updated when Meta.assert
is used in the second case.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.