(** 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.
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.