Abstract
A simple ‘shallow’ semantic embedding of the Z notation into the HOL logic is described. The Z notation is based on set theory and first order predicate logic and is typically used for human-readable formal specification. The HOL theorem proving system supports higher order logic and is used for machine-checked verification. A well-known case study is used as a running example. The presentation is intended to show people with some knowledge of Z how a tool such as HOL can be used to provide mechanical support for the notation, including mechanization of proofs. No specialized knowledge of HOL is assumed.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Andrews PD. An Introduction to Mathematical Logic and Type Theory: To Truth through Proof. Computer Science and Applied Mathematics Series. Academic Press, 1986.
Boulton RJ, Gordon AD, Harrison JR, Herbert JMJ, Van Tassel J. Experience with embedding hardware description languages in HOL. In Stavridou V, Melham TF, Boute RT (eds), Theorem Provers in Circuit Design: Theory, Practice and Experience: Proceedings of the IFIP TC10/WG 10.2 International Conference, IFIP Transactions A-10, pp 129–156. North-Holland, 1992.
Bowen JP. Comp.specification.z and Z FORUM frequently asked questions. In Bowen JP, Hall JA (eds), Z User Workshop, Cambridge 1994, Workshops in Computing. Springer-Verlag, 1994.
Bowen JP, Stavridou V. Safety-critical systems, formal methods and standards. IEE/BCS Software Engineering Journal, 8 (4): 189–209, 1993.
Brien SM, Nicholls JE. Z base standard. Technical Monograph PRG-107, Oxford University Computing Laboratory, UK, 1992. Accepted for ISO standardization, ISO/IEC JTC1/SC22.
Church A. A formulation of the simple theory of types. The Journal of Symbolic Logic, 5: 56–68, 1940.
Collinson R. A simple demonstration of Balzac. Technical report, GCHQ, Fiddlers Green Lane, Cheltenham, Gloucestershire, UK, 1992.
Diller A. Z: An Introduction to Formal Methods. Wiley, 1990.
Gordon MJC, Melham TF (eds). Introduction to HOL: A Theorem-proving Environment for Higher-Order Logic. Cambridge University Press, 1993.
Gordon MJC, Milner R, Wadsworth CP. Edinburgh LCF: A Mechanised Logic of Computation, vol 78 of Lecture Notes in Computer Science. Springer-Verlag, 1979.
Harwood WT. Proof rules for Balzac. Technical Report WTH/P7/001, Imperial Software Technology, Cambridge, UK, 1991.
Jones RB. ICL ProofPower. BCS FACS FACTS, Series III, 1 (1): 10–13, 1992.
Macdonald R, Randell GP, Sennett CT. Pattern matching in ML: A case study in refinement. Report No. 89004, RSRE (now DRA), Defence Research Agency, St. Andrews Road, Malvern, Worcestershire WR14 3PS, UK, 1989.
Maharaj S. Implementing Z in LEGO. Master’s thesis, University of Edinburgh, UK, 1990.
Maharaj S. Encoding Z schemas in type theory. In Geuves H (ed), Informal Proceedings of the 1993 Workshop on Types for Proofs and Programs, pp 209–218, 1993. Distributed electronically.
Martin A. Encoding W: A logic for Z in 2OBJ. In Woodcock JCP, Larsen PG (eds), FME’93: Industrial-Strength Formal Methods, vol 670 of Lecture Notes in Computer Science, pp 462–481. Springer-Verlag, 1993.
Melham T. Using recursive types to reason about hardware in Higher Order Logic. In Milne GJ (ed), The Fusion of Hardware Design and Verification, Proceedings of the IFIP WG10.2 Working Conference, pp 27–50. North-Holland, 1988.
Milner R, Tofte M, Harper R. The Definition of Standard ML. The MIT Press, 1990.
Neilson D. Machine support for Z: the zedB tool. In Nicholls JE (ed), Z User Workshop, Oxford 1990, Workshops in Computing, pp 105–128. Springer-Verlag, 1991.
Neilson D, Prasad D. zedB: A proof tool for Z built on B. In Nicholls JE (ed), Z User Workshop, York 1991, Workshops in Computing, pp 243–258. Springer-Verlag, 1992.
Paulson LC. Logic and Computation: Interactive Proof with Cambridge LCF, vol 2 of Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1987.
Paulson LC. A fixedpoint approach to implementing (co-)inductive definitions. Technical report, University of Cambridge, Computer Laboratory, UK, 1993. Draft.
Potter BF, Sinclair JE, Till D. An Introduction to Formal Specification and Z. Prentice Hall International Series in Computer Science, 1990.
Saaltink M. Z and EVES. Technical Report TR–91–5449–02, Odyyssey Research Associates, 265 Carling Avenue, Suite 506, Ottawa, Ontario K1S 2E1, Canada, 1991.
Saaltink M. Z and Eves. In Nicholls JE (ed), Z User Workshop, York 1991, Workshops in Computing, pp 223–242. Springer-Verlag, 1992.
Smith A. On recursive free types in Z. In Nicholls JE (ed), Z User Workshop, York 1991, Workshops in Computing, pp 3–39. Springer-Verlag, 1992.
Spivey JM. An introduction to Z and formal specifications. IEE/BCS Software Engineering Journal, 4 (1): 40–50, 1989.
Spivey JM. The fuzz Manual. Computing Science Consultancy, 2 Willow Close, Garsington, Oxford OX9 9AN, UK, 2nd edition, 1992.
Spivey JM. The Z Notation: A Reference Manual. Prentice Hall International Series in Computer Science, 2nd edition, 1992.
Woodcock JCP, Brien SM. W: A logic for Z. In Nicholls JE (ed), Z User Workshop, York 1991, Workshops in Computing, pp 77–96. Springer-Verlag, 1992.
Xiaoping Jia. ZTC: A Type Checker for Z User’s Guide. Institute for Software Engineering, Department of Computer Science and Information Systems, DePaul University, Chicago, IL 60604, USA (e-mail: j is@cs. depaul. edu), 1994.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1994 British Computer Society
About this paper
Cite this paper
Bowen, J., Gordon, M. (1994). Z and HOL. In: Bowen, J.P., Hall, J.A. (eds) Z User Workshop, Cambridge 1994. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3452-7_9
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3452-7_9
Publisher Name: Springer, London
Print ISBN: 978-3-540-19884-0
Online ISBN: 978-1-4471-3452-7
eBook Packages: Springer Book Archive