Aka user name
Equations
- Lean.Meta.getMVarTag mvarId = do let a ← Lean.Meta.getMVarDecl mvarId pure a.userName
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Meta.appendTag tag suffix = Lean.Name.modifyBase tag fun a => a ++ Lean.Name.eraseMacroScopes suffix
Equations
- Lean.Meta.appendTagSuffix mvarId suffix = do let tag ← Lean.Meta.getMVarTag mvarId Lean.Meta.setMVarTag 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.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Meta.getMVarType mvarId = do let a ← Lean.Meta.getMVarDecl mvarId pure a.type
Equations
- Lean.Meta.getMVarType' mvarId = do let a ← Lean.Meta.getMVarDecl mvarId let a ← Lean.Meta.instantiateMVars a.type Lean.Meta.whnf a
Assign mvarId
to sorryAx
Equations
- One or more equations did not get rendered due to their size.
Beta reduce the metavariable type head
Equations
- Lean.Meta.headBetaMVarType mvarId = do let a ← Lean.Meta.getMVarType mvarId Lean.Meta.setMVarType mvarId (Lean.Expr.headBeta a)
Collect nondependent hypotheses that are propositions.
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.
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 Lean.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 Lean.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.
- closed: Lean.Meta.TacticResultCNM
- noChange: Lean.Meta.TacticResultCNM
- modified: Lean.MVarId → Lean.Meta.TacticResultCNM