The Delay Monad and Restriction Categories

  • Tarmo Uustalu
  • Niccolò VeltriEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10580)


We continue the study of Capretta’s delay monad as a means of introducing non-termination from iteration into Martin-Löf type theory. In particular, we explain in what sense this monad provides a canonical solution. We discuss a class of monads that we call \(\omega \)-complete pointed classifying monads. These are monads whose Kleisli category is an \(\omega \)-complete pointed restriction category where pure maps are total. All such monads support non-termination from iteration: this is because restriction categories are a general framework for partiality; the presence of an \(\omega \)-join operation on homsets equips a restriction category with a uniform iteration operator. We show that the delay monad, when quotiented by weak bisimilarity, is the initial \(\omega \)-complete pointed classifying monad in our type-theoretic setting. This universal property singles it out from among other examples of such monads.


Restriction Categories Weak Bisimilarity Kleisli Category Monad Structure Kleisli Extension 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



This research was supported by the Estonian Ministry of Education and Research institutional research grant IUT33-13 and the Estonian Research Council personal research grant PUT763.


  1. 1.
    Altenkirch, T., Danielsson, N.A., Kraus, N.: Partiality, revisited: the partiality monad as a quotient inductive-inductive type. In: Esparza, J., Murawski, A.S. (eds.) FoSSaCS 2017. LNCS, vol. 10203, pp. 534–549. Springer, Heidelberg (2017). doi: 10.1007/978-3-662-54458-7_31 CrossRefGoogle Scholar
  2. 2.
    Benton, N., Kennedy, A., Varming, C.: Some domain theory and denotational semantics in Coq. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 115–130. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-03359-9_10 CrossRefGoogle Scholar
  3. 3.
    Bucalo, A., Führmann, C., Simpson, A.: An equational notion of lifting monad. Theor. Comput. Sci. 294(1–2), 31–60 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Capretta, V.: General recursion via coinductive types. Log. Methods Comput. Sci. 1(2), article 1 (2005)Google Scholar
  5. 5.
    Chapman, J., Uustalu, T., Veltri, N.: Quotienting the delay monad by weak bisimilarity. Math. Struct. Comput. Sci. (to appear)Google Scholar
  6. 6.
    Cockett, J.R.B., Guo, X.: Join restriction categories and the importance of being adhesive. Abstract of talk presented at CT 2007 (2007)Google Scholar
  7. 7.
    Cockett, J.R.B., Lack, S.: Restriction categories I: categories of partial maps. Theor. Comput. Sci. 270(1–2), 223–259 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Cockett, J.R.B., Lack, S.: Restriction categories II: partial map classification. Theor. Comput. Sci. 294(1–2), 61–102 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Cockett, J.R.B., Lack, S.: Restriction categories III: colimits, partial limits, and extensivity. Math. Struct. Comput. Sci. 17(4), 775–817 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Danielsson, N.A.: Operational semantics using the partiality monad. In: Proceedings of 17th ACM SIGPLAN International Conference on Functional Programming, ICFP 2012, pp. 127–138. ACM, New York (2012)Google Scholar
  11. 11.
    Ésik, Z., Goncharov, S.: Some remarks on Conway and iteration theories. arXiv preprint arXiv:1603.00838 (2016)
  12. 12.
    Goncharov, S., Rauch, C., Schröder, L.: Unguarded recursion on coinductive resumptions. Electron. Notes Theor. Comput. Sci. 319, 183–198 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Guo, X.: Products, joins, meets, and ranges in restriction categories. Ph.D. thesis, University of Calgary (2012)Google Scholar
  14. 14.
    Hofmann, M.: Extensional Constructs in Intensional Type Theory. CPHS/BCS Distinguished Dissertations. Springer, London (1997). doi: 10.1007/978-1-4471-0963-1 CrossRefGoogle Scholar
  15. 15.
    Mulry, P.S.: Partial map classifiers and partial cartesian closed categories. Theor. Comput. Sci. 136(1), 109–123 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Norell, U.: Dependently typed programming in Agda. In: Koopman, P., Plasmeijer, R., Swierstra, D. (eds.) AFP 2008. LNCS, vol. 5832, pp. 230–266. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-04652-0_5 CrossRefGoogle Scholar
  17. 17.
    Robinson, E., Rosolini, G.: Categories of partial maps. Inf. Comput. 79(2), 95–130 (1988)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Rosolini, G.: Continuity and effectiveness in topoi. DPhil. thesis, University of Oxford (1986)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Department of Software ScienceTallinn University of TechnologyTallinnEstonia

Personalised recommendations