| author | wenzelm | 
| Sat, 13 Nov 2021 17:26:35 +0100 | |
| changeset 74779 | 5fca489a6ac1 | 
| parent 51404 | 90a598019aeb | 
| permissions | -rw-r--r-- | 
| 15283 | 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | 
| 2 | ||
| 15582 | 3 | <HTML> | 
| 4 | ||
| 5 | <HEAD> | |
| 6 | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | |
| 7 | <TITLE>HOL/UNITY/README</TITLE> | |
| 8 | </HEAD> | |
| 9 | ||
| 10 | <BODY> | |
| 4776 | 11 | |
| 12 | <H2>UNITY--Chandy and Misra's UNITY formalism</H2> | |
| 13 | ||
| 14 | <P>The book <EM>Parallel Program Design: A Foundation</EM> by Chandy and Misra | |
| 5679 | 15 | (Addison-Wesley, 1988) presents the UNITY formalism. UNITY consists of an | 
| 16 | abstract programming language of guarded assignments and a calculus for | |
| 17 | reasoning about such programs. Misra's 1994 paper "A Logic for Concurrent | |
| 18 | Programming" presents New UNITY, giving more elegant foundations for a more | |
| 19 | general class of languages. In recent work, Chandy and Sanders have proposed | |
| 20 | new methods for reasoning about systems composed of many components. | |
| 4776 | 21 | |
| 5679 | 22 | <P>This directory formalizes these new ideas for UNITY. The Isabelle examples | 
| 23 | may seem strange to UNITY traditionalists. Hand UNITY proofs tend to be | |
| 24 | written in the forwards direction, as in informal mathematics, while Isabelle | |
| 25 | works best in a backwards (goal-directed) style. Programs are expressed as | |
| 26 | sets of commands, where each command is a relation on states. Quantification | |
| 27 | over commands using [] is easily expressed. At present, there are no examples | |
| 28 | of quantification using ||. | |
| 4776 | 29 | |
| 5679 | 30 | <P>A UNITY assertion denotes the set of programs satisfying it, as | 
| 31 | in the propositions-as-types paradigm. The resulting style is readable if | |
| 32 | unconventional. | |
| 4776 | 33 | |
| 34 | <P> Safety proofs (invariants) are often proved automatically. Progress | |
| 35 | proofs involving ENSURES can sometimes be proved automatically. The | |
| 36 | level of automation appears to be about the same as in HOL-UNITY by Flemming | |
| 37 | Andersen et al. | |
| 38 | ||
| 11193 
851c90b23a9e
reorganization of HOL/UNITY, moving examples to subdirectories Simple and Comp
 paulson parents: 
5679diff
changeset | 39 | <P> | 
| 
851c90b23a9e
reorganization of HOL/UNITY, moving examples to subdirectories Simple and Comp
 paulson parents: 
5679diff
changeset | 40 | The directory <A HREF="Simple/"><CODE>Simple</CODE></A> | 
| 
851c90b23a9e
reorganization of HOL/UNITY, moving examples to subdirectories Simple and Comp
 paulson parents: 
5679diff
changeset | 41 | presents a few examples, mostly taken from Misra's 1994 | 
| 
851c90b23a9e
reorganization of HOL/UNITY, moving examples to subdirectories Simple and Comp
 paulson parents: 
5679diff
changeset | 42 | paper, involving single programs. | 
| 
851c90b23a9e
reorganization of HOL/UNITY, moving examples to subdirectories Simple and Comp
 paulson parents: 
5679diff
changeset | 43 | The directory <A HREF="Comp/"><CODE>Comp</CODE></A> | 
| 
851c90b23a9e
reorganization of HOL/UNITY, moving examples to subdirectories Simple and Comp
 paulson parents: 
5679diff
changeset | 44 | presents examples of proofs involving program composition. | 
| 
851c90b23a9e
reorganization of HOL/UNITY, moving examples to subdirectories Simple and Comp
 paulson parents: 
5679diff
changeset | 45 | |
| 4776 | 46 | <ADDRESS> | 
| 47 | <A NAME="lcp@cl.cam.ac.uk" HREF="mailto:lcp@cl.cam.ac.uk">lcp@cl.cam.ac.uk</A> | |
| 48 | </ADDRESS> | |
| 49 | </BODY></HTML> |