author | nipkow |
Tue, 29 Aug 2000 15:43:29 +0200 | |
changeset 9722 | a5f86aed785b |
parent 9721 | 7e51c9f3d5a0 |
child 9754 | a123a64cadeb |
permissions | -rw-r--r-- |
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: |