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
- mvarId : Lean.MVarId
- indicesFVarIds : Array Lean.FVarId
- fvarId : Lean.FVarId
- numEqs : Nat
Instances For
Similar to generalizeTargets but customized for the casesOn motive.
Given a metavariable mvarId representing the
Ctx, h : I A j, D |- T
where fvarId is hs id, and the type I A j is an inductive datatype where A are parameters,
and j the indices. Generate the goal
Ctx, h : I A j, D, j' : J, h' : I A j' |- j == j' -> h == h' -> T
Remark: (j == j' -> h == h') is a "telescopic" equality.
Remark: j is sequence of terms, and j' a sequence of free variables.
The result contains the fields
mvarId: the new goalindicesFVarIds:j'idsfvarId:h'idnumEqs: number of equations in the target
Equations
- One or more equations did not get rendered due to their size.
Instances For
- mvarId : Lean.MVarId
- subst : Lean.Meta.FVarSubst
- ctorName : Lake.Name
Instances For
- inductiveVal : Lean.InductiveVal
- casesOnVal : Lean.DefinitionVal
- nminors : Nat
- majorDecl : Lean.LocalDecl
- majorTypeFn : Lean.Expr
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Apply casesOn using the free variable majorFVarId as the major premise (aka discriminant).
givenNames contains user-facing names for each alternative.
useNatCasesAuxOnis a temporary hack for thercasesfamily of tactics. Do not use it, as it is subject to removal. It enables usingNat.casesAuxOninstead ofNat.casesOn, which causes case splits onn : Natto be represented as0andn' + 1rather than asNat.zeroandNat.succ n'.
Equations
- mvarId.cases majorFVarId givenNames useNatCasesAuxOn = Lean.Meta.Cases.cases mvarId majorFVarId givenNames useNatCasesAuxOn
Instances For
Equations
- Lean.Meta.cases mvarId majorFVarId givenNames = Lean.Meta.Cases.cases mvarId majorFVarId givenNames
Instances For
Keep applying cases on any hypothesis that satisfies p.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Applies cases (recursively) to any hypothesis of the form h : p ∧ q.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Applies cases to any hypothesis of the form h : r = s.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Auxiliary structure for storing byCases tactic result.
- mvarId : Lean.MVarId
- fvarId : Lean.FVarId
Instances For
Split the goal in two subgoals: one containing the hypothesis h : p and another containing h : ¬ p.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given dec : Decidable p, split the goal in two subgoals: one containing the hypothesis h : p and another containing h : ¬ p.
Equations
- One or more equations did not get rendered due to their size.