Equations
- Lean.Elab.Tactic.isHoleRHS rhs = (rhs.isOfKind `Lean.Parser.Term.syntheticHole || rhs.isOfKind `Lean.Parser.Term.hole)
Instances For
def
Lean.Elab.Tactic.evalAlt
(mvarId : Lean.MVarId)
(alt : Lean.Syntax)
(addInfo : Lean.Elab.TermElabM Unit)
:
Instances For
Helper method for creating an user-defined eliminator/recursor application.
- name : Lean.Name
The short name of the alternative, used in
| foo =>
cases - info : Lean.Meta.ElimAltInfo
- mvarId : Lean.MVarId
The subgoal metavariable for the alternative.
Instances For
Equations
- Lean.Elab.Tactic.ElimApp.instInhabitedAlt = { default := { name := default, info := default, mvarId := default } }
- elimInfo : Lean.Meta.ElimInfo
Instances For
- argPos : Nat
- targetPos : Nat
- motive : Option Lean.MVarId
- f : Lean.Expr
- fType : Lean.Expr
- insts : Array Lean.MVarId
Instances For
- elimApp : Lean.Expr
- motive : Lean.MVarId
- others : Array Lean.MVarId
Instances For
def
Lean.Elab.Tactic.ElimApp.mkElimApp
(elimInfo : Lean.Meta.ElimInfo)
(targets : Array Lean.Expr)
(tag : Lean.Name)
:
Construct the an eliminator/recursor application. targets
contains the explicit and implicit targets for
the eliminator. For example, the indices of builtin recursors are considered implicit targets.
Remark: the method addImplicitTargets
may be used to compute the sequence of implicit and explicit targets
from the explicit ones.
Instances For
partial def
Lean.Elab.Tactic.ElimApp.mkElimApp.loop
(elimInfo : Lean.Meta.ElimInfo)
(tag : Lean.Name)
:
def
Lean.Elab.Tactic.ElimApp.setMotiveArg
(mvarId motiveArg : Lean.MVarId)
(targets : Array Lean.FVarId)
:
Given a goal ... targets ... |- C[targets]
associated with mvarId
, assign
motiveArg := fun targets => C[targets]
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Elab.Tactic.ElimApp.evalAlts
(elimInfo : Lean.Meta.ElimInfo)
(alts : Array Lean.Elab.Tactic.ElimApp.Alt)
(optPreTac : Lean.Syntax)
(altStxs : Array Lean.Syntax)
(initialInfo : Lean.Elab.Info)
(numEqs numGeneralized : Nat := 0)
(toClear : Array Lean.FVarId := #[])
(toTag : Array (Lean.Ident × Lean.FVarId) := #[])
:
Instances For
def
Lean.Elab.Tactic.ElimApp.evalAlts.goWithInfo
(elimInfo : Lean.Meta.ElimInfo)
(alts : Array Lean.Elab.Tactic.ElimApp.Alt)
(optPreTac : Lean.Syntax)
(altStxs : Array Lean.Syntax)
(numEqs numGeneralized : Nat := 0)
(toClear : Array Lean.FVarId := #[])
(toTag : Array (Lean.Ident × Lean.FVarId) := #[])
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Elab.Tactic.ElimApp.evalAlts.goWithIncremental
(elimInfo : Lean.Meta.ElimInfo)
(alts : Array Lean.Elab.Tactic.ElimApp.Alt)
(optPreTac : Lean.Syntax)
(altStxs : Array Lean.Syntax)
(numEqs numGeneralized : Nat := 0)
(toClear : Array Lean.FVarId := #[])
(toTag : Array (Lean.Ident × Lean.FVarId) := #[])
(tacSnaps : Array (Lean.Language.SnapshotBundle Lean.Elab.Tactic.TacticParsedSnapshot))
:
Instances For
def
Lean.Elab.Tactic.ElimApp.evalAlts.applyAltStx
(elimInfo : Lean.Meta.ElimInfo)
(optPreTac : Lean.Syntax)
(altStxs : Array Lean.Syntax)
(numEqs numGeneralized : Nat := 0)
(toClear : Array Lean.FVarId := #[])
(toTag : Array (Lean.Ident × Lean.FVarId) := #[])
(tacSnaps : Array (Lean.Language.SnapshotBundle Lean.Elab.Tactic.TacticParsedSnapshot))
(altStxIdx : Nat)
(altStx : Lean.Syntax)
(alt : Lean.Elab.Tactic.ElimApp.Alt)
:
Applies syntactic alternative to alternative goal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Elab.Tactic.ElimApp.evalAlts.applyPreTac
(optPreTac : Lean.Syntax)
(mvarId : Lean.MVarId)
:
Applies induction .. with $preTac | ..
, if any, to an alternative goal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Equations
- One or more equations did not get rendered due to their size.