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 h
s 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.
useNatCasesAuxOn
is a temporary hack for thercases
family of tactics. Do not use it, as it is subject to removal. It enables usingNat.casesAuxOn
instead ofNat.casesOn
, which causes case splits onn : Nat
to be represented as0
andn' + 1
rather than asNat.zero
andNat.succ n'
.
Equations
- mvarId.cases majorFVarId givenNames useNatCasesAuxOn = Lean.Meta.Cases.cases mvarId majorFVarId givenNames useNatCasesAuxOn
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.