An algebraic construction of predicate transformers

  • Paul Gardiner
  • Clare Martin
  • Oege de Moor
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 669)


In this paper we present an algebraic construction of the category of monotonic predicate transformers from the category of relations which is similar to the standard algebraic construction of the integers from the natural numbers. The same construction yields the category of relations from the category of total functions. This provides a mechanism through which the rich type structure of the category of total functions can be promoted to successively weaker ones in the categories of relations and predicate transformers. In addition, it has exposed two complete rules for the refinement and composition of specifications in Morgan's refinement calculus.


Partial Order Composition Operator Total Function Factorization Property Graph Functor 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Back, R.J.R.: A Calculus of Refinements for Program Derivation. Acta Informatica 25 (1988) 593–624CrossRefGoogle Scholar
  2. 2.
    Barr, M.: Relational Algebras. In Reports of the Midwest Category Seminar IV, Springer-Verlag Lecture Notes in Mathematics 137 (1069) 435–477Google Scholar
  3. 3.
    Benabo, J.: Introduction to Bicategories. Springer-Verlag Lecture Notes in Mathematics 47 (1967)Google Scholar
  4. 4.
    Bird, R.S.,de Moor, O.: Solving Optimisation Problems with Catamorphisms. (1992) This volume.Google Scholar
  5. 5.
    Bird, R.S.: Lectures on Constructive Functional Programming. In M. Broy, editor. Constructive Methods in Computing Science, Springer-Verlag NATO ASI series F 55 (1989) 151–216Google Scholar
  6. 6.
    Carboni, A., Kasangian, S.: Bicategories of Spans and Relations. Journal of Pure and Applied Algebra 33 (1984) 259–267Google Scholar
  7. 7.
    Carboni, A., Kelly, M., and Wood, R.: A 2-Categorical Approach to Geometric Morphisms I. Sydney Pure Mathematics Research Reports 89-19 (1989). Department of Pure Mathematics, University of Sydney, NSW 2006, Australia.Google Scholar
  8. 8.
    Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)Google Scholar
  9. 9.
    Gardiner, P.H.B.: Data Refinement of Maps. Draft (1990)Google Scholar
  10. 10.
    Gardiner, P.H.B., Morgan, C.C.: A Single Complete Rule for Data Refinement. Technical Report PRG-TR-7-89, Programming Research Group, 11 Keble Road, Oxford OX1 3QD, 1989.Google Scholar
  11. 11.
    Gray, J.W.: Formal Category Theory: Adjointness for 2-categories. Springer-Verlag Lecture Notes in Mathematics 391 (1974)Google Scholar
  12. 12.
    Herrlich H., Strecker G.E.: Category Theory. Allyn and Bacon Inc., Boston (1973)Google Scholar
  13. 13.
    Hesselink, W.H.: Modalities of Nondeterminancy. In Beauty is Our Business: A Birthday Salute to Edsgar W. Dijkstra. Springer-Verlag, (1990) 182–193Google Scholar
  14. 14.
    Hoare, C.A.R.: An Axiomatic Basis for Computer Programming. Communications of the ACM 12(10) (1969) 576–580,583CrossRefGoogle Scholar
  15. 15.
    Hoare, C.A.R. Handwritten note (1991)Google Scholar
  16. 16.
    Jay, C.B.: Local Adjunctions. Journal of Pure and Applied Algebra 53 (1988) 227–238Google Scholar
  17. 17.
    Johnstone, P.T.: Stone Spaces Cambridge University Press (1982)Google Scholar
  18. 18.
    Lambek, J.: Subequalizers. Bulletin Amer. Math. Soc. 13(3) (1970) 337–349Google Scholar
  19. 19.
    Malcolm, G.: Data Structures and Program Transformation. Science of Computer Programming 14 (1990) 255–279CrossRefGoogle Scholar
  20. 20.
    Martin, C.E.: Preordered Categories and Predicate Transformers. D. Phil Thesis. Programming Research Group, 11 Keble Road, Oxford OX1 3QD. (1991)Google Scholar
  21. 21.
    de Moor, O.: Categories, Relations and Dynamic Programming. PRG Technical Report PRG-TR-18-90, Programming Research Group, 11 Keble Road, Oxford OX1 3QD. (1990)Google Scholar
  22. 22.
    de Moor, O., Gardiner, P.H.B., and Martin, C.E.: Factorizing Predicate Transformers in a Topos. Draft (1991)Google Scholar
  23. 23.
    de Moor, O.: Categories, Relations and Dynamic Programming. D. Phil Thesis. PRG Technical Monograph PRG-98, Programming Research Group, 11 Keble Road, Oxford OX1 3QD. (1992)Google Scholar
  24. 24.
    de Moor, O.: Inductive Data Types for Predicate Transformers. Information Processing Letters (to appear)Google Scholar
  25. 25.
    Morgan, C.C.: Programming From Specifications. Prentice-Hall (1990)Google Scholar
  26. 26.
    Morgan, C.C., Robinson, K. and Gardiner, P.H.B.: On the Refinement Calculus. PRG Technical Monograph PRG-70. Programming Research Group, 11 Keble Road, Oxford OXl 3QD. (1988)Google Scholar
  27. 27.
    Morris, J.M.: Laws of Data Refinement. Acta Informatica 26 (1989) 287–308Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Paul Gardiner
    • 1
  • Clare Martin
    • 2
  • Oege de Moor
    • 1
  1. 1.Programming Research GroupOxford University Computing LaboratoryOxfordUK
  2. 2.University of BuckinghamBuckinghamUK

Personalised recommendations