Skip to main content

A lattice-theoretical basis for a specification language

  • Contributed Lectures
  • Conference paper
  • First Online:
Mathematics of Program Construction (MPC 1989)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 375))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. R.J.R. Back, Correctness Preserving Program Refinements: Proof Theory and Applications, Mathematical Centre Tracts 131, Mathematical Centre, Amsterdam 1980.

    Google Scholar 

  3. R.J.R. Back, A Calculus of Refinements for Program Derivations, Acta Informatica, Vol. 25, No. 6, 593–624 (1988).

    Article  Google Scholar 

  4. 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).

    Google Scholar 

  5. 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).

    Google Scholar 

  6. J. de Bakker, Mathematical Theory of Program Correctness, Prentice-Hall 1980.

    Google Scholar 

  7. G. Birkhoff, Lattice Theory, American Mathematical Society, Providence, RI, 1961.

    Google Scholar 

  8. E.W. Dijkstra, A Discipline of Programming, Prentice Hall 1976.

    Google Scholar 

  9. E.W. Dijkstra, A.J.M. van Gasteren, A Simple Fixpoint without the Restriction to Continuity, Acta Informatica Vol. 23, 1–7 (1986).

    Google Scholar 

  10. P. Gardiner, C. Morgan, Data Refinement of Predicate Transformers, Manuscript 1988.

    Google Scholar 

  11. G. Grätzer, General Lattice Theory, Birkhuser Verlag, Basel, 1978.

    Google Scholar 

  12. E. Hehner, do considered od: A Contribution to the Programming Calculus, Acta Informatica Vol. 11, 287–304 (1979).

    Google Scholar 

  13. E. Hehner, The Logic of Programming, Prentice-Hall 1984.

    Google Scholar 

  14. W.H. Hesselink, An algebraic calculus of commands, CS8808, Department of Mathematics and Computer Science, University of Groningen, 1988.

    Google Scholar 

  15. 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).

    Article  Google Scholar 

  16. C. Morgan, Data Refinement by Miracles, Information Processing Letters 26, 243–246 (January 1988).

    MathSciNet  Google Scholar 

  17. C. Morgan, The Specification Statement, ACM TOPLAS, Vol. 10, No 3, 403–419 (1988).

    Article  Google Scholar 

  18. C. Morgan, P. Gardiner, Data Refinement by Calculation, Manuscript 1988.

    Google Scholar 

  19. J. Morris, A Theoretical Basis for Stepwise Refinement and the Programming Calculus, Science of Programming, 9, 287–306 (1987).

    Google Scholar 

  20. G. Nelson, A Generalization of Dijkstra's Calculus, Tech. Rep 16, Digital Systems Research Center, Palo Alto, Calif., (April 1987).

    Google Scholar 

  21. D. Park, On the Semantics of Fair Parallelism, Lecture Notes in Computer Science 86, 504–526, Springer 1980.

    Google Scholar 

  22. A. Tarski, A Lattice Theoretical Fixed Point Theorem and its Applications, Pacific J. Math. 5, 285–309 (1955).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. L. A. van de Snepscheut

Rights and permissions

Reprints 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

Publish with us

Policies and ethics