A generalization of Dijkstra's calculus
ACM Transactions on Programming Languages and Systems (TOPLAS)
A practical theory of programming
A practical theory of programming
Journal of the ACM (JACM)
Acta Informatica
Feynman Lectures on Computation
Feynman Lectures on Computation
Irreversibility and heat generation in the computing process
IBM Journal of Research and Development
IBM Journal of Research and Development
Logical reversibility of computation
IBM Journal of Research and Development
A Virtual Machine for Supporting Reversible Probabilistic Guarded Command Languages
Electronic Notes in Theoretical Computer Science (ENTCS)
A design-based model of reversible computation
UTP'06 Proceedings of the First international conference on Unifying Theories of Programming
B'07 Proceedings of the 7th international conference on Formal Specification and Development in B
Probabilistic choice, reversibility, loops, and miracles
UTP'10 Proceedings of the Third international conference on Unifying theories of programming
Hi-index | 0.00 |
After reviewing a previously reported relational model of reversible computing, in which non-deterministic choice may represent provisional choice subject to revision by backtracking, we narrate our attempts to express preference within choice. We begin our investigations by recalling Nelson's extensions to Dijkstra's calculus, and considering his biased-choice operator as a model of preference. However, we find that this is too short-sighted for our purpose, and we outline the necessity of incorporating a notion of continuation. After considering how this might be achieved in a predicate-transformer approach, we adopt instead a prospective-value semantics that is easily extensible to probabilistic choice; here, we find a clue that helps us to obtain a first formulation of preference. Our formulation, however, takes us into a world of non-monotonic computations, and we are motivated to move on. We look for further inspiration within the execution structures of our reversible virtual machine which provides a construct that records all results of a backtracking search. We add a modified version that records results sequentially, and take its description as the basis for a "temporal order of continuations" semantics, to which we add implementor's choice, which is now quite distinct from provisional choice. We give a refinement relation and prove the monotonicity of the new semantics and its consistency with respect to our previous prospective-values formalism.