Abstract
A very basic lattice-based language of commands, based on the primitive operations of substitution and test for equality, is constructed. This base language permits unbounded nondeterminism, demonic and angelic nondeterminism and is extended to permit miracles also. It is shown to be complete, in the sense that all monotonic predicate transformers can be constructed in it. The base language provides a unifying framework for various specification languages; we show how two Dijkstra-style specification languages can be embedded in the base language.
Preview
Unable to display preview. Download preview PDF.
References
R.J.R. Back, On the correctness of refinement steps in program development (Ph.D. thesis), Report A-1978-4, Dept. of Computer Science, University of Helsinki, 1978.
R.J.R. Back, Correctness Preserving Program Refinements: Proof Theory and Applications, Mathematical Centre Tracts 131, Mathematical Centre, Amsterdam 1980.
R.J.R. Back, A Calculus of Refinements for Program Derivations, Acta Informatica, Vol. 25, No. 6, 593–624 (1988).
R.J.R. Back, Refining Atomicity in Parallel Algorithms, Reports on Computer Science and Mathematics 57, Åbo Akademi 1988, (to appear in Conference on Parallel Architectures and Languages Europe 1989).
R.J.R. Back, Changing Data Representation in the Refinement Calculus, Hawaii International Conference on System Sciences 1989 (also available as Data Refinement in the Refinement Calculus, Reports on Computer Science and Mathematics 68, Åbo Akademi 1988).
J. de Bakker, Mathematical Theory of Program Correctness, Prentice-Hall 1980.
G. Birkhoff, Lattice Theory, American Mathematical Society, Providence, RI, 1961.
E.W. Dijkstra, A Discipline of Programming, Prentice Hall 1976.
E.W. Dijkstra, A.J.M. van Gasteren, A Simple Fixpoint without the Restriction to Continuity, Acta Informatica Vol. 23, 1–7 (1986).
P. Gardiner, C. Morgan, Data Refinement of Predicate Transformers, Manuscript 1988.
G. Grätzer, General Lattice Theory, Birkhuser Verlag, Basel, 1978.
E. Hehner, do considered od: A Contribution to the Programming Calculus, Acta Informatica Vol. 11, 287–304 (1979).
E. Hehner, The Logic of Programming, Prentice-Hall 1984.
W.H. Hesselink, An algebraic calculus of commands, CS8808, Department of Mathematics and Computer Science, University of Groningen, 1988.
C.A.R. Hoare, I.J. Hayes, J. He, C.C. Morgan, A.W. Roscoe, J.W. Sanders, I.H. Sorensen, J.M. Spivey and A. Surfin, Laws of Programming, Communications of the ACM, Vol. 30, No. 8, 672–686 (August 1987).
C. Morgan, Data Refinement by Miracles, Information Processing Letters 26, 243–246 (January 1988).
C. Morgan, The Specification Statement, ACM TOPLAS, Vol. 10, No 3, 403–419 (1988).
C. Morgan, P. Gardiner, Data Refinement by Calculation, Manuscript 1988.
J. Morris, A Theoretical Basis for Stepwise Refinement and the Programming Calculus, Science of Programming, 9, 287–306 (1987).
G. Nelson, A Generalization of Dijkstra's Calculus, Tech. Rep 16, Digital Systems Research Center, Palo Alto, Calif., (April 1987).
D. Park, On the Semantics of Fair Parallelism, Lecture Notes in Computer Science 86, 504–526, Springer 1980.
A. Tarski, A Lattice Theoretical Fixed Point Theorem and its Applications, Pacific J. Math. 5, 285–309 (1955).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Back, R.J.R., von Wright, J. (1989). A lattice-theoretical basis for a specification language. In: van de Snepscheut, J.L.A. (eds) Mathematics of Program Construction. MPC 1989. Lecture Notes in Computer Science, vol 375. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51305-1_8
Download citation
DOI: https://doi.org/10.1007/3-540-51305-1_8
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-51305-6
Online ISBN: 978-3-540-46191-3
eBook Packages: Springer Book Archive