Soundness and Completeness of UNITY Logic

UNITY is a formalism for specifying, designing, and verifying concurrent programs. It consists of a notation for writing programs and a logic for reasoning about them. We study the questions of soundness and completeness of UNITY logic, in which the so-called Substitution Axiom plays a crucial role. The Substitution Axiom for UNITY Logic lifts Leibniz's rule for substitution of equals to the level of UNITY properties (temporal modalities). Because of its informal nature, it has been a major source of confusion and misunderstanding. It turns out that omitting the Substitution Axiom, however, renders UNITY Logic incomplete. To cope with this dilemma we postulate a simple axiom, called the Completeness Rule, to replace the Substitution Axiom, and show that UNITY Logic plus the Completeness Rule is sound and relatively complete (in the sense of Cook). Our proof reduces the soundness and completeness of the UNITY proof system to a known soundness and completeness result of a fragment of Linear Time Temporal Logic. Finally, we show that from a practical point of view old and new logic are essentially the same.

[1]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[2]  Edsger W. Dijkstra,et al.  Predicate Calculus and Program Semantics , 1989, Texts and Monographs in Computer Science.

[3]  Zohar Manna,et al.  Adequate Proof Principles for Invariance and Liveness Properties of Concurrent Programs , 1984, Sci. Comput. Program..

[4]  K. Mani Chandy Parallel program design , 1989 .

[5]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[6]  Zohar Manna,et al.  How to cook a temporal proof system for your pet language , 1983, POPL '83.

[7]  Fred B. Schneider,et al.  A Logical Approach to Discrete Math , 1993, Texts and Monographs in Computer Science.

[8]  Edgar Knapp,et al.  Refinement as a basis for concurrent program design , 1992 .

[9]  Stephen A. Cook,et al.  Soundness and Completeness of an Axiom System for Program Verification , 1978, SIAM J. Comput..

[10]  Charanjit S. Jutla,et al.  A predicate transformer approach to semantics of parallel programs , 1989, PODC '89.