Unifying Guarded and Unguarded Iteration

  • Sergey GoncharovEmail author
  • Lutz Schröder
  • Christoph Rauch
  • Maciej Piróg
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10203)


Models of iterated computation, such as (completely) iterative monads, often depend on a notion of guardedness, which guarantees unique solvability of recursive equations and requires roughly that recursive calls happen only under certain guarding operations. On the other hand, many models of iteration do admit unguarded iteration. Solutions are then no longer unique, and in general not even determined as least or greatest fixpoints, being instead governed by quasi-equational axioms. Monads that support unguarded iteration in this sense are called (complete) Elgot monads. Here, we propose to equip monads with an abstract notion of guardedness and then require solvability of abstractly guarded recursive equations; examples of such abstractly guarded pre-iterative monads include both iterative monads and Elgot monads, the latter by deeming any recursive definition to be abstractly guarded. Our main result is then that Elgot monads are precisely the iteration-congruent retracts of abstractly guarded iterative monads, the latter being defined as admitting unique solutions of abstractly guarded recursive equations; in other words, models of unguarded iteration come about by quotienting models of guarded iteration.


  1. 1.
    Aczel, P., Adámek, J., Milius, S., Velebil, J.: Infinite trees and completely iterative theories: a coalgebraic view. Theoret. Comput. Sci. 300(1–3), 1–45 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Adámek, J., Milius, S., Velebil, J.: Equational properties of iterative monads. Inf. Comput. 208, 1306–1348 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Adámek, J., Milius, S., Velebil, J.: Elgot theories: a new perspective of the equational properties of iteration. Math. Struct. Comput. Sci. 21, 417–480 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Altenkirch, T., Danielsson, N.: Partiality, revisited. In: Types for Proofs and Programs, TYPES 2016 (2016)Google Scholar
  5. 5.
    Atkey, R.: Parameterised notions of computation. J. Funct. Prog. 19, 335 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Bergstra, J., Ponse, A., Smolka, S. (eds.): Handbook of Process Algebra. Elsevier, Amsterdam (2001)zbMATHGoogle Scholar
  7. 7.
    Bloom, S., Ésik, Z.: Iteration Theories: The Equational Logic of Iterative Processes. Springer, Heidelberg (1993)CrossRefzbMATHGoogle Scholar
  8. 8.
    Capretta, V.: General recursion via coinductive types. Log. Meth. Comput. Sci. 1(2), 1–28 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Chapman, J., Uustalu, T., Veltri, N.: Quotienting the delay monad by weak bisimilarity. In: Leucker, M., Rueda, C., Valencia, F.D. (eds.) ICTAC 2015. LNCS, vol. 9399, pp. 110–125. Springer, Cham (2015). doi: 10.1007/978-3-319-25150-9_8 CrossRefGoogle Scholar
  10. 10.
    Elgot, C.: Monadic computation and iterative algebraic theories. In: Rose, H.E., Shepherdson, J.C. (eds.) Logic Colloquium 1973. Studies in Logic and the Foundations of Mathematics, vol. 80, pp. 175–230. Elsevier, Amsterdam (1975)Google Scholar
  11. 11.
    Elgot, C., Bloom, S., Tindell, R.: On the algebraic atructure of rooted trees. J. Comput. Syst. Sci. 16, 362–399 (1978)CrossRefzbMATHGoogle Scholar
  12. 12.
    Escardó, M.H.: A metric model of PCF. In: Realizability Semantics and Applications (1999)Google Scholar
  13. 13.
    Ésik, Z., Goncharov, S.: Some remarks on Conway and iteration theories. CoRR, abs/1603.00838 (2016)Google Scholar
  14. 14.
    Goncharov, S., Milius, S., Rauch, C.: Complete Elgot monads and coalgebraic resumptions. In: Mathematical Foundations of Programming Semantics, MFPS 2016. ENTCS (2016)Google Scholar
  15. 15.
    Goncharov, S., Rauch, C., Schröder, L.: Unguarded recursion on coinductive resumptions. In: Mathematical Foundations of Programming Semantics, MFPS 2015. ENTCS (2015)Google Scholar
  16. 16.
    Goncharov, S., Schröder, L.: A coinductive calculus for asynchronous side-effecting processes. Inf. Comput. 231, 204–232 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Lawvere, W.: Functorial semantics of algebraic theories. Proc. Natl. Acad. Sci. USA 50, 869–872 (1963)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Mac Lane, S.: Categories for the Working Mathematician. Springer, Heidelberg (1971)CrossRefzbMATHGoogle Scholar
  19. 19.
    Milius, S.: Completely iterative algebras and completely iterative monads. Inf. Comput. 196, 1–41 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Milius, S., Litak, T.: Guard your daggers and traces: properties of guarded (co-)recursion. Fund. Inform. 150, 407–449 (2017)CrossRefGoogle Scholar
  21. 21.
    Moggi, E.: A modular approach to denotational semantics. In: Pitt, D.H., Curien, P.-L., Abramsky, S., Pitts, A.M., Poigné, A., Rydeheard, D.E. (eds.) CTCS 1991. LNCS, vol. 530, pp. 138–139. Springer, Heidelberg (1991). doi: 10.1007/BFb0013462 CrossRefGoogle Scholar
  22. 22.
    Moggi, E.: Notions of computation and monads. Inf. Comput. 93, 55–92 (1991)MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Nakano, H.: A modality for recursion. In: Logic in Computer Science, LICS 2000, pp. 255–266. IEEE Computer Society (2000)Google Scholar
  24. 24.
    Nakata, K., Uustalu, T.: A Hoare logic for the coinductive trace-based big-step semantics of while. Log. Meth. Comput. Sci. 11(1), 1–32 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Piróg, M., Gibbons, J.: The coinductive resumption monad. In: Mathematical Foundations of Programming Semantics, MFPS 2014. ENTCS, vol. 308, pp. 273–288 (2014)Google Scholar
  26. 26.
    Piróg, M., Gibbons, J.: Monads for behaviour. In: Mathematical Foundations of Programming Semantics, MFPS 2013. ENTCS, vol. 298, pp. 309–324 (2015)Google Scholar
  27. 27.
    Simpson, A., Plotkin, G.: Complete axioms for categorical fixed-point operators. In: Logic in Computer Science, LICS 2000, pp. 30–41 (2000)Google Scholar
  28. 28.
    Uustalu, T.: Generalizing substitution. ITA 37, 315–336 (2003)MathSciNetzbMATHGoogle Scholar
  29. 29.
    Uustalu, T., Vene, V.: Primitive (co)recursion and course-of-value (co)iteration, categorically. Informatica 10(1), 5–26 (1999). Lithuanian Academy of SciencesMathSciNetzbMATHGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  • Sergey Goncharov
    • 1
    Email author
  • Lutz Schröder
    • 1
  • Christoph Rauch
    • 1
  • Maciej Piróg
    • 2
  1. 1.Friedrich-Alexander-Universität Erlangen-NürnbergErlangenGermany
  2. 2.Department of Computer ScienceKU LeuvenLeuvenBelgium

Personalised recommendations