Countable nondeterminism and random assignment
Journal of the ACM (JACM)
A theory for nondeterminism, parallelism, communication, and concurrency
Theoretical Computer Science
Non-determinism in functional languages
The Computer Journal - Special issue on formal methods: part 1
Functional programming and input/output
Functional programming and input/output
Proving congruence of bisimulation in functional programming languages
Information and Computation
Improvement in a lazy context: an operational theory for call-by-need
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Higher order operational techniques in semantics
Higher order operational techniques in semantics
Improvement theory and its applications
Higher order operational techniques in semantics
Bisimilarity as a theory of functional programming
Theoretical Computer Science - Special issue on mathematical foundations of programming semantics
On the Proof Method for Bisimulation (Extended Abstract)
MFCS '95 Proceedings of the 20th International Symposium on Mathematical Foundations of Computer Science
An Efficiency Preorder for Processes
TACS '91 Proceedings of the International Conference on Theoretical Aspects of Computer Software
The Problem of ``Weak Bisimulation up to''
CONCUR '92 Proceedings of the Third International Conference on Concurrency Theory
A Game-Theoretic, Concurrent and Fair Model of the Typed Lambda-calculus, with Full Recursion
CSL '97 Selected Papers from the11th International Workshop on Computer Science Logic
Expressing and Reasoning About Non-Deterministic Functional Programs
Proceedings of the 1989 Glasgow Workshop on Functional Programming
Hi-index | 0.00 |
We develop an operational theory of higher-order functions, recursion, and fair non-determinism for a non-trivial, higher-order, call-by-name functional programming language extended with McCarthy's amb. Implemented via fair peirallel evaluation, functional programming with amb is very expressive. However, conventional semantic fixed point principles for reasoning about recursion fail in the presence of fairness. Instead, we adapt higher-order operational methods to deal with fair non-determinism. We present two natural semantics, describing may-and must-convergence, and define a notion of contextual equivalence over these two modalities. The presence of amb raises special difficulties when reeisoning about contextual equivalence. In particular, we report on a challenging open problem with regard to the validity of bisimulation proof methods. We develop two sound and useful reasoning methods which, in combination, enable us to prove a rich collection of laws for contextual equivalence and also provide a unique fixed point induction rule, the first proof rule for reeisoning about recursion in the presence of fair non-determinism.