Eliminating the substitution axiom from UNITY logic
- 1 June 1991
- journal article
- Published by Association for Computing Machinery (ACM) in Formal Aspects of Computing
- Vol. 3 (2), 189-205
- https://doi.org/10.1007/bf01898402
Abstract
The UNITY substitution axiom, “if (x=y) is an invariant of a program, then x can be replaced by y in any property of the program”, is problematic for several reasons. In this paper, dual predicate transformers sst and wst are introduced that allow the strongest invariant of a program to be expressed, and these are used to give new definitions for the temporal operators unless and ensures . With the new definitions, the substitution axiom is no longer needed, and can be replaced by a derived rule of inference which is formally justified in the logic. One important advantage is that the effects of the initial conditions on the properties of a program are formally captured in a convenient way, and one can forget about substitution in formal treatments of the UNITY proof system while still having it available when desirable to use during the derivation of programs. Composibility and completeness of the modified logic are also discussed.Keywords
This publication has 8 references indexed in Scilit:
- Predicate Calculus and Program SemanticsPublished by Springer Nature ,1990
- Rooting UNITYACM SIGSOFT Software Engineering Notes, 1989
- A predicate transformer approach to semantics of parallel programsPublished by Association for Computing Machinery (ACM) ,1989
- Parallel Program DesignPublished by Springer Nature ,1989
- Time-dependent distributed systems: proving safety, liveness and real-time propertiesDistributed Computing, 1987
- FairnessPublished by Springer Nature ,1986
- Soundness and Completeness of an Axiom System for Program VerificationSIAM Journal on Computing, 1978
- Formal verification of parallel programsCommunications of the ACM, 1976