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.
Similar content being viewed by others
References
J. Abrial, The B Book, Cambridge University Press, 1996.
J. Abrial, D. Neilson, and I. Sorenson, “B Toolkit,” Technical Overview, BCORE, 1993.
H. Barringer, J.H. Chang, and C.B. Jones, “A logic covering undefinedness in program proofs,” Acta Informatica, Vol. 21, 1984.
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.
M.J.C. Gordon and T.F. Melham, Introduction to HOL, Cambridge University Press, 1993.
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.
C.B. Jones, Systematic Software Development Using VDM, Prentice Hall International, 1986.
C. Jones, “Partial functions and logics: A warning,” Information PWJS96-Processing Letters, Vol. 54, 1995.
B. Meyer, Introduction to the Theory of Programming Languages, Prentice Hall International, 1990.
J. Nicholls (Ed.), Z User Workshop 1991, Springer Verlag, 1992.
J. Nicholls (Ed.), Z Base Standard, Version 1.2., Oxford University Computing Laboratory PRG, 11 Keble Rd, Oxford OX1 3QD, 1995.
J. Nicholls (Ed.), Z Base Standard, Version 1.2., Oxford University Computing Laboratory PRG, 11 Keble Rd, Oxford OX1 3QD, 1995.
S. Owre, N. Shankar, and J.M. Rushby, “The PVS specification language,” Technical report, SRI International, Menlo Park, California, 1993.
C.H. Pratten, “An introduction to proving AMN specifications with PVS,” in [6], 1995.
B. Russell, “On denoting,” MIND, pp. 479–493, 1905.
M. Saaltink, “Z and EVES,” in [10], pp. 223–242, 1991.
J.M. Spivey, Understanding Z, Cambridge University Press, Cambridge, 1988.
J.M. Spivey, The Z Notation, a Reference Manual, 2nd edition, Prentice Hall International, 1992.
J. Stoy, Denotational Semantics, MIT Press, 1977.
A.N. Whitehead and B. Russell, Principia Mathematica, 2nd edition, Cambridge University Press, 1927.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1008797018928