doc-src/TutorialI/Inductive/inductive.tex
author haftmann
Fri, 08 May 2009 09:48:07 +0200
changeset 31068 f591144b0f17
parent 25330 15bf0f47a87d
child 48522 708278fc2dff
permissions -rw-r--r--
modules numeral_simprocs, nat_numeral_simprocs; proper structures for numeral simprocs
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10865
18927bcf7aed a new label
paulson
parents: 10762
diff changeset
     1
\chapter{Inductively Defined Sets} \label{chap:inductive}
11428
332347b9b942 tidying the index
paulson
parents: 11411
diff changeset
     2
\index{inductive definitions|(}
10242
028f54cd2cc9 *** empty log message ***
nipkow
parents: 10225
diff changeset
     3
028f54cd2cc9 *** empty log message ***
nipkow
parents: 10225
diff changeset
     4
This chapter is dedicated to the most important definition principle after
028f54cd2cc9 *** empty log message ***
nipkow
parents: 10225
diff changeset
     5
recursive functions and datatypes: inductively defined sets.
028f54cd2cc9 *** empty log message ***
nipkow
parents: 10225
diff changeset
     6
11147
d848c6693185 *** empty log message ***
nipkow
parents: 10884
diff changeset
     7
We start with a simple example: the set of even numbers.  A slightly more
d848c6693185 *** empty log message ***
nipkow
parents: 10884
diff changeset
     8
complicated example, the reflexive transitive closure, is the subject of
d848c6693185 *** empty log message ***
nipkow
parents: 10884
diff changeset
     9
{\S}\ref{sec:rtc}. In particular, some standard induction heuristics are
d848c6693185 *** empty log message ***
nipkow
parents: 10884
diff changeset
    10
discussed. Advanced forms of inductive definitions are discussed in
d848c6693185 *** empty log message ***
nipkow
parents: 10884
diff changeset
    11
{\S}\ref{sec:adv-ind-def}. To demonstrate the versatility of inductive
d848c6693185 *** empty log message ***
nipkow
parents: 10884
diff changeset
    12
definitions, the chapter closes with a case study from the realm of
d848c6693185 *** empty log message ***
nipkow
parents: 10884
diff changeset
    13
context-free grammars. The first two sections are required reading for anybody
d848c6693185 *** empty log message ***
nipkow
parents: 10884
diff changeset
    14
interested in mathematical modelling.
10219
eb28637c72ce *** empty log message ***
nipkow
parents:
diff changeset
    15
25330
15bf0f47a87d added inductive
nipkow
parents: 23843
diff changeset
    16
\begin{warn}
15bf0f47a87d added inductive
nipkow
parents: 23843
diff changeset
    17
Predicates can also be defined inductively.
15bf0f47a87d added inductive
nipkow
parents: 23843
diff changeset
    18
See {\S}\ref{sec:ind-predicates}.
15bf0f47a87d added inductive
nipkow
parents: 23843
diff changeset
    19
\end{warn}
15bf0f47a87d added inductive
nipkow
parents: 23843
diff changeset
    20
23843
4cd60e5d2999 LaTeX code is now generated directly from Even and Advanced theories.
berghofe
parents: 11428
diff changeset
    21
\input{Inductive/document/Even}
10762
cd1a2bee5549 *** empty log message ***
nipkow
parents: 10520
diff changeset
    22
\input{Inductive/document/Mutual}
10225
b9fd52525b69 *** empty log message ***
nipkow
parents: 10219
diff changeset
    23
\input{Inductive/document/Star}
10242
028f54cd2cc9 *** empty log message ***
nipkow
parents: 10225
diff changeset
    24
11216
279004936bb0 *** empty log message ***
nipkow
parents: 11147
diff changeset
    25
\section{Advanced Inductive Definitions}
11147
d848c6693185 *** empty log message ***
nipkow
parents: 10884
diff changeset
    26
\label{sec:adv-ind-def}
23843
4cd60e5d2999 LaTeX code is now generated directly from Even and Advanced theories.
berghofe
parents: 11428
diff changeset
    27
\input{Inductive/document/Advanced}
10371
4015fdd0bcf0 the section command will belong to the new file
paulson
parents: 10327
diff changeset
    28
10520
bb9dfcc87951 *** empty log message ***
nipkow
parents: 10468
diff changeset
    29
\input{Inductive/document/AB}
bb9dfcc87951 *** empty log message ***
nipkow
parents: 10468
diff changeset
    30
11428
332347b9b942 tidying the index
paulson
parents: 11411
diff changeset
    31
\index{inductive definitions|)}