Skip to main content
Log in

Eliminating the substitution axiom from UNITY logic

  • Published:
Formal Aspects of Computing

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 transformerssst andwst are introduced that allow the strongest invariant of a program to be expressed, and these are used to give new definitions for the temporal operatorsunless andensures. With the new definitions, the substitutionaxiom 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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Chandy, K. M. and Misra, J.:Parallel Program Design: A Foundation, Addison-Wesley, 1988.

  2. Cook, S. A.: Soundness and Completeness of an Axiom System for Program Verification.SIAMJ. Comp.,7, (1978) 70–90.

    Google Scholar 

  3. Dijkstra, E. W. and Scholten, C. S.:Predicate Calculus and Program Semantics, Springer-Verlag, 1990.

  4. Francez, N.:Fairness, Springer-Verlag, 1986.

  5. Gerth, R. and Pnueli, A.: Rooting UNITY.Proc. Fifth Int. Workshop on Software Specification and Design, Pittsburgh, Penn. 19–20 May 1989.

  6. Goldschlag, D. M.: Mechanizing Unity. In:Proc. of IFIP Working Conf. on Programming Concepts and Methods, Israel, April, 1990, M. Broy and C. B. Jones (eds), Elsevier Science Publishers B.V., 1990.

  7. Jutla, C. S., Knapp, E. and Rao, J. R.: A Predicate Transformer Approach to Semantics of Parallel Programs.Proc. 8th Annual ACM Symp. on Principles of Distributed Computing, 1989.

  8. Keller, R. M.: Formal Verification of Parallel Programs.CACM,19, 371–384 (1976).

    Google Scholar 

  9. Knapp, E.: A Predicate Transformer for Progress.Information Processing Letters (to appear).

  10. Lamport, L:win andsin: Predicate Transformers for Concurrency. DEC SRC Technical Report 17, May 1987.

  11. Liu, Z.: A Semantic Model for UNITY. University of Warwick Computer Science Technical Report RR144, August 1989.

  12. Misra, J.: The Importance of Ensuring.Notes on UNITY: 11–90, 11 January 1990.

  13. Misra, J.: Soundness of the Substitution Axiom.Notes on UNITY: 14–90, 2 March 1990.

  14. Sanders, Beverly: Stepwise Refinement of Mixed Specifications of Concurrent Programs. InProc. IFIP Working Conf. on Programming Concepts and Methods, Israel, April 1990 (M. Broy and C. B. Jones (eds), Elsevier Science Publishers B. V., 1990 1–25.

  15. Shankar, A. U. and Lam, S. S.: Time-Dependent Distributed Systems: Proving Safety, Liveness and Real-Time Properties.Distributed Computing,2 (1987) 61–79.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sanders, B.A. Eliminating the substitution axiom from UNITY logic. Formal Aspects of Computing 3, 189–205 (1991). https://doi.org/10.1007/BF01898402

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01898402

Keywords

Navigation