src/HOL/Induct/README.html
author paulson
Tue, 01 Sep 1998 15:04:59 +0200
changeset 5417 1f533238b53b
parent 3122 2fe26ca380a1
child 11053 026007eb2ccc
permissions -rw-r--r--
new theory Induct/FoldSet
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3122
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
     1
<!-- $Id$ -->
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
     2
<HTML><HEAD><TITLE>HOL/Induct/README</TITLE></HEAD><BODY>
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
     3
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
     4
<H2>Induct--Examples of (Co)Inductive Definitions</H2>
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
     5
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
     6
<P>This directory is a collection of small examples to demonstrate
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
     7
Isabelle/HOL's (co)inductive definitions package.  Large examples appear on
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
     8
many other directories, such as Auth, IMP and Lambda.
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
     9
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    10
<UL>
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    11
<LI><KBD>Perm</KBD> is a simple theory of permutations of lists.
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    12
5417
1f533238b53b new theory Induct/FoldSet
paulson
parents: 3122
diff changeset
    13
<LI><KBD>FoldSet</KBD> declares a <EM>fold</EM> functional for finite sets.
1f533238b53b new theory Induct/FoldSet
paulson
parents: 3122
diff changeset
    14
Let f be an associative-commutative function with identity e.
1f533238b53b new theory Induct/FoldSet
paulson
parents: 3122
diff changeset
    15
For n non-negative we have
1f533238b53b new theory Induct/FoldSet
paulson
parents: 3122
diff changeset
    16
<PRE>
1f533238b53b new theory Induct/FoldSet
paulson
parents: 3122
diff changeset
    17
fold f e {x1,...,xn} = f x1 (... (f xn e))
1f533238b53b new theory Induct/FoldSet
paulson
parents: 3122
diff changeset
    18
</PRE>
1f533238b53b new theory Induct/FoldSet
paulson
parents: 3122
diff changeset
    19
3122
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    20
<LI><KBD>Comb</KBD> proves the Church-Rosser theorem for combinators (<A
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    21
HREF="http://www.cl.cam.ac.uk/ftp/papers/reports/TR396-lcp-generic-automatic-proof-tools.ps.gz">paper
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    22
available</A>).
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    23
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    24
<LI><KBD>Mutil</KBD> is the famous Mutilated Chess Board problem (<A
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    25
HREF="http://www.cl.cam.ac.uk/ftp/papers/reports/TR394-lcp-mutilated-chess-board.dvi.gz">paper
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    26
available</A>).
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    27
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    28
<LI><KBD>PropLog</KBD> proves the completeness of a formalization of
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    29
propositional logic (<A
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    30
HREF="http://www.cl.cam.ac.uk/Research/Reports/TR312-lcp-set-II.ps.gz">paper
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    31
available</A>).
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    32
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    33
<LI><KBD>LFilter</KBD> is an inductive/corecursive formalization of the
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    34
<EM>filter</EM> functional for infinite streams.
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    35
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    36
<LI><KBD>Exp</KBD> demonstrates the use of iterated inductive definitions to
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    37
reason about mutually recursive relations.
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    38
</UL>
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    39
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    40
<HR>
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    41
<P>Last modified 7 May 1997
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    42
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    43
<ADDRESS>
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    44
<A NAME="lcp@cl.cam.ac.uk" HREF="mailto:lcp@cl.cam.ac.uk">lcp@cl.cam.ac.uk</A>
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    45
</ADDRESS>
2fe26ca380a1 Documentation for directory "Induct"
paulson
parents:
diff changeset
    46
</BODY></HTML>