Get the user name of the given metavariable.
Equations
- Lean.MVarId.getTag mvarId = do let __do_lift ← Lean.MVarId.getDecl mvarId pure __do_lift.userName
Equations
- Lean.Meta.getMVarTag mvarId = Lean.MVarId.getTag mvarId
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Meta.setMVarTag mvarId tag = Lean.MVarId.setTag mvarId tag
Equations
- Lean.Meta.appendTag tag suffix = Lean.Name.modifyBase tag fun x => x ++ Lean.Name.eraseMacroScopes suffix
Equations
- Lean.Meta.appendTagSuffix mvarId suffix = do let tag ← Lean.MVarId.getTag mvarId Lean.MVarId.setTag mvarId (Lean.Meta.appendTag tag suffix)
def
Lean.Meta.mkFreshExprSyntheticOpaqueMVar
(type : Lean.Expr)
(tag : optParam Lean.Name Lean.Name.anonymous)
:
Equations
def
Lean.Meta.throwTacticEx
{α : Type}
(tacticName : Lean.Name)
(mvarId : Lean.MVarId)
(msg : Lean.MessageData)
:
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.
Equations
- Lean.Meta.checkNotAssigned mvarId tacticName = Lean.MVarId.checkNotAssigned mvarId tacticName
Get the type the given metavariable.
Equations
- Lean.MVarId.getType mvarId = do let __do_lift ← Lean.MVarId.getDecl mvarId pure __do_lift.type
Equations
- Lean.Meta.getMVarType mvarId = Lean.MVarId.getType mvarId
Get the type the given metavariable after instantiating metavariables and reducing to weak head normal form.
Equations
- Lean.MVarId.getType' mvarId = do let __do_lift ← Lean.MVarId.getType mvarId let __do_lift ← Lean.instantiateMVars __do_lift Lean.Meta.whnf __do_lift
Equations
- Lean.Meta.getMVarType' mvarId = Lean.MVarId.getType' mvarId
Assign mvarId
to sorryAx
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Meta.admit mvarId synthetic = Lean.MVarId.admit mvarId synthetic
Beta reduce the metavariable type head
Equations
- Lean.MVarId.headBetaType mvarId = do let __do_lift ← Lean.MVarId.getType mvarId Lean.MVarId.setType mvarId (Lean.Expr.headBeta __do_lift)
Equations
- Lean.Meta.headBetaMVarType mvarId = Lean.MVarId.headBetaType mvarId
Collect nondependent hypotheses that are propositions.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Meta.getNondepPropHyps mvarId = Lean.MVarId.getNondepPropHyps mvarId
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 ← StateRefT'.run (Lean.Meta.saturate.go x mvarId) #[] match __discr with | (fst, r) => pure (Array.toList r)
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 (Function.comp Lean.MessageData.ofFormat Std.format "unexpected number of goals"))
:
Equations
- Lean.Meta.exactlyOne mvarIds msg = match mvarIds with | [mvarId] => pure mvarId | x => Lean.throwError msg
def
Lean.Meta.ensureAtMostOne
(mvarIds : List Lean.MVarId)
(msg : optParam Lean.MessageData (Function.comp Lean.MessageData.ofFormat Std.format "unexpected number of goals"))
:
Equations
- Lean.Meta.ensureAtMostOne mvarIds msg = match mvarIds with | [] => pure none | [mvarId] => pure (some mvarId) | x => 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