Open kyoDralliam opened 4 years ago
This attempt is not totally faithful to induction since it takes a simple_intropattern as an Ltac production item instead of a or_and_intropattern_loc (that does not seem accessible from Ltac).
In the short term, adding or_and_intropattern
for tactic notations would be possible. Something like adding let wit_or_and_intropattern = ...
in plugins/ltac/tacarg.ml
and adding the corresponding register
(as shown by grep wit_simple_intropat plugins/ltac/*ml
) should canonically do the trick.
I'm otherwise a bit lost about the "big plans" regarding tactics and tactic notations, so hints at least from @ppedrot may help to know how to converge in a common direction.
[Among the big plans, from a user point of view, I would naively say that it would be natural that induction
eventually provide dependent induction
.]
Description of the problem
The
dependent induction
family of tactics provided byCoq.Program.Equality
support quite a few variant similar to those ofinduction
but no variant allowing to give names to the hypothesis produced by the elimination principle (the variant with anas
clause forinduction
).Here is my own naive attempt at providing such a notation:
This attempt is not totally faithful to
induction
since it takes asimple_intropattern
as an Ltac production item instead of aor_and_intropattern_loc
(that does not seem accessible from Ltac).Coq Version
Probably since the introduction of
Program
.