Abstract
A refinement calculus is a formal system that enables a program to be derived from its specification in such a way that the program is correct by construction. A number of workers have developed such systems which are mainly based on a predicate transformer semantics. In this paper an alternative system is proposed, which is based instead on predicates in first order logic. This is a simpler framework, and its strengths and weaknesses are explored. In addition, the paper introduces a simplified form of the loop construction rule whose only side-conditions are purely syntactic.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
On the Correctness of Refinement Steps in Program Development R J R Back. PhD Thesis A-1978–4, Department of Computer Science, University of Helsinki, 1978.
Duality in Specification Languages: A Lattice-theoretical Approach R J R Back, J von Wright. Acta Informatica, vol 27, pages 583–625, 1990.
The Munich Project CIP (vol I) F L Bauer et al. Springer Verlag Lecture Notes in Computer Science 183, 1985.
The Munich Project CIP (vol H) F L Bauer et al. Springer Verlag Lecture Notes in Computer Science 292, 1987.
Simple Fixpoint Argument Without the Restriction to Continuity E W Dijkstra, A J M van Gasteren. Acta Informatica, vol 23, pages 1–7, 1986.
Correctness-Oriented Approaches to Software Development S Gilmore. PhD Thesis CST-76–91, Department of Computer Science, University of Edinburgh, April 1991.
Completeness of Many-Sorted Equational Logic J A Goguen and J Meseguer. SIG PLAN Notices, vol 16, no 7, pages 24–32, 1981.
Predicative Programming Parts I and II Communications of the ACM, vol 27, pages 134–151, 1984.
Predicative Methodology E C R Hehner, L E Gupta, A J Malton. Acta Informat.ica, vol 23, pages 487–505, 1986.
A Practical Theory of Programming (draft) E C R Hehner. De- partment of Computer Science, University of Toronto, July 1991.
Systematic Software Development Using VDM (second edition) C B Jones. Prentice Hall, 1990.
Z and the Refinement Calculus S King. Report PRG 79, Programming Research Group, Oxford, February 1990.
Introduction to Mathematical Logic (third edition). E Mendelson. Wadsworth Brooks, 1987.
Data Refinement using Miracles C C Morgan. Information Processing Letters, vol 26, no 5, pages 243–246, January 1988
Programming from Specifications C C Morgan. Prentice Hall 1990
A Theoretical Basic for Stepwise Refinement and the Programming Calculus J M Morris Science of Computer Programming, vol 9, no 3 pages 287–306, 1987.
Machine Support for Z: the zedB tool D Nielson. Z User Workshop (Oxford 90), ed J E Nicholls, pages 105–128, Springer-Verlag, 1991.
Specification and Transformation of Programs H A Partsch Springer Verlag, 1990.
An. Introduction to Formal Specification and Z B Potter, J Sinclair, D Till Prentice Hall, 1991.
Eliminating the Substitution Axiom from UNITY Logic B A Sanders. Formal Aspects of Computing, vol 3, no 2, pages 189–205, 1991.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1992 Springer-Verlag London
About this paper
Cite this paper
Gravell, A. (1992). Constructive Refinement of First Order Specifications. In: Jones, C.B., Shaw, R.C., Denvir, T. (eds) 5th Refinement Workshop. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3550-0_10
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3550-0_10
Publisher Name: Springer, London
Print ISBN: 978-3-540-19752-2
Online ISBN: 978-1-4471-3550-0
eBook Packages: Springer Book Archive