Lemma test_elim_pattern_1 : forall A (l:list A), app l nil = l. Proof. intros A. elim/list_ind => [^~ 1 ]. by []. matchgoalwith |- app (cons a1 l1) nil = cons a1 l1 => idtacend. Abort.
Lemma test_elim_pattern_2 : forall A (l:list A), app l nil = l. Proof. intros. elim: l => [^~ 1 ]. by []. matchgoalwith |- app (cons a1 l1) nil = cons a1 l1 => idtacend. Abort.
Lemma test_elim_pattern_3 : forall A (l:list A), app l nil = l. Proof. intros. elim: l => [ | x l' IH ]. by []. matchgoalwith |- app (cons x l') nil = cons x l' => idtacend. Abort.
Lemma test_dispatch : (forall x:nat, x= x )/\ (forall y:nat, y = y). Proof. intros. split => [ a | b ]. matchgoalwith |- a = a => by [] end. matchgoalwith |- b = b => by [] end. Abort.
Lemma test_tactics_as_view_2 : forall A, (forall (l1:list A), app nil l1 = l1) /\ (app nil nil = @nil A). Proof.
move => A. (* TODO: I want to do [split =>.] as a temporary step in setting up my script, but this syntax does not seem to be supported. Can't we have an empty ipat?
Note that I can do [split => [ | ]]*) split => [| /ltac:(simpl)]. Abort.
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.