General correctness: a unification of partial and total correctness
Acta Informatica
Computational lambda-calculus and monads
Proceedings of the Fourth Annual Symposium on Logic in computer science
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Monad transformers and modular interpreters
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Discipline of Programming
Refinement Calculus: A Systematic Introduction
Refinement Calculus: A Systematic Introduction
A Theory of Generalised Substitutions
ZB '02 Proceedings of the 2nd International Conference of B and Z Users on Formal Specification and Development in Z and B
Combining effects: sum and tensor
Theoretical Computer Science - Clifford lectures and the mathematical foundations of programming semantics
Modelling angelic and demonic nondeterminism with multirelations
Science of Computer Programming
Formalising generalised substitutions
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
B'07 Proceedings of the 7th international conference on Formal Specification and Development in B
Monadic maps and folds for multirelations in an allegory
UTP'08 Proceedings of the 2nd international conference on Unifying theories of programming
Hi-index | 0.00 |
We consider the language of "extended subsitutions" involving both angelic and demonic choice. For other related languages expressing program semantics the implicit model of computationis based on a combination of monads by a distributive law. We show how the model of computation underlying extended subsitutions is based on a monad which, while not being a compound monad, has strong similarities to a compound monad based on a distributive law. We discuss these compound monads and monad morphisms between them. We have used the theorem prover Isabelle to formal ise and machine-check our results.