Duality in specification languages: a lattice-theoretical approach
Acta Informatica
Programming from specifications
Programming from specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
An axiomatic basis for computer programming
Communications of the ACM
Refinement Calculus: A Systematic Introduction
Refinement Calculus: A Systematic Introduction
Another characterization of weakest preconditions
Proceedings of the 5th Colloquium on International Symposium on Programming
A Lattice-theoretical Basis for a Specification Language
Proceedings of the International Conference on Mathematics of Program Construction, 375th Anniversary of the Groningen University
From Kleene Algebra to Refinement Algebra
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
Science of Computer Programming - Special issue on mathematics of program construction (MPC 2002)
An algebraic treatment of procedure refinement to support mechanical verification
Formal Aspects of Computing
ACM Transactions on Computational Logic (TOCL)
Modelling angelic and demonic nondeterminism with multirelations
Science of Computer Programming
Enabledness and termination in refinement algebra
Science of Computer Programming
Frame rule for mutually recursive procedures manipulating pointers
Theoretical Computer Science
CONCUR 2009 Proceedings of the 20th International Conference on Concurrency Theory
Data Refinement of Invariant Based Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
Towards Algebraic Separation Logic
RelMiCS '09/AKA '09 Proceedings of the 11th International Conference on Relational Methods in Computer Science and 6th International Conference on Applications of Kleene Algebra: Relations and Kleene Algebra in Computer Science
Refinement algebra for probabilistic programs
Formal Aspects of Computing
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
Hi-index | 0.00 |
Algebras of imperative programming languages have been successful in reasoning about programs. In general an algebra of programs is an algebraic structure with programs as elements and with program compositions (sequential composition, choice, skip) as algebra operations. Various versions of these algebras were introduced to model partial correctness, total correctness, refinement, demonic choice, and other aspects. We introduce here an algebra which can be used to model total correctness, refinement, demonic and angelic choice. The basic model of our algebra are monotonic Boolean transformers (monotonic functions from a Boolean algebra to itself).