Get the user name of the given metavariable.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Meta.appendTag tag suffix = tag.modifyBase fun (x : Lake.Name) => x ++ suffix.eraseMacroScopes
Equations
- Lean.Meta.appendTagSuffix mvarId suffix = do let tag ← mvarId.getTag mvarId.setTag (Lean.Meta.appendTag tag suffix)
def
Lean.Meta.mkFreshExprSyntheticOpaqueMVar
(type : Lean.Expr)
(tag : optParam Lake.Name Lean.Name.anonymous)
:
Equations
def
Lean.Meta.throwTacticEx
{α : Type}
(tacticName : Lake.Name)
(mvarId : Lean.MVarId)
(msg? : optParam (Option Lean.MessageData) none)
:
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.
Throw a tactic exception with given tactic name if the given metavariable is assigned.
Equations
- One or more equations did not get rendered due to their size.
Get the type the given metavariable.
Get the type the given metavariable after instantiating metavariables and reducing to weak head normal form.
Equations
- mvarId.getType' = do let __do_lift ← mvarId.getType let __do_lift ← Lean.Meta.whnf __do_lift Lean.instantiateMVars __do_lift
Assign mvarId
to sorryAx
Equations
- mvarId.admit synthetic = mvarId.withContext do mvarId.checkNotAssigned `admit let mvarType ← mvarId.getType let val ← Lean.Meta.mkSorry mvarType synthetic mvarId.assign val
Beta reduce the metavariable type head
Equations
- mvarId.headBetaType = do let __do_lift ← mvarId.getType mvarId.setType __do_lift.headBeta
Collect nondependent hypotheses that are propositions.
Equations
- One or more equations did not get rendered due to their size.
def
Lean.Meta.saturate
(mvarId : Lean.MVarId)
(x : Lean.MVarId → Lean.MetaM (Option (List Lean.MVarId)))
:
Equations
- Lean.Meta.saturate mvarId x = do let __discr ← (Lean.Meta.saturate.go x mvarId).run #[] match __discr with | (fst, r) => pure r.toList
partial def
Lean.Meta.saturate.go
(x : Lean.MVarId → Lean.MetaM (Option (List Lean.MVarId)))
(mvarId : Lean.MVarId)
:
def
Lean.Meta.exactlyOne
(mvarIds : List Lean.MVarId)
(msg : optParam Lean.MessageData ((Lean.MessageData.ofFormat ∘ Lean.format) "unexpected number of goals"))
:
Equations
- Lean.Meta.exactlyOne [mvarId] msg = pure mvarId
- Lean.Meta.exactlyOne mvarIds msg = Lean.throwError msg
def
Lean.Meta.ensureAtMostOne
(mvarIds : List Lean.MVarId)
(msg : optParam Lean.MessageData ((Lean.MessageData.ofFormat ∘ Lean.format) "unexpected number of goals"))
:
Equations
- Lean.Meta.ensureAtMostOne [] msg = pure none
- Lean.Meta.ensureAtMostOne [mvarId] msg = pure (some mvarId)
- Lean.Meta.ensureAtMostOne mvarIds msg = Lean.throwError msg
Return all propositions in the local context.
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.
- closed: Lean.Meta.TacticResultCNM
- noChange: Lean.Meta.TacticResultCNM
- modified: Lean.MVarId → Lean.Meta.TacticResultCNM
Check if a goal is of a subsingleton type.
Equations
- One or more equations did not get rendered due to their size.