|
New
Foundations for Z |
Contents
IntroductionThis research is a joint project which is currently under investigation by:
The standard account of the foundations of the specification language Z is given in classical, extensional set theory. We aim explore the consequences of an alternative, based on a constructive, intensional set theory. Our motivation is the integration of specification with program development: a goal which has has proved elusive in the standard model. This work has been fundedby the Royal Society of Great Britain,the University of Waikato and theCentre for Discrete Mathematics andTheoretical Computer Science, New Zealand. Research PlanThe basic plan of this research:
ExamplesThe examples we give here are rather trivial. They nonetheless illustrate the strategy we are adopting and, hopefully, indicate in outline how we proceed in more ambitious cases. In our constructive and intensional Z operation schema are distinguished
from state schema and to each operation schema we associate a Program
Construction Obligation: The PCO can then be proved in the logic for Z: We have shown the proof explicitly in the underlying foundational system in order to illustrate how the process works. Because, however, the proof which the program developer undertakes is in the higher level logic for Z, we may make use of higher level programming constructs. In particular, using simple techniques from denotational semantics, the program derivation above has computational content: z := z + 1. As a consequence of the mathematics we may also conclude that: z := z + 1 e Inc. But perhaps the most interesting and encouraging aspects of this approach
is the use we may make of the schema calculus for not only structuring
specifications but also structuring program constructions: An alternative is to derive a program in terms of sequencing: Finally, we can use disjunction of operation schema to introduce alternation.
This, unsurprisingly, involves conditionals in the derived program. The
example which follows is rather artificial but illustrates the technique: Here is a program derivation for Op0: PublicationsThe following are all joint publications by Martin Henson and Steve Reeves:
Related WorkAnother project based at Essex is also investigating ways of providing badly needed support tools to aid the construction of derivations in this constructive, intensional version of Z. Our work should be seen as complimentary to the effort via the ISO panel on standardizing Z (on which Steve Reeves is the New Zealand representative) which is seeking to put Z, approximately as presented in many current textbooks, on a standardized and sure footing. There are links to other people working in formal methods in New Zealand on the Formal Program Development Colloquium web page. The focal point for much related work can be found in Jonathan Bowen's Virtual library of formal methods
Other WorkThomas Santen's site
on HOL-Z
Top of page
Web-administrator, Department of Computer Science, University of Waikato, Hamilton, New Zealand |