Skip to main content
Log in

Modelling higher-order dual nondeterminacy

  • Original article
  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract

We investigate models for programming and specifying in which higher-order functions and nondeterminacy (both demonic and angelic) coexist. The models are built using predicate transformers, binary multirelations, state transformers, and free lattices over a poset. We show there exist suitable models in each approach, and that they are isomorphic. The models support an algebra of nondeterminacy which we use to prove that the classical list fusion law holds even in the presence of nondeterminacy.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abramsky S., Jung A.: Domain theory. In: Abramsky, S., Gabbay, D.M., Maibaum, T.S.E. (eds) Handbook of Logic in Computer Science, vol. 3, pp. 1–168. Clarendon Press, Oxford (1994)

    Google Scholar 

  2. Apt K.R., Plotkin G.D.: Countable nondeterminism and random assignment. J. ACM 33(4), 724–767 (1986)

    Article  MATH  MathSciNet  Google Scholar 

  3. Back R.-J., von Wright J.: Refinement Calculus: A Systematic Introduction. Springer, Heidelberg (1998)

    MATH  Google Scholar 

  4. Bird R., de Moor O.: Algebra of Programming. Prentice Hall, London (1997) ISBN 0-13-507245-X

    MATH  Google Scholar 

  5. Birkhoff, G.: Lattice Theory, 3rd edn. Colloquium Publications, vol. 25. American Mathematical Society, New York (1967)

  6. Bonsangue M.: Topological Duality in Semantics. Electronic Notes in Theoretical Computer Science, vol. 8. Elsevier, Amsterdam (1998) ISBN 0-13-507245-X

    Google Scholar 

  7. Cavalcanti A.L.C., Woodcock J.C.P., Dunne S.: Angelic nondeterminism in the unifying theories of programming. Formal Aspects Comput. 18(3), 288–307 (2006) ISBN 0-13-507245-X

    Article  MATH  Google Scholar 

  8. Davey B.A., Priestley H.A.: Introduction to Lattices and Order, 2nd edn. Cambridge University Press, Cambridge (2002) ISBN 0-13-507245-X

    Google Scholar 

  9. de Moor, O., Gibbons, J.: Invited talk: Pointwise relational programming. In: Proceedings of the 8th International Conference on Algebraic Methodology and Software Technology, vol. 1816, pp. 371–390. Springer, Heidelberg (2000)

  10. Dijkstra, E.W.: A Discipline of Programming. Prentice Hall (1976)

  11. Dijkstra E.W., Scholten C.S.: Predicate Calculus and Program Semantics. Springer, New York (1990) ISBN 0-13-507245-X

    MATH  Google Scholar 

  12. Dunne S.: Chorus angelorum. In: Julliand, J., Kouchnarenko, O.B. (eds) Lecture Notes in Computer Science, vol. 4355, pp. 19–33. Springer, Heidelberg (2007) ISBN 0-13-507245-X

    Google Scholar 

  13. Heckmann R.: Power domain constructions. Sci. Comput. Program. 17(1–3), 77–117 (1991) ISBN 0-13-507245-X

    Article  MATH  MathSciNet  Google Scholar 

  14. Hehner, E.C.R.: A Practical Theory of Programming, 2nd edn. Springer, New York. ISBN 0387941061 1993. 2004 at http://www.cs.toronto.edu/~hehner/aPToP/

  15. Hennessy M., Plotkin G.D.: Full abstraction for a simple parallel programming language. In: Becvár, J. (eds) MFCS. Lecture Notes in Computer Science, vol. 74, pp. 108–120. Springer, Heidelberg (1979) ISBN 0-13-507245-X

    Google Scholar 

  16. Hesselink, W.: Multirelations are predicate transformers. Technical report, Dept. of Computing Science, University of Groningen, The Netherlands (2004)

  17. Hesselink W.H.: Modalities of nondeterminacy. In: Feijen, W.H.J., van Gasteren, A.J.M., Gries, D., Misra, J. (eds) Beauty is our Business: A Birthday Salute to E.W. Dijkstra, pp. 182–192. Springer, Heidelberg (1990) ISBN 0-13-507245-X

    Google Scholar 

  18. Hoare C.A.R., Jifeng H.: Unifying Theories of Programming. Prentice Hall, New Jersey (1998) ISBN 0-13-507245-X

    Google Scholar 

  19. Hoofman, R.: Powerdomains. Technical Report RUU-CS-87-23, Institute of Information and Computing Sciences, Utrecht University (1987)

  20. Hoogerwoord, R.R.: The design of functional programs: a calculational approach. PhD Thesis, Technische Universiteit Eindhoven (1989)

  21. Hughes, J., Moran, A.: Making choices lazily. In: Proceedings of the Seventh International Conference on Functional Programming Languages and Computer Architecture, pp. 108–119. ACM Press, New York (1995)

  22. Hughes, J., O’Donnell, J.: Nondeterministic functional programming with sets. In: Proceedings of the 1990 Banf Conference on Higher Order Reasoning (1990)

  23. Kozen, D., Shankland, C. (eds.) Mathematics of program construction, 7th International Conference, MPC 2004, Stirling, Scotland, UK, July 12–14, 2004. In: Proceedings of Lecture Notes in Computer Science, vol. 3125. Springer, Heidelberg (2004)

  24. Larsen P.G., Hansen B.S.: Semantics of under-determined expressions. Formal Aspects Comput. 8(1), 47–66 (1996) ISBN 0-13-507245-X

    Article  MATH  MathSciNet  Google Scholar 

  25. Lassen, S.B.: Relational Reasoning about Functions and Nondeterminism. PhD Thesis, Dept of Computer Science, University of Aarhus (1998)

  26. Main M.G.: Free constructions of powerdomains. In: Melton, A. (eds) Mathematical Foundations of Programming Semantics. Lecture Notes in Computer Science, vol. 239, pp. 162–183. Springer, Heidelberg (1985) ISBN 0-13-507245-X

    Google Scholar 

  27. Martin C.E., Curtis S.A.: Nondeterministic folds. In: Uustalu, T. (eds) MPC. Lecture Notes in Computer Science, vol. 4014, pp. 274–298. Springer, Heidelberg (2006) ISBN 0-13-507245-X

    Google Scholar 

  28. Martin, C.E., Curtis, S.A., Rewitzky, I.: Modelling nondeterminism. In: Kozen and Shankland [23], pp. 228–251

  29. Morris J.M., Bunkenburg A.: Specificational functions. ACM Trans. Programm. Lang. Syst. 21, 677–701 (1999) ISBN 0-13-507245-X

    Article  Google Scholar 

  30. Morris J.M., Bunkenburg A.: A source of inconsistency in theories of nondeterministic functions. Sci. Comput. Program. 43(1), 77–89 (2002) ISBN 0-13-507245-X

    Article  MATH  MathSciNet  Google Scholar 

  31. Morris J.M., Tyrrell M.: Dual unbounded nondeterminacy, recursion, and fixpoints. Acta Inform. 44(5), 323–344 (2007) ISBN 0-13-507245-X

    Article  MATH  MathSciNet  Google Scholar 

  32. Morris J.M., Tyrrell M.: Terms with unbounded demonic and angelic nondeterminacy. Sci. Comp. Program. 65(2), 159–172 (2007) ISBN 0-13-507245-X

    Article  MATH  MathSciNet  Google Scholar 

  33. Morris, J.M., Tyrrell, M.: Dually nondeterministic functions. ACM Trans. Program. Lang. Syst. (2008) (in press)

  34. Morris, J.M.: Augmenting types with unbounded demonic and angelic nondeterminacy. In: Kozen and Shankland [23], pp. 274–288

  35. Naumann, D.A.: Ideal models for pointwise relational and state-free imperative programming. In: Proceedings of the 3rd ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming, pp. 4–15. ACM Press, New York (2001)

  36. Norvell, T.S., Hehner, E.C.R.: Logical specifications for functional programs. In: Proceedings of the Second International Conference on Mathematics of Program Construction. Lecture Notes in Computer Science, vol. 669, pp. 269–290. Springer, Heidelberg (1993)

  37. Partsch H.A.: Specification and Transformation of Programs. Springer, New York (1990) ISBN 0-13-507245-X

    MATH  Google Scholar 

  38. Plotkin G.: A Powerdomain Construction. SIAM J. Comput. 5(3), 452–487 (1976) ISBN 0-13-507245-X

    Article  MATH  MathSciNet  Google Scholar 

  39. Rewitzky I.: Binary multirelations. In: de Swart, H.C.M., Orlowska, E., Schmidt, G., Roubens, M. (eds) Theory and Applications of Relational Structures as Knowledge Instruments. Lecture Notes in Computer Science, vol. 2929, pp. 256–271. Springer, Heidelberg (2003) ISBN 0-13-507245-X

    Google Scholar 

  40. Rewitzky, I., Brink, C.: Monotone predicate transformers as up-closed multirelations. In: Schmidt [41], pp. 311–327

  41. Schmidt, R.A., (ed.) Relations and Kleene algebra in computer science. In: 9th International Conference on Relational Methods in Computer Science and 4th International Workshop on Applications of Kleene Algebra, RelMiCS/AKA 2006, Manchester, UK, August 29–September 2, 2006, Proceedings. Lecture Notes in Computer Science, vol. 4136. Springer, Heidelberg (2006)

  42. Smyth M.B.: Power domains. J. Comp. and Syst. Sci. 16(1), 23–26 (1978) ISBN 0-13-507245-X

    Article  MATH  MathSciNet  Google Scholar 

  43. Smyth M.B.: Power domains and predicate transformers: A topological view. In: Diaz, J. (eds) Proceedings of the 10th Colloquium on Automata, Languages and Programming, London. Lecture Notes in Computer Science, vol. 153, pp. 662–675. Springer, Heidelberg (1983) ISBN 0-13-507245-X

    Google Scholar 

  44. Solin, K.: On two dually nondeterministic refinement algebras. In: Schmidt [41], pp. 373–387

  45. Tunnicliffe W.R.: The free completely distributive lattice over a poset. Algebra Universalis 21, 133–135 (1985) ISBN 0-13-507245-X

    Article  MATH  MathSciNet  Google Scholar 

  46. von Wright J.: Towards a refinement algebra. Sci. Comput. Program. 51(1–2), 23–45 (2004) ISBN 0-13-507245-X

    MATH  Google Scholar 

  47. Ward, N.: Adding specification constructs to the refinement calculus. In: FME’93: Industrial-Strength Formal Methods. Lecture Notes in Computer Science, vol. 670 (1993)

  48. Ward, N.: A Refinement Calculus for Nondeterministic Expressions. PhD thesis, University of Queensland (1994)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Joseph M. Morris.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Morris, J.M., Tyrrell, M. Modelling higher-order dual nondeterminacy. Acta Informatica 45, 441–465 (2008). https://doi.org/10.1007/s00236-008-0076-1

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00236-008-0076-1

Keywords

Navigation