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
- Lean.Elab.Tactic.logUnassignedAndAbort mvarIds = do let a ← liftM (Lean.Elab.Term.logUnassignedUsingErrorInfos mvarIds none) if a = true then Lean.Elab.throwAbortTactic else pure PUnit.unit
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.
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.
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.