src/HOL/UNITY/README.html
author chaieb
Wed, 19 May 2004 11:23:59 +0200
changeset 14758 af3b71a46a1c
parent 11193 851c90b23a9e
child 15283 f21466450330
permissions -rw-r--r--
A new implementation for presburger arithmetic following the one suggested in technical report Chaieb Amine and Tobias Nipkow. It is generic an smaller. the tactic has also changed and allows the abstaction over fuction occurences whose type is nat or int.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4776
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
     1
<!-- $Id$ -->
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
     2
<HTML><HEAD><TITLE>HOL/UNITY/README</TITLE></HEAD><BODY>
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
     3
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
     4
<H2>UNITY--Chandy and Misra's UNITY formalism</H2>
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
     5
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
     6
<P>The book <EM>Parallel Program Design: A Foundation</EM> by Chandy and Misra
5679
916c75592bf6 updated
paulson
parents: 5461
diff changeset
     7
(Addison-Wesley, 1988) presents the UNITY formalism.  UNITY consists of an
916c75592bf6 updated
paulson
parents: 5461
diff changeset
     8
abstract programming language of guarded assignments and a calculus for
916c75592bf6 updated
paulson
parents: 5461
diff changeset
     9
reasoning about such programs.  Misra's 1994 paper "A Logic for Concurrent
916c75592bf6 updated
paulson
parents: 5461
diff changeset
    10
Programming" presents New UNITY, giving more elegant foundations for a more
916c75592bf6 updated
paulson
parents: 5461
diff changeset
    11
general class of languages.  In recent work, Chandy and Sanders have proposed
916c75592bf6 updated
paulson
parents: 5461
diff changeset
    12
new methods for reasoning about systems composed of many components.
4776
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
    13
5679
916c75592bf6 updated
paulson
parents: 5461
diff changeset
    14
<P>This directory formalizes these new ideas for UNITY.  The Isabelle examples
916c75592bf6 updated
paulson
parents: 5461
diff changeset
    15
may seem strange to UNITY traditionalists.  Hand UNITY proofs tend to be
916c75592bf6 updated
paulson
parents: 5461
diff changeset
    16
written in the forwards direction, as in informal mathematics, while Isabelle
916c75592bf6 updated
paulson
parents: 5461
diff changeset
    17
works best in a backwards (goal-directed) style.  Programs are expressed as
916c75592bf6 updated
paulson
parents: 5461
diff changeset
    18
sets of commands, where each command is a relation on states.  Quantification
916c75592bf6 updated
paulson
parents: 5461
diff changeset
    19
over commands using [] is easily expressed.  At present, there are no examples
916c75592bf6 updated
paulson
parents: 5461
diff changeset
    20
of quantification using ||.
4776
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
    21
5679
916c75592bf6 updated
paulson
parents: 5461
diff changeset
    22
<P>A UNITY assertion denotes the set of programs satisfying it, as
916c75592bf6 updated
paulson
parents: 5461
diff changeset
    23
in the propositions-as-types paradigm.  The resulting style is readable if
916c75592bf6 updated
paulson
parents: 5461
diff changeset
    24
unconventional.
4776
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
    25
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
    26
<P> Safety proofs (invariants) are often proved automatically.  Progress
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
    27
proofs involving ENSURES can sometimes be proved automatically.  The
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
    28
level of automation appears to be about the same as in HOL-UNITY by Flemming
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
    29
Andersen et al.
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
    30
11193
851c90b23a9e reorganization of HOL/UNITY, moving examples to subdirectories Simple and Comp
paulson
parents: 5679
diff changeset
    31
<P>
851c90b23a9e reorganization of HOL/UNITY, moving examples to subdirectories Simple and Comp
paulson
parents: 5679
diff changeset
    32
The directory <A HREF="Simple/"><CODE>Simple</CODE></A>
851c90b23a9e reorganization of HOL/UNITY, moving examples to subdirectories Simple and Comp
paulson
parents: 5679
diff changeset
    33
presents a few examples, mostly taken from Misra's 1994
851c90b23a9e reorganization of HOL/UNITY, moving examples to subdirectories Simple and Comp
paulson
parents: 5679
diff changeset
    34
paper, involving single programs.
851c90b23a9e reorganization of HOL/UNITY, moving examples to subdirectories Simple and Comp
paulson
parents: 5679
diff changeset
    35
The directory <A HREF="Comp/"><CODE>Comp</CODE></A>
851c90b23a9e reorganization of HOL/UNITY, moving examples to subdirectories Simple and Comp
paulson
parents: 5679
diff changeset
    36
presents examples of proofs involving program composition.
851c90b23a9e reorganization of HOL/UNITY, moving examples to subdirectories Simple and Comp
paulson
parents: 5679
diff changeset
    37
4776
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
    38
<HR>
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
    39
<P>Last modified on $Date$
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
    40
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
    41
<ADDRESS>
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
    42
<A NAME="lcp@cl.cam.ac.uk" HREF="mailto:lcp@cl.cam.ac.uk">lcp@cl.cam.ac.uk</A>
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
    43
</ADDRESS>
1f9362e769c1 New UNITY theory
paulson
parents:
diff changeset
    44
</BODY></HTML>