Skip to main content

Monadic Maps and Folds for Multirelations in an Allegory

  • Conference paper
Book cover Unifying Theories of Programming (UTP 2008)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5713))

Included in the following conference series:

Abstract

This paper contributes to the unification of semantic models and program development techniques by making a link from multirelations and predicate transformer semantics to algebraic semantics and the derivation of programs by calculation, as used in functional programming and relational program development. Two common ways to characterise iteration, namely the functional programming operators map and fold, are extended to multirelations, using concepts from category theory, power allegories and monads.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Google Scholar 

  2. Dunne, S.: Chorus angelorum. In: Julliand, J., Kouchnarenko, O. (eds.) B 2007. LNCS, vol. 4355, pp. 19–33. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  3. Martin, C.E., Curtis, S.A., Rewitzky, I.: Modelling angelic and demonic nondeterminism with multirelations. Science of Computer Programming 65(2), 140–158 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  4. Martin, C.E., Curtis, S.A.: Nondeterministic folds. In: Uustalu, T. (ed.) MPC 2006. LNCS, vol. 4014, pp. 274–298. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  5. Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)

    Google Scholar 

  6. Cavalcanti, A., Woodcock, J.C.P., Dunne, S.E.: Angelic nondeterminism in the unifying theories of programming. Formal Aspects of Computing 18(3), 288–307 (2006)

    Article  MATH  Google Scholar 

  7. Cavalcanti, A., Woodcock, J.C.P.: Angelic nondeterminism and unifying theories of programming. In: Derrick, J., Boiten, E. (eds.) REFINE 2005, vol. 137. Elsevier, Amsterdam (2005)

    Google Scholar 

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

    Google Scholar 

  9. Back, R., Wright, J.: Refinement Calculus: A Systematic Introduction. Springer, New York (1998)

    MATH  Google Scholar 

  10. Morgan, C.C.: Programming from Specifications, 2nd edn. Prentice-Hall, Englewood Cliffs (1994)

    MATH  Google Scholar 

  11. Bird, R.: An Introduction to Functional Programming using Haskell. Prentice-Hall, Englewood Cliffs (1998)

    Google Scholar 

  12. Bird, R., Moor, O.: The Algebra of Programming. Prentice-Hall, Englewood Cliffs (1997)

    Google Scholar 

  13. Gibbons, J., Jones, G.: The under-appreciated unfold. In: Proceedings 3rd ACM SIGPLAN Int. Conf. on Functional Programming, ICFP’98, Baltimore, MD, USA, September 26–29, vol. 34(1), pp. 273–279. ACM Press, New York (1998)

    Chapter  Google Scholar 

  14. Fokkinga, M.M.: Monadic maps and folds for arbitrary datatypes. Memoranda Informatica 94-28 (1994)

    Google Scholar 

  15. Pardo, A.: Monadic corecursion - definition, fusion laws, and applications. Electronic Notes in Theoretical Computer Science 11, 105–139 (1998)

    Article  Google Scholar 

  16. Hasuo, I., Jacobs, B., Sokolova, A.: Generic trace theory. Electronic Notes in Theoretical Computer Science 164(1), 47–65 (2006)

    Article  MathSciNet  Google Scholar 

  17. Freyd, P., Ščedrov, A.: Categories, Allegories. Springer, Heidelberg (1993)

    Google Scholar 

  18. Martin, C.E., Curtis, S.A.: The algebra of multirelations (2009) (in preparation)

    Google Scholar 

  19. MacLane, S.: Categories for the Working Mathematician, 2nd edn. Springer, Heidelberg (1998)

    Google Scholar 

  20. Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order, 2nd edn. Cambridge University Press, Cambridge (2002)

    MATH  Google Scholar 

  21. Martin, C.E., Curtis, S.A.: Supplement to this paper (2009), http://cms.brookes.ac.uk/staff/SharonCurtis/publications/mf-supp.pdf

  22. Dawson, J.E.: Compound monads in specification languages. In: Proceedings of Programming Languages meets Program Verification, PLPV 2007, pp. 3–10. ACM Press, New York (2007)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Martin, C.E., Curtis, S.A. (2010). Monadic Maps and Folds for Multirelations in an Allegory. In: Butterfield, A. (eds) Unifying Theories of Programming. UTP 2008. Lecture Notes in Computer Science, vol 5713. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14521-6_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-14521-6_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-14520-9

  • Online ISBN: 978-3-642-14521-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics