equal
deleted
inserted
replaced
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}} |