doc-src/TutorialI/Misc/AdvancedInd.thy
changeset 12815 1f073030b97a
parent 12699 deae80045527
child 16417 9bc16273c2d4
equal deleted inserted replaced
12814:2f5edb146f7e 12815:1f073030b97a
    78 as
    78 as
    79 \begin{equation}\label{eqn:ind-over-term}
    79 \begin{equation}\label{eqn:ind-over-term}
    80 \forall y@1 \dots y@n.~ x = t \longrightarrow C.
    80 \forall y@1 \dots y@n.~ x = t \longrightarrow C.
    81 \end{equation}
    81 \end{equation}
    82 where $y@1 \dots y@n$ are the free variables in $t$ and $x$ is a new variable.
    82 where $y@1 \dots y@n$ are the free variables in $t$ and $x$ is a new variable.
    83 Now you can perform
    83 Now you can perform induction on~$x$. An example appears in
    84 perform induction on~$x$. An example appears in
       
    85 \S\ref{sec:complete-ind} below.
    84 \S\ref{sec:complete-ind} below.
    86 
    85 
    87 The very same problem may occur in connection with rule induction. Remember
    86 The very same problem may occur in connection with rule induction. Remember
    88 that it requires a premise of the form $(x@1,\dots,x@k) \in R$, where $R$ is
    87 that it requires a premise of the form $(x@1,\dots,x@k) \in R$, where $R$ is
    89 some inductively defined set and the $x@i$ are variables.  If instead we have
    88 some inductively defined set and the $x@i$ are variables.  If instead we have
   262 Suc n"}) we distinguish two cases: case @{prop"m < n"} is true by induction
   261 Suc n"}) we distinguish two cases: case @{prop"m < n"} is true by induction
   263 hypothesis and case @{prop"m = n"} follows from the assumption, again using
   262 hypothesis and case @{prop"m = n"} follows from the assumption, again using
   264 the induction hypothesis:
   263 the induction hypothesis:
   265 *};
   264 *};
   266  apply(blast);
   265  apply(blast);
   267 by(blast elim:less_SucE)
   266 by(blast elim: less_SucE)
   268 
   267 
   269 text{*\noindent
   268 text{*\noindent
   270 The elimination rule @{thm[source]less_SucE} expresses the case distinction:
   269 The elimination rule @{thm[source]less_SucE} expresses the case distinction:
   271 @{thm[display]"less_SucE"[no_vars]}
   270 @{thm[display]"less_SucE"[no_vars]}
   272 
   271