doc-src/Tutorial/ToyList/ToyList.ML
author webertj
Wed, 26 May 2004 18:03:52 +0200
changeset 14807 e8ccb13d7774
parent 5377 efb799c5ed3c
permissions -rw-r--r--
major code change: refute can now handle any Isabelle term, adds certain axioms automatically, and can handle inductive datatypes (but not yet recursion over them)

Goal "xs @ [] = xs";
by(induct_tac "xs" 1);
by(Auto_tac);
qed "app_Nil2";
Addsimps [app_Nil2];
Goal "(xs @ ys) @ zs = xs @ (ys @ zs)";
by(induct_tac "xs" 1);
by(Auto_tac);
qed "app_assoc";
Addsimps [app_assoc];
Goal "rev(xs @ ys) = (rev ys) @ (rev xs)";
by(induct_tac "xs" 1);
by(Auto_tac);
qed "rev_app";
Addsimps [rev_app];
Goal "rev(rev xs) = xs";
by(induct_tac "xs" 1);
by(Auto_tac);
qed "rev_rev";