Abstract
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 parallel 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 reasoning 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 reasoning about recursion in the presence of fair non-determinism.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
K. R. Apt and G. D. Plotkin. Countable nondeterminism and random assignment. Journal of the ACM, 33(4):724–767, 1986.
S. Arun-Kumar and M. Hennessy. An efficiency preorder for processes. In TACS’ 91, LNCS 526. Springer, 1991.
M. Broy. A theory for nondeterminism, parallelism, communication, and concurrency. Theoretical Computer Science, 45(1):1–61, 1986.
A. D. Gordon. Functional Programming and Input/Output. Distinguished Dissertations in Computer Science. Cambridge U. P., 1994.
A. D. Gordon. Bisimilarity as a theory of functional programming. In MFPS XI, ENTCS 1. Elsevier, 1995.
A. D. Gordon and A. M. Pitts, editors. Higher Order Operational Techniques in Semantics. Publications of the Newton Institute. Cambridge U. P., 1998.
D. Howe. Proving congruence of bisimulation in functional programming. Information and Computation, 124(2):103–112, 1996.
J. Hughes and J. T. O’Donnell. Expressing and reasoning about non-deterministic functional programs. In Functional Programming, Glasgow, 1989, Workshops in Computing. Springer, 1989.
S. B. Lassen. Relational reasoning about contexts. In A. M. Pitts, editors. Higher Order Operational Techniques in Semantics. Publications of the Newton Institute. Cambridge U. P., 1998 Gordon and Pitts [6], pages 91–135.
S. B. Lassen. Relational Reasoning about Functions and Nondeterminism. PhD thesis, Dept. of Computer Science, University of Aarhus, May 1998.
S. B. Lassen and C. S. Pitcher. Similarity and bisimilarity for countable nondeterminism and higher-order functions. In HOOTS II, ENTCS 10. Elsevier, 1998.
J. McCarthy. A basis for a mathematical theory of computation. In Computer Programming and Formal Systems, pages 33–70. North-Holland, 1963.
A. K. Moran. Call-by-name, Call-by-need, and McCarthy’s Amb. PhD thesis, Dept. of Computer Science, Chalmers University of Technology, Sept. 1998.
A. K. Moran and D. Sands. Improvement in a lazy context: An operational theory for call-by-need. In POPL’ 99. ACM, 1999.
A. K. Moran, D. Sands, and M. Carlsson. Erratic Fudgets: A semantic theory for an embedded coordination language. In Coordination’ 99, LNCS 1594. Springer, 1999.
Y. N. Moschovakis. A game-theoretic, concurrent and fair model of the typed lambda-calculus, with full recursion. In CSL’ 97, LNCS 1414. Springer, 1998.
C.-H. L. Ong. Non-determinism in a functional setting. In LICS’ 93. IEEE, 1993.
D. Sands. Improvement theory and its applications. In A. M. Pitts, editors. Higher Order Operational Techniques in Semantics. Publications of the Newton Institute. Cambridge U. P., 1998 Gordon and Pitts [6]}, pages 275–306.
D. Sangiorgi. On the bisimulation proof method. In MFCS’ 95, LNCS 969, pages 479–488. Springer, 1995.
D. Sangiorgi and R. Milner. The problem of “weak bisimulation up to”. In CONCUR’ 92, LNCS 789. Springer, 1992.
H. Søndergaard and P. Sestoft. Non-determinism in functional languages. The Computer Journal, 35(5):514–523, 1992.
P. Wadler. Comprehending monads. Mathematical Structures in Computer Science, 2:461–493, 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lassen, S.B., Moran, A. (1999). Unique Fixed Point Induction for McCarthy’s Amb. In: Kutyłowski, M., Pacholski, L., Wierzbicki, T. (eds) Mathematical Foundations of Computer Science 1999. MFCS 1999. Lecture Notes in Computer Science, vol 1672. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48340-3_18
Download citation
DOI: https://doi.org/10.1007/3-540-48340-3_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66408-6
Online ISBN: 978-3-540-48340-3
eBook Packages: Springer Book Archive