Abstract
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.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
K. M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison Wesley, 1988.
S. Cook. Soundness and completeness of an axiom system for program verification. SIAM Journal of Computing, 7(1): 70–90, 1978.
E. W. Dijkstra and C. S. Scholten. Predicate Calculus and Program Semantics. Springer-Verlag, 1989.
A. E. Emerson. Temporal and modal logic. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, pages 995–1072. Elsevier, 1990.
R. Gerth and A. Pnueli. The roots of UNITY. In Proceedings Fifth International Workshop on Software Specification and Design, Pittsburgh, Penn., May 1989.
D. Gries and F. B. Schneider. A Logical Approach to Discrete Math. Springer-Verlag, 1993.
C. S. Jutla, E. Knapp, and J. R. Rao. A predicate transformer approach to semantics of parallel programs. In ACM SIGACT/SIGOPT Symposium on Principles of Distributed Computing, pages 249–263, Aug. 1989.
E. Knapp. Refinement as a Basis For Concurrent Program Design. PhD thesis, The University of Texas at Austin, May 1992.
J. Kornerup. An analysis of the logic of unity. Unpublished manuscript, 1989.
Z. Manna and A. Pnueli. How to cook a temporal proof system for your pet language. In ACM Symposium on Principles of Programming Languages, 1983.
Z. Manna and A. Pnueli. Adequate proof principles for invariance and liveness properties of concurrent programs. Science of Computer Programming, 4(4): 257–289, 1984.
J. Misra. Soundness of the substitution axiom. Notes On Unity, (14), Mar. 1990.
J. R. Rao. On a notion of completeness for the leads-to. Notes On Unity, (24), July 1991.
B. Sanders. Eliminating the substitution axiom from UNITY logic. Formal Aspects of Computing, 3: 189–205, 1991.
J. L. A. van de Snepscheut. Personal Communication.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Knapp, E. (1994). Soundness and completeness of UNITY logic. In: Thiagarajan, P.S. (eds) Foundation of Software Technology and Theoretical Computer Science. FSTTCS 1994. Lecture Notes in Computer Science, vol 880. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58715-2_139
Download citation
DOI: https://doi.org/10.1007/3-540-58715-2_139
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58715-6
Online ISBN: 978-3-540-49054-8
eBook Packages: Springer Book Archive