Skip to main content
Log in

Duality in specification languages: a lattice-theoretical approach

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

A very general 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. A dual language permitting miracles is constructed. Combining these two languages yields an extended base language which is complete, in the sense that all monotonic predicate tranformers can be constructed in it. The extended base language provides a unifying framework for various specification languages; we show how two Dijkstra-style specification languages can be embedded in it.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Back, R.J.R.: On the correctness of refinement steps in program development. (Ph. D. thesis), Report A-1978-4, Dept. of Computer Science, University of Helsinki 1978

  2. Back, R.J.R.: Correctness preserving program refinements: Proof theory and applications. Mathematical Centre Tracts 131, Mathematical Centre, Amsterdam 1980

    Google Scholar 

  3. Back, R.J.R.: A calculus of refinements for program derivations. Acta Inf. 25, 593–624 (1988)

    Google Scholar 

  4. Back, R.J.R.: 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)

  5. Back, R.J.R.: 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)

  6. de Bakker, J.: Mathematical theory of program correctness. Englewood Cliffs, NJ: PrenticeHall 1980

    Google Scholar 

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

    Google Scholar 

  8. Broy, M.: A theory for nondeterminism, parallellism, communications and concurrency. Theor. Comput. Sci. 45, 1–61 (1986)

    Google Scholar 

  9. Dijkstra, E.W.: A discipline of programming. Englewood Cliffs, NJ: Prentice Hall 1976

    Google Scholar 

  10. Dijkstra, E.W., van Gasteren, A.J.M.: A simple fixpoint argument without the restriction to continuity. Acta Inf. 23, 1–7 (1986)

    Google Scholar 

  11. Gardiner, P., Morgan, C.: Data refinement of predicate transformers. Theor. Comput. Sci. (To appear)

  12. Grätzer, G.: General lattice theory. Basel: Birkhäuser 1978

    Google Scholar 

  13. Hehner, E.: do considered od: A contribution to the programming calculus. Acta Inf. 11, 287–304 (1979)

    Google Scholar 

  14. Hehner, E.: The logic of programming. Englewood Cliffs, NJ: Prentice-Hall 1984

    Google Scholar 

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

  16. Hoare, C.A.R., Hayes, I.J., He, J., Morgan, C.C., Roscoe, A.W., Sanders, J.W., Sorensen, I.H., Spivey, J.M., Sufrin, A.: Laws of programming. Commun. ACM 30, 672–686 (1987)

    Google Scholar 

  17. Jacobs, D., Gries, D.: General correctness: A unification of partial and total correctness. Acta Inf. 22, 67–83 (1985)

    Google Scholar 

  18. Morgan, C.: Data refinement by miracles. Inf. Process. Lett. 26, 243–246 (1988)

    Google Scholar 

  19. Morgan, C.: The specification statement. ACM TOPLAS 10, 403–419 (1988)

    Google Scholar 

  20. Morris, J.: A theoretical basis for stepwise refinement and the programming calculus. Sci. Progr. 9, 287–306 (1987)

    Google Scholar 

  21. Nelson, G.: A generalization of Dijkstra's calculus. Tech. Rep. 16, Digital Systems Research Center, Palo Alto, Calif. 1987

    Google Scholar 

  22. Park, D.: On the semantics of fair parallelism. Lect. Notes Comput. Sci. 86, 504–526 (1980)

    Google Scholar 

  23. Smyth, M.B.: Powerdomains. J. Comput. Syst. Sci. 16, 23–36 (1978)

    Google Scholar 

  24. Tarski, A.: A lattice theoretical fixed point theorem and its applications. Pac. J. Math. 5, 285–309 (1955)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Back, R.J.R., von Wright, J. Duality in specification languages: a lattice-theoretical approach. Acta Informatica 27, 583–625 (1990). https://doi.org/10.1007/BF00259469

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00259469

Keywords

Navigation