(* Test that fresh avoid the variables of intro patterns but also of
simple intro patterns *)
Ltac exploit_main t T pat cleanup
:=
(lazymatch T with
| ?U1 -> ?U2 => let H := fresh
in idtac"H=" H; assert U1 as H;
[cleanup () | exploit_main (t H) U2 pat ltac:(fun _ => clear H; cleanup ())]
| _ => poseproof t as pat;
cleanup () end).
Tactic Notation"exploit" constr(t) "as" simple_intropattern(pat)
:=
exploit_main t ltac:(type of t) pat ltac:(fun _ => idtac).
Goal (True -> True) -> True. intro H0. exploit H0 as H. Abort.
Tactic Notation"exploit'" constr(t) "as" intropattern(pat)
:=
exploit_main t ltac:(type of t) pat ltac:(fun _ => idtac).
Goal (True -> True) -> True. intro H0. exploit' H0 as H. Abort.
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.