doc-src/TutorialI/Inductive/inductive.tex
author blanchet
Tue, 17 Feb 2009 14:01:54 +0100
changeset 29956 62f931b257b7
parent 25330 15bf0f47a87d
child 48522 708278fc2dff
permissions -rw-r--r--
Reintroduce set_interpreter for Collect and op :. I removed them by accident when removing old code that dealt with the "set" type. Incidentally, there is still some broken "set" code in Refute that should be fixed (see TODO in refute.ML).
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|)}