doc-src/TutorialI/Recdef/Induction.thy
changeset 11458 09a6c44a48ea
parent 11428 332347b9b942
child 16417 9bc16273c2d4
--- a/doc-src/TutorialI/Recdef/Induction.thy	Thu Jul 26 18:23:38 2001 +0200
+++ b/doc-src/TutorialI/Recdef/Induction.thy	Fri Aug 03 18:04:55 2001 +0200
@@ -52,17 +52,18 @@
 where $x@1~\dots~x@n$ is a list of free variables in the subgoal and $f$ the
 name of a function that takes an $n$-tuple. Usually the subgoal will
 contain the term $f(x@1,\dots,x@n)$ but this need not be the case. The
-induction rules do not mention $f$ at all. For example @{thm[source]sep.induct}
+induction rules do not mention $f$ at all. Here is @{thm[source]sep.induct}:
 \begin{isabelle}
 {\isasymlbrakk}~{\isasymAnd}a.~P~a~[];\isanewline
 ~~{\isasymAnd}a~x.~P~a~[x];\isanewline
 ~~{\isasymAnd}a~x~y~zs.~P~a~(y~\#~zs)~{\isasymLongrightarrow}~P~a~(x~\#~y~\#~zs){\isasymrbrakk}\isanewline
 {\isasymLongrightarrow}~P~u~v%
 \end{isabelle}
-merely says that in order to prove a property @{term"P"} of @{term"u"} and
+It merely says that in order to prove a property @{term"P"} of @{term"u"} and
 @{term"v"} you need to prove it for the three cases where @{term"v"} is the
-empty list, the singleton list, and the list with at least two elements
-(in which case you may assume it holds for the tail of that list).
+empty list, the singleton list, and the list with at least two elements.
+The final case has an induction hypothesis:  you may assume that @{term"P"}
+holds for the tail of that list.
 *}
 
 (*<*)