Skip to main content
Log in

Undefined Expressions and Logic in Z and B

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

In this paper we show how undefined expressions and undetermined predicates may arise when using the specification languages Z and B. We review how undefined terms have been handled in various formalisms (Principia Mathematica, Domain Theory, LPF,) and look at the effect of undefined expressions on the proof theory and the denotational meaning of specifications in Z and B. We note that in formal systems which make use of partial functions and have an unguarded equality axiom x = x together with a classical two valued logic it is impossible to have a proof rules of the form y = f(x) ⇒ x ↦ y ∈ f and that consequently, assertions of the form y = f(x) may have very little meaning.

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. J. Abrial, The B Book, Cambridge University Press, 1996.

  2. J. Abrial, D. Neilson, and I. Sorenson, “B Toolkit,” Technical Overview, BCORE, 1993.

  3. H. Barringer, J.H. Chang, and C.B. Jones, “A logic covering undefinedness in program proofs,” Acta Informatica, Vol. 21, 1984.

  4. S. Brien, “The development of Z,” in D.J. Andrews, D.F. Groote, and C.A. Middleburg (Eds.), Proc. International Workshop on Semantics of Specification Languages, Springer Verlag, 1994.

  5. M.J.C. Gordon and T.F. Melham, Introduction to HOL, Cambridge University Press, 1993.

  6. H. Habrias (Ed.), Z Twenty Years On, What is its Future? Proceedings of the 7th International Conference on Putting into Practice Methods and Tools for Information System Design, IRIN University de Nantes, France, 1995, ISBN 2–906082–19–8.

    Google Scholar 

  7. C.B. Jones, Systematic Software Development Using VDM, Prentice Hall International, 1986.

  8. C. Jones, “Partial functions and logics: A warning,” Information PWJS96-Processing Letters, Vol. 54, 1995.

  9. B. Meyer, Introduction to the Theory of Programming Languages, Prentice Hall International, 1990.

  10. J. Nicholls (Ed.), Z User Workshop 1991, Springer Verlag, 1992.

  11. J. Nicholls (Ed.), Z Base Standard, Version 1.2., Oxford University Computing Laboratory PRG, 11 Keble Rd, Oxford OX1 3QD, 1995.

    Google Scholar 

  12. J. Nicholls (Ed.), Z Base Standard, Version 1.2., Oxford University Computing Laboratory PRG, 11 Keble Rd, Oxford OX1 3QD, 1995.

    Google Scholar 

  13. S. Owre, N. Shankar, and J.M. Rushby, “The PVS specification language,” Technical report, SRI International, Menlo Park, California, 1993.

    Google Scholar 

  14. C.H. Pratten, “An introduction to proving AMN specifications with PVS,” in [6], 1995.

    Google Scholar 

  15. B. Russell, “On denoting,” MIND, pp. 479–493, 1905.

  16. M. Saaltink, “Z and EVES,” in [10], pp. 223–242, 1991.

  17. J.M. Spivey, Understanding Z, Cambridge University Press, Cambridge, 1988.

    Google Scholar 

  18. J.M. Spivey, The Z Notation, a Reference Manual, 2nd edition, Prentice Hall International, 1992.

  19. J. Stoy, Denotational Semantics, MIT Press, 1977.

  20. A.N. Whitehead and B. Russell, Principia Mathematica, 2nd edition, Cambridge University Press, 1927.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Stoddart, B., Dunne, S. & Galloway, A. Undefined Expressions and Logic in Z and B. Formal Methods in System Design 15, 201–215 (1999). https://doi.org/10.1023/A:1008797018928

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008797018928

Navigation