Set-Theoretic Models of Computations

  • Jean-Raymond Abrial
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8051)


The purpose of this paper is to present some set-theoretic models of computation. This topic and its usefulness are clearly related to those presented in the book by Hoare and He: “Unifying Theories of Programming” [12]. However, we prefer to use here the term “computation” to that of “programming” as our purpose is not so much to unify various ways of programming (using different programming languages) but rather to see how various mechanical computation paradigms (be they sequential, distributed, parallel, and so on) can be given a unified mathematical theory. Our purpose is also to study how these computations can be specified and then developed by means of refinements and proofs.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abrial, J.-R.: The B-book: Assigning Programs to Meanings. Cambridge University Press (1996)Google Scholar
  2. 2.
    Abrial, J.-R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press (2010)Google Scholar
  3. 3.
    Back, R.: On the Correctness of Refinement Steps in Program Development. Technical Report University of Helsinki (1978)Google Scholar
  4. 4.
    Back, R., Kurki-Suonio, R.: Distributed Cooperation with Action Systems. ACM Transaction on Programming Languages and Systems 10(4), 513–554 (1988)CrossRefMATHGoogle Scholar
  5. 5.
    Dijkstra, E.: Guarded Commands, Nondeterminacy and Formal Derivation of Programs. CACM (1975)Google Scholar
  6. 6.
    Dijkstra, E.: A Discipline of Programming. Prentice-Hall (1976)Google Scholar
  7. 7.
    Gardiner, P., Morgan, C.: Data Refinement of Predicate Transformer. Theoretical Computer Science (1991)Google Scholar
  8. 8.
    He, J., Hoare, T., Sanders, J.: Data Refinement Refined. In: Robinet, B., Wilhelm, R. (eds.) ESOP 1986. LNCS, vol. 213, pp. 187–196. Springer, Heidelberg (1986)CrossRefGoogle Scholar
  9. 9.
    Hehner, E.: A Practical Theory of Programming. Springer (1993)Google Scholar
  10. 10.
    Hesselink, W.: Programs, Recursion, and Unbounded Choice. Cambridge University Press (1992)Google Scholar
  11. 11.
    Hoare, T.: Programs are Predicates. Mathematical Logic and Programming Languages. Prentice-Hall (1985)Google Scholar
  12. 12.
    Hoare, T., He, J.: Unifying Theories of Programming. Prentice-Hall (1998)Google Scholar
  13. 13.
    Hoare, T.: An Axiomatic Basis for Computer Programming. CACM (1969)Google Scholar
  14. 14.
    Jones, C.: Program Specification and Validation in VDM. Logic of Programming and Calculi of Discrete Design. Springer (1987)Google Scholar
  15. 15.
    Morgan, C.: The Specification Statement. ACM Transactions on Programming Languages and Systems (1988)Google Scholar
  16. 16.
    Morgan, C.: Programming from Specification. Prentice-Hall (1990)Google Scholar
  17. 17.
    Morgan, C.: Of wp and CSP. In: Beauty is our Business. Springer (1990)Google Scholar
  18. 18.
    Morris, J.: A Theoretical Basis for Stepwise Refinement and the Programming Calculus. Science of Computer Programming (1987)Google Scholar
  19. 19.
    Nelson, G.: A Generalization of Dijkstra’s Calculus. ACM TOPLAS (1989)Google Scholar
  20. 20.
    Rodin: Event-B and the Rodin Platform,

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Jean-Raymond Abrial
    • 1
  1. 1.MarseilleFrance

Personalised recommendations