- name : Name
A declaration corresponding to the inductive constructor. (For custom recursors, the alternatives correspond to parameter names in the recursor, so we may not have a declaration to point to.) This is used for go-to-definition on the alternative name.
- numFields : Nat
- provesMotive : Bool
If
provesMotive := true
, then this alternative hasmotive
as its conclusion. Only for those alternatives theinduction
tactic should introduce reverted hypotheses.
Instances For
Information about an eliminator as used by induction
or cases
.
Created from an expression by getElimInfo
. This typically contains level metavariables that
are instantiated as we go (e.g. in addImplicitTargets
), so this is single use.
- elimExpr : Expr
- elimType : Expr
- motivePos : Nat
- altsInfo : Array ElimAltInfo
- numComplexMotiveArgs : Nat
Extra arguments to the motive, after the targets, that are instantiated with non-atomic expressions in the goal
Instances For
Eliminators/recursors may have implicit targets. For builtin recursors, all indices are implicit targets. Given an eliminator and the sequence of explicit targets, this methods returns a new sequence containing implicit and explicit targets.
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Gets all the eliminators defined using the @[induction_eliminator]
and @[cases_eliminator]
attributes.
Equations
Instances For
Gets an eliminator appropriate for the provided array of targets.
If induction
is true
then returns a matching eliminator defined using the @[induction_eliminator]
attribute
and otherwise returns one defined using the @[cases_eliminator]
attribute.
The @[induction_eliminator]
attribute is for the induction
tactic
and the @[cases_eliminator]
attribute is for the cases
tactic.