# Assertional categories

## Abstract

Assertional categories provide a general algebraic framework for the denotation of programs. While the axioms deal exclusively with the abstract structure of coproducts, it is possible to express Boolean structure, loop-free constructs and predicate transformers and to deduce basic properties associated with propositional dynamic logic. At the foundational level, new "quarks" to build the atomic constructions of programs are espoused, leading to a new categorical duality principle for predicate transformers (based on a semilattice completion by ideals) and to the "grand unification principle" that "composition determines semantics". The first-order theory of assertional categories is more general than dynamic logic in that nondeterminism may include repetition count, that is, f + f need not be f. On the other hand, an adaptation of a theorem of Kozen shows that, at least for iteration-free sentences about predicate transformers, semantics is standard. Several algebraic characterizations of Dijkstra's definition of determinism are offered and one leads to a technique to reduce loop-free expressions to guarded commands. Axioms for iteration include a "uniformity principle" that "related programs have related iterates" and the Segerburg induction axiom follows.

## Keywords

Boolean Algebra Abelian Category Dynamic Logic Fixed Point Equation Propositional Dynamic Logic## Preview

Unable to display preview. Download preview PDF.

## References

- M. A. Arbib and E. G. Manes, Functorial iteration, Notices Amer. Math. Soc. 25, 1978, A-381.Google Scholar
- M. A. Arbib and E. G. Manes, Partially-additive categories and the semantics of flow diagrams, J. Algebra 62, 1980, 203–227.CrossRefGoogle Scholar
- M. A. Arbib and E. G. Manes, The pattern-of-calls expansion is the canonical fix-point for recursive definitions, J. Assoc. Comput. Mach. 29, 1982, 557–602.Google Scholar
- J. Backus, Can programming be liberated from the von Neumann Style? A functional style and its algebra of programs, Commun. Assoc. Comput. Mach. 21, 1978, 613–641.Google Scholar
- J. Backus, The algebra of functional programs: function level reasoning, linear equations and extended definitions, in J. Diaz and T. Ramos (eds.), Formalization of programming concepts, Lecture Notes in Computer Science 107, Springer-Verlag, 1981, 1–43.Google Scholar
- S. L. Bloom, C. C. Elgot and J. B. Wright, Solutions of the iteration equation and extensions of the scalar iteration operation, SIAM J. Comput. 9, 1980, 25–45.CrossRefGoogle Scholar
- S. L. Bloom, C. C. Elgot and J. B. Wright, Vector iteration in pointed iterative theories, SIAM J. Comput. 9, 1980a, 525–540.CrossRefGoogle Scholar
- S. L. Bloom and Z. Esik, Axiomatizing schemes and their behaviors, J. Comput. Sys. Sci. 31, 1985, 375–393.CrossRefGoogle Scholar
- J. H. Conway, Regular Algebra and Finite Machines, Chapman and Hall, London, 1971.Google Scholar
- E. W. Dijkstra, A Discipline of Programming, Prentice-Hall, 1976.Google Scholar
- S. Eilenberg, Automata, Languages, and Machines, Vol. A, Academic Press, 1974.Google Scholar
- S. Eilenberg and S. Mac Lane, General theory of natural equivalences, Trans. Amer. Math. Soc. 58, 1945, 231–294.Google Scholar
- C. C. Elgot, Monadic computation and iterative algebraic theories, in H. E. Rose and J. C. Shepherdson (eds.), Proc. Logic Colloq. '73, North-Holland, 1975, 175–230.Google Scholar
- C. C. Elgot and J. C. Shepherdson, An equational axiomatization of reducible flowchart schemes, IBM Research Report RC-8221, April 1980; in S. L. Bloom (ed.), Calvin C. Elgot, Selected Papers, Springer-Verlag, 1982, 361–409.Google Scholar
- C. J. Everett and S. Ulam, Projective algebra I, Amer. J. Math. 68, 1946, 77–88.Google Scholar
- M. J. Fischer and R. E. Ladner, Propositional dynamic logic of regular programs, J. Comput. Sys. Sci. 18, 1979, 194–211.CrossRefGoogle Scholar
- P. Freyd, Abelian Categories, Harper and Row, 1964.Google Scholar
- D. Harel, First-order Dynamic Logic, Lecture Notes in Computer Science 68, Springer-Verlag, 1979.Google Scholar
- C. A. R. Hoare, An axiomatic basis for computer programming, Comm. Assoc. Comput. Mach. 12, 1969, 576–580, 583.Google Scholar
- B. Jonsson and A. Tarski, Representation problems for relation algebras, abstract 89t, Bull. Amer. Math. Soc. 54, 1948, 80.Google Scholar
- D. Kozen, A representation theorem for models of *-free PDL, in J. W. de Bakker and J. Van Leeuwen (eds.), Automata, Languages and Programming, ICALP '80, Lecture Notes in Computer Science 85, Springer-Verlag, 1980, 351–362.Google Scholar
- D. Kozen, On induction vs. *-continuity, in E. Engeler (ed.), Logics of Programs, Lecture Notes in Computer Science 131, 1981, 167–176.Google Scholar
- F. W. Lawvere, Functorial semantics of algebraic theories, Ph.D. Dissertation, Columbia University, 1963.Google Scholar
- R. C. Lyndon, The representation of relation algebras, Ann. Math. 51, 1950, 707–729.Google Scholar
- E. G. Manes, Additive domains, in A. Melton (ed.), Mathematical Foundations of Programming Semantics, Lecture Notes in Computer Science 239, Springer-Verlag, 1985, 184–195.Google Scholar
- E. G. Manes, Guard modules, Algebra Universalis 21, 1985a, 103–110.CrossRefGoogle Scholar
- E. G. Manes, A transformational characterization of if-then-else, to appear.Google Scholar
- E. G. Manes and M. A. Arbib, Algebraic Approaches to Program Semantics, Springer-Verlag, 1986.Google Scholar
- E. G. Manes and D. B. Benson, The inverse semigroup of a sum-ordered semiring, Semigroup Forum 31, 1985, 129–152.Google Scholar
- J. C. C. McKinsey, Postulates for the calculus of binary relations, J. Symbolic Logic 5, 1940, 85–97.Google Scholar
- R. Milne and C. Strachey, A Theory of Programming Language Semantics, Parts a and b, Chapman and Hall, London, 1976.Google Scholar
- B. Mitchell, Theory of Categories, Academic Press, 1965.Google Scholar
- E. Nelson, Iterative algebras, Theoret. Comp. Sci. 25, 1983, 67–94.CrossRefGoogle Scholar
- R. Parikh, Propositional dynamic logics of programs: a survey, in E. Engeler (ed.), Logic of Programs, Lecture Notes in Computer Science 125, 1981, 102–144.Google Scholar
- V. R. Pratt, Models of program logics, Proc. 20th IEEE Symp. Found. Comp. Sci., IEEE 79CH1471-2C, 1979, 115–122.Google Scholar
- V. R. Pratt, Dynamic algebras and the nature of induction, Proc. 12th ACM Symposium on Theory of Computing, May 1980, 22–28.Google Scholar
- J. Reiterman and V. Trnková, Dynamic algebras which are not Kripke structures, Proc. 9th Symposium on Mathematical Foundations of Computer Science, Aug. 1980, 528–538.Google Scholar
- K. Segerburg, A completeness theorem in the modal logic of programs, Notices Amer. Math. Soc. 24, 1977, A-522.Google Scholar
- M. E. Steenstrup, Sum-ordered partial semirings, Ph.D. Dissertation, University of Massachusetts at Amherst, 1985.Google Scholar
- M. H. Stone, The theory of representations for Boolean algebras, Trans. Amer. Math. Soc. 40, 1936, 37–111.MathSciNetGoogle Scholar
- J. E. Stoy, Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory, M. I. T. Press, 1977.Google Scholar
- N. V. Subrahmanyam, Boolean vector spaces I, Math. Zeit. 83, 1964, 422–433.CrossRefGoogle Scholar
- N. V. Subrahmanyam, Boolean vector spaces II, Math. Zeit. 87, 1965, 401–419.CrossRefGoogle Scholar
- N. V. Subrahmanyam, Boolean vector spaces, III, Math. Zeit. 100, 1967, 295–313.CrossRefGoogle Scholar
- A. Tarski, On the calculus of relations, J. Symbolic Logic 6, 1941, 73–89.Google Scholar
- J. Tiuryn, Unique fixed points vs. least fixed points, Theoret. Comput. Sci. 13, 1981, 229–254.Google Scholar
- E. G. Wagner, S. L. Bloom and J. W. Thatcher, Why algebraic theories?, in M. Nivat and J. C. Reynolds (eds.), Algebraic Methods in Semantics, Cambridge Univ. Press, 1985, 607–634.Google Scholar