Systematic software development using VDM
Systematic software development using VDM
Introduction to the theory of programming languages
Introduction to the theory of programming languages
The Z notation: a reference manual
The Z notation: a reference manual
Partial functions and logics: a warning
Information Processing Letters
Proceedings of the International Workshop on Semantics of Specification Languages (SoSL)
Proceedings of the Z User Workshop
On Using Conditional Definitions in Formal Theories
ZB '02 Proceedings of the 2nd International Conference of B and Z Users on Formal Specification and Development in Z and B
A design-based model of reversible computation
UTP'06 Proceedings of the First international conference on Unifying Theories of Programming
Preventing arithmetic overflows in alloy
ABZ'12 Proceedings of the Third international conference on Abstract State Machines, Alloy, B, VDM, and Z
Hi-index | 0.00 |
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.