doc-src/TutorialI/Misc/document/AdvancedInd.tex
changeset 10236 7626cb4e1407
parent 10217 e61e7e1eacaf
child 10242 028f54cd2cc9
equal deleted inserted replaced
10235:20cf817f3b4a 10236:7626cb4e1407
   214 format is
   214 format is
   215 \begin{quote}
   215 \begin{quote}
   216 \isacommand{apply}\isa{{\isacharparenleft}induct{\isacharunderscore}tac} $y@1 \dots y@n$ \isa{rule{\isacharcolon}} $r$\isa{{\isacharparenright}}
   216 \isacommand{apply}\isa{{\isacharparenleft}induct{\isacharunderscore}tac} $y@1 \dots y@n$ \isa{rule{\isacharcolon}} $r$\isa{{\isacharparenright}}
   217 \end{quote}\index{*induct_tac}%
   217 \end{quote}\index{*induct_tac}%
   218 where $y@1, \dots, y@n$ are variables in the first subgoal.
   218 where $y@1, \dots, y@n$ are variables in the first subgoal.
       
   219 A further example of a useful induction rule is \isa{length{\isacharunderscore}induct},
       
   220 induction on the length of a list:\indexbold{*length_induct}
       
   221 \begin{isabelle}%
       
   222 \ \ \ \ \ {\isacharparenleft}{\isasymAnd}xs{\isachardot}\ {\isasymforall}ys{\isachardot}\ length\ ys\ {\isacharless}\ length\ xs\ {\isasymlongrightarrow}\ P\ ys\ {\isasymLongrightarrow}\ P\ xs{\isacharparenright}\ {\isasymLongrightarrow}\ P\ xs%
       
   223 \end{isabelle}
       
   224 
   219 In fact, \isa{induct{\isacharunderscore}tac} even allows the conclusion of
   225 In fact, \isa{induct{\isacharunderscore}tac} even allows the conclusion of
   220 $r$ to be an (iterated) conjunction of formulae of the above form, in
   226 $r$ to be an (iterated) conjunction of formulae of the above form, in
   221 which case the application is
   227 which case the application is
   222 \begin{quote}
   228 \begin{quote}
   223 \isacommand{apply}\isa{{\isacharparenleft}induct{\isacharunderscore}tac} $y@1 \dots y@n$ \isa{and} \dots\ \isa{and} $z@1 \dots z@m$ \isa{rule{\isacharcolon}} $r$\isa{{\isacharparenright}}
   229 \isacommand{apply}\isa{{\isacharparenleft}induct{\isacharunderscore}tac} $y@1 \dots y@n$ \isa{and} \dots\ \isa{and} $z@1 \dots z@m$ \isa{rule{\isacharcolon}} $r$\isa{{\isacharparenright}}