|COOKIES: By using this website you agree that we can place Google Analytics Cookies on your device for performance monitoring.|
Abstract separation algebra
If you have a question about this talk, please contact Sam Staton.
I show how both Hoare triples and Plotkin triples can be replaced by an abstract algebra, in which all the primitives are pairs and singletons, i.e., constants, binary operators and binary predicates. The algebra deals separately but equally simply with both sequential and concurrent composition of programs; and many further program primitives and structuring operators like choice and disjoint concurrency can be introduced individually, one at a time. The relevant proof rules for Hoare Triples, and the relevant Plotkin triples for operational semantics, are derived simply and separately for each binary operator.
Familiar algebraic properties – associativity, commutivity, monotonicity, idempotence are widely reused. The interactions between operators can be described just two at a time by distributivity laws. These include mutual distribution, a weak form of the exchange law of two-category theory. This leads to an elementary presentation of separation logic and of Kleene algebra.
Thus we extend to the mathematics of programming the old saying about marriage: ‘two’s fun, three’s none’. Down with the triple!
This talk is part of the Semantics Lunch (Computer Laboratory) series.
This talk is included in these lists:
Note that ex-directory lists are not shown.
Other listsVisual Constructions of South Asia (2014-15) The Emmy Noether Society: Women that Count Rainbow Group Seminars
Other talksBiomolecular thermodynamics and Calorimetry (ITC) 3rd Cambridge Symposium on Cognitive Approaches to Children’s Literature 2017 George Macaulay Trevelyan Lectures Measuring everything everywhere: the Global Burden of Disease study and its use by Public Health England Sufficient Statistics for Imperfect Externality-Correcting Policies Modelling the Last Glacial-Interglacial Cycle: How sensitive are past climates?