doc-src/TutorialI/Misc/cases.thy
author wenzelm
Mon, 28 Aug 2000 20:29:56 +0200
changeset 9703 bf65780eed02
parent 9458 c613cd06d5cf
child 9721 7e51c9f3d5a0
permissions -rw-r--r--
added 'split' method;

(*<*)
theory "cases" = Main:;
(*>*)

lemma "(case xs of [] \\<Rightarrow> [] | y#ys \\<Rightarrow> xs) = xs";
apply(case_tac xs);

txt{*\noindent
results in the proof state
\begin{isabellepar}%
~1.~xs~=~[]~{\isasymLongrightarrow}~(case~xs~of~[]~{\isasymRightarrow}~[]~|~y~\#~ys~{\isasymRightarrow}~xs)~=~xs\isanewline
~2.~{\isasymAnd}a~list.~xs=a\#list~{\isasymLongrightarrow}~(case~xs~of~[]~{\isasymRightarrow}~[]~|~y\#ys~{\isasymRightarrow}~xs)~=~xs%
\end{isabellepar}%
which is solved automatically:
*}

by(auto);
(**)
(*<*)
end
(*>*)