Abstract
For many years the realm of total functions was considered to be the natural domain in which to reason about functional programs [B90]. The limitation of this domain is that it can only be used to describe deterministic programs: those that deliver only one output for each input. More recently, the development of the relational calculus for program derivation [BdM97] has allowed programmers to reason about programs together with their speci.cations, which may be nondeterministic: they may o.er a choice of outputs for each input. Speci.cations expressed in this calculus can be manipulated and re.ned into functions that can be translated into an appropriate functional programming language. We now propose to go one step further, since the domain of relations can be used to describe only angelic or demonic nondeterminism, but not both.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Back, R.J.R., von Wright, J.: Refinement Calculus: A Systematic Introduction. Graduate Texts in Computer Science. Springer, New York (1998)
Backhouse, R., Hoogendijk, P.: Elements of a relational theory of datatypes. In: Möller, B., Schuman, S., Partsch, H. (eds.) Formal Program Development. LNCS, vol. 755, pp. 7–42. Springer, Heidelberg (1993)
Berlekamp, E.R., Conway, J.H., Guy, R.K.: Winning Ways For Your Mathematical Plays, 2nd edn. A.K. Peters Ltd (2001)
Bird, R.S.: A calculus of functions for program derivation. In: Turner, D.A. (ed.) Research Topics in Functional Programming. University of Texas at Austin Year of Programming series, pp. 287–308. Addison-Wesley, Reading (1990)
Bird, R.S., de Moor, O.: Algebra of Programming. Prentice Hall, Englewood Cliffs (1997)
Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order, 2nd edn. Cambridge University Press, Cambridge (2002)
Bryan Dawson, C.: A better draft: Fair division of the talent pool. College Mathematics Journal 28(2), 82–88 (1997)
Dijkstra, E.W., Scholten, C.S.: Predicate Calculus and Program Semantics. Springer, Heidelberg (1990)
Lynch, N., Vaandrager, F.: In: Huizing, C., de Bakker, J.W., Rozenberg, G., de Roever, W.-P. (eds.) REX 1991. LNCS, vol. 600, pp. 397–446. Springer, Heidelberg (1992)
de Moor, O.: Inductive Data Types for Predicate Transformers. Information Processing Letters 43(3), 113–117 (1992)
Morgan, C.C.: Programming from Specifications. Prentice-Hall, Englewood Cliffs (1998)
Pauly, M.: Programming and verifying Subgame Perfect Mechanisms (2002), http://www.csc.liv.ac.uk/pauly/
Rewitzky, I.: Binary Multirelations. In: de Swart, H., Orłowska, E., Schmidt, G., Roubens, M. (eds.) Theory and Applications of Relational Structures as Knowledge Instruments. LNCS, vol. 2929, pp. 259–274. Springer, Heidelberg (2003)
Schmidt, G., Ströhlein, T.: Relationen und Grafen. Springer, Heidelberg (1988)
Ward, N.T.E.: A Refinement Calculus for Nondeterministic Expressions (1994), www.dstc.monash.edu.au/staff/nigel-ward/nwthesis.pdf
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Martin, C.E., Curtis, S.A., Rewitzky, I. (2004). Modelling Nondeterminism. In: Kozen, D. (eds) Mathematics of Program Construction. MPC 2004. Lecture Notes in Computer Science, vol 3125. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27764-4_13
Download citation
DOI: https://doi.org/10.1007/978-3-540-27764-4_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22380-1
Online ISBN: 978-3-540-27764-4
eBook Packages: Springer Book Archive