Some Domain Theory and Denotational Semantics in Coq

  • Nick Benton
  • Andrew Kennedy
  • Carsten Varming
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5674)


We present a Coq formalization of constructive ω-cpos (extending earlier work by Paulin-Mohring) up to and including the inverse-limit construction of solutions to mixed-variance recursive domain equations, and the existence of invariant relations on those solutions. We then define operational and denotational semantics for both a simply-typed CBV language with recursion and an untyped CBV language, and establish soundness and adequacy results in each case.


Logical Relation Domain Theory High Order Logic Functional Language Denotational Semantic 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Adams, R.: Formalized metatheory with terms represented by an indexed family of types. In: Filliâtre, J.-C., Paulin-Mohring, C., Werner, B. (eds.) TYPES 2004. LNCS, vol. 3839, pp. 1–16. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  2. 2.
    Agerholm, S.: Domain theory in HOL. In: Joyce, J.J., Seger, C.-J.H. (eds.) HUG 1993. LNCS, vol. 780. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  3. 3.
    Agerholm, S.: Formalizing a model of the lambda calculus in HOL-ST. Technical Report 354, University of Cambridge Computer Laboratory (1994)Google Scholar
  4. 4.
    Agerholm, S.: LCF examples in HOL. The Computer Journal 38(2) (1995)Google Scholar
  5. 5.
    Altenkirch, T., Reus, B.: Monadic presentations of lambda terms using generalized inductive types. In: Flum, J., Rodríguez-Artalejo, M. (eds.) CSL 1999. LNCS, vol. 1683, pp. 453–468. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  6. 6.
    Audebaud, P., Paulin-Mohring, C.: Proofs of randomized algorithms in Coq. In: Uustalu, T. (ed.) MPC 2006. LNCS, vol. 4014, pp. 49–68. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Bartels, F., Dold, A., Pfeifer, H., Von Henke, F.W., Rueß, H.: Formalizing fixed-point theory in PVS. Technical report, Universität Ulm (1996)Google Scholar
  8. 8.
    Benton, N., Hur, C.-K.: Biorthogonality, step-indexing and compiler correctness. In: ACM International Conference on Functional Programming (2009)Google Scholar
  9. 9.
    Capretta, V.: General recursion via coinductive types. Logical Methods in Computer Science 1 (2005)Google Scholar
  10. 10.
    Coquand, T.: Infinite objects in type theory. In: Barendregt, H., Nipkow, T. (eds.) TYPES 1993, vol. 806. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  11. 11.
    Freyd, P.: Recursive types reduced to inductive types. In: IEEE Symposium on Logic in Computer Science (1990)Google Scholar
  12. 12.
    Freyd, P.: Remarks on algebraically compact categories. In: Applications of Categories in Computer Science. LMS Lecture Notes, vol. 177 (1992)Google Scholar
  13. 13.
    Joyal, A., Street, R.: The geometry of tensor calculus. Adv. in Math. 88 (1991)Google Scholar
  14. 14.
    Kahn, G.: Elements of domain theory. In: The Coq users’ contributions library (1993)Google Scholar
  15. 15.
    McBride, C.: Type-preserving renaming and substitution (unpublished draft)Google Scholar
  16. 16.
    Milner, R.: Logic for computable functions: Description of a machine implementation. Technical Report STAN-CS-72-288, Stanford University (1972)Google Scholar
  17. 17.
    Moggi, E.: Notions of computation and monads. Inf. Comput. 93(1), 55–92 (1991)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Müller, O., Nipkow, T., von Oheimb, D., Slotosch, O.: HOLCF = HOL + LCF. J. Functional Programming 9 (1999)Google Scholar
  19. 19.
    Nipkow, T.: Winskel is (almost) right: Towards a mechanized semantics textbook. Formal Aspects of Computing 10 (1998)Google Scholar
  20. 20.
    Paulin-Mohring, C.: A constructive denotational semantics for Kahn networks in Coq. In: From Semantics to Computer Science. Essays in Honour of G Kahn (2009)Google Scholar
  21. 21.
    Petersen, K.D.: Graph model of LAMBDA in higher order logic. In: Joyce, J.J., Seger, C.-J.H. (eds.) HUG 1993. LNCS, vol. 780. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  22. 22.
    Pitts, A.M.: Computational adequacy via ‘mixed’ inductive definitions. In: Main, M.G., Melton, A.C., Mislove, M.W., Schmidt, D., Brookes, S.D. (eds.) MFPS 1993. LNCS, vol. 802. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  23. 23.
    Pitts, A.M.: Relational properties of domains. Inf. Comput. 127 (1996)Google Scholar
  24. 24.
    Regensburger, F.: HOLCF: Higher order logic of computable functions. In: Schubert, E.T., Alves-Foss, J., Windley, P. (eds.) HUG 1995. LNCS, vol. 971. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  25. 25.
    Reus, B.: Formalizing a variant of synthetic domain theory. J. Automated Reasoning 23 (1999)Google Scholar
  26. 26.
    Varming, C., Birkedal, L.: Higher-order separation logic in Isabelle/HOLCF. In: Mathematical Foundations of Programming Semantics (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Nick Benton
    • 1
  • Andrew Kennedy
    • 1
  • Carsten Varming
    • 2
  1. 1.Microsoft ResearchCambridgeUK
  2. 2.Carnegie-Mellon UniversityPittsburghUSA

Personalised recommendations