doc-src/TutorialI/Advanced/advanced.tex
author nipkow
Wed, 11 Oct 2000 10:44:42 +0200
changeset 10187 0376cccd9118
parent 10186 499637e8f2c6
child 10189 865918597b63
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10178
aecb5bf6f76f *** empty log message ***
nipkow
parents: 10171
diff changeset
     1
\chapter{Advanced Simplification, Recursion and Induction}
aecb5bf6f76f *** empty log message ***
nipkow
parents: 10171
diff changeset
     2
\markboth{}{CHAPTER 4: ADVANCED SIMPLIFICATION, RECURSION ...}
9958
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
     3
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
     4
Although we have already learned a lot about simplification, recursion and
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
     5
induction, there are some advanced proof techniques that we have not covered
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
     6
yet and which are worth knowing about if you intend to beome a serious
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
     7
(human) theorem prover. The three sections of this chapter are almost
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
     8
independent of each other and can be read in any order. Only the notion of
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
     9
\emph{congruence rules}, introduced in the section on simplification, is
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
    10
required for parts of the section on recursion.
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
    11
9993
c0f7fb6e538e *** empty log message ***
nipkow
parents: 9958
diff changeset
    12
\input{Advanced/document/simp.tex}
9958
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
    13
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
    14
\section{Advanced forms of recursion}
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
    15
\index{*recdef|(}
10186
499637e8f2c6 *** empty log message ***
nipkow
parents: 10178
diff changeset
    16
10187
0376cccd9118 *** empty log message ***
nipkow
parents: 10186
diff changeset
    17
The purpose of this section is to introduce advanced forms of \isacommand{recdef}. It
0376cccd9118 *** empty log message ***
nipkow
parents: 10186
diff changeset
    18
covers two topics: how to define recursive function over nested recursive datatypes
0376cccd9118 *** empty log message ***
nipkow
parents: 10186
diff changeset
    19
and how to establish termination by means other than measure functions.
0376cccd9118 *** empty log message ***
nipkow
parents: 10186
diff changeset
    20
10186
499637e8f2c6 *** empty log message ***
nipkow
parents: 10178
diff changeset
    21
\subsection{Recursion over nested datatypes}
499637e8f2c6 *** empty log message ***
nipkow
parents: 10178
diff changeset
    22
\label{sec:nested-recdef}
9993
c0f7fb6e538e *** empty log message ***
nipkow
parents: 9958
diff changeset
    23
\input{Recdef/document/Nested0.tex}
c0f7fb6e538e *** empty log message ***
nipkow
parents: 9958
diff changeset
    24
\input{Recdef/document/Nested1.tex}
c0f7fb6e538e *** empty log message ***
nipkow
parents: 9958
diff changeset
    25
\input{Recdef/document/Nested2.tex}
9958
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
    26
\index{*recdef|)}
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
    27
10186
499637e8f2c6 *** empty log message ***
nipkow
parents: 10178
diff changeset
    28
\subsection{Beyond measure}
499637e8f2c6 *** empty log message ***
nipkow
parents: 10178
diff changeset
    29
\label{sec:wellfounded}
10187
0376cccd9118 *** empty log message ***
nipkow
parents: 10186
diff changeset
    30
\input{Advanced/document/WFrec.tex}
10186
499637e8f2c6 *** empty log message ***
nipkow
parents: 10178
diff changeset
    31
9958
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
    32
\section{Advanced induction techniques}
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
    33
\label{sec:advanced-ind}
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
    34
\index{induction|(}
9993
c0f7fb6e538e *** empty log message ***
nipkow
parents: 9958
diff changeset
    35
\input{Misc/document/AdvancedInd.tex}
9958
67f2920862c7 *** empty log message ***
nipkow
parents:
diff changeset
    36
\index{induction|)}