-
"tac1 ;; tac2" remains, but you can also use "tac1; { tac2 }".
-
"tac1 ;!; tac2" remains, but you can also use "tac1; {< tac2 }".
-
"!tac", "!!tac" etc are now only loaded if you do:
Import LibHyps.LegacyNotations.
, the new following composable tacticals are preferred: -
tac /s
is an alias fortac ;{ substHyp }
-
tac /r
is an alias fortac ;{ revertHyp }
-
tac /n
is an alias fortac ;{ autorename }
-
tac /g
is an alias fortac ;{ group_up_list}
which is itself preferred totac ; { move_up_types }
ortac ;; move_up_types.
-
Combinations like
tac /s/n/g
are accepted. -
Some combination have shortcuts, e.g.
tac /sng
stands fortac /s/n/g
. Other shortcuts include\sn
,\ng
,\sg
...
- "tac1; {! tac2 }" applies tac2 once to the list of all new hypothesis.
- "tac1; {!< tac2 }" applies tac2 once to the list of all new hypothesis (reverse order).
Use case: new tactic group_up_list
is a faster version of
move_up_types
and deals directly with the list of hypothesis.
Note for developping other such tactics: the list of hypothesis uses
the type LibHyps.TacNewHyps.DList
.
Feature wish #5 by @Yazko: non-Prop hypothesis with same type are now grouped, which takes benefit of Coq's goal printing mechanism's own factorization heuristic.
It applies on a list of hyptohesis, so you should use it like this:
intros ; {! group_up_list }.