(** We make a version of [rapply] that takes [uconstr]; we do not
currently test what scope [rapply] interprets terms in. *)
Tactic Notation"urapply" uconstr(p) := rapply p.
Ltac test n := (*let __ := match goal with _ => idtac n end in*)
lazymatch n with
| O => let __ := matchgoalwith _ => assert True by urapply I; clear end in
uconstr:(fun _ => I)
| S ?n'
=> let lem := test n' in let __ := matchgoalwith _ => assert True by (unshelve urapply lem; tryexact I); clear end in
uconstr:(fun _ : True => lem) end.
Goal True. assert True by urapply I. assert True by (unshelve urapply (fun _ => I); tryexact I). assert True by (unshelve urapply (fun _ _ => I); tryexact I). assert True by (unshelve urapply (fun _ _ _ => I); tryexact I).
clear. Timelet __ := test 50 in idtac.
urapply I. Qed.
Messung V0.5
¤ Dauer der Verarbeitung: 0.9 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 und die Messung sind noch experimentell.