doc-src/TutorialI/Recdef/document/Nested0.tex
author nipkow
Tue, 29 Aug 2000 15:43:29 +0200
changeset 9722 a5f86aed785b
parent 9721 7e51c9f3d5a0
child 9754 a123a64cadeb
permissions -rw-r--r--
*** empty log message ***
nipkow@9722
     1
%
nipkow@9722
     2
\begin{isabellebody}%
wenzelm@9698
     3
%
wenzelm@9698
     4
\begin{isamarkuptext}%
wenzelm@9698
     5
In \S\ref{sec:nested-datatype} we defined the datatype of terms%
wenzelm@9698
     6
\end{isamarkuptext}%
wenzelm@9698
     7
\isacommand{datatype}\ {\isacharparenleft}{\isacharprime}a{\isacharcomma}{\isacharprime}b{\isacharparenright}{\isachardoublequote}term{\isachardoublequote}\ {\isacharequal}\ Var\ {\isacharprime}a\ {\isacharbar}\ App\ {\isacharprime}b\ {\isachardoublequote}{\isacharparenleft}{\isacharprime}a{\isacharcomma}{\isacharprime}b{\isacharparenright}term\ list{\isachardoublequote}%
wenzelm@9698
     8
\begin{isamarkuptext}%
wenzelm@9698
     9
\noindent
wenzelm@9698
    10
and closed with the observation that the associated schema for the definition
wenzelm@9698
    11
of primitive recursive functions leads to overly verbose definitions. Moreover,
wenzelm@9698
    12
if you have worked exercise~\ref{ex:trev-trev} you will have noticed that
wenzelm@9698
    13
you needed to reprove many lemmas reminiscent of similar lemmas about
wenzelm@9698
    14
\isa{rev}. We will now show you how \isacommand{recdef} can simplify
wenzelm@9698
    15
definitions and proofs about nested recursive datatypes. As an example we
wenzelm@9698
    16
chose exercise~\ref{ex:trev-trev}:
wenzelm@9698
    17
wenzelm@9698
    18
FIXME: declare trev now!%
wenzelm@9698
    19
\end{isamarkuptext}%
nipkow@9722
    20
\end{isabellebody}%
wenzelm@9698
    21
%%% Local Variables:
wenzelm@9698
    22
%%% mode: latex
wenzelm@9698
    23
%%% TeX-master: "root"
wenzelm@9698
    24
%%% End: