Extracting Programs from Constructive HOL Proofs Via IZF Set-Theoretic Semantics

  • Robert Constable
  • Wojciech Moczydłowski
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4130)


Church’s Higher Order Logic is a basis for proof assistants — HOL and PVS. Church’s logic has a simple set-theoretic semantics, making it trustworthy and extensible. We factor HOL into a constructive core plus axioms of excluded middle and choice. We similarly factor standard set theory, ZFC, into a constructive core, IZF, and axioms of excluded middle and choice. Then we provide the standard set-theoretic semantics in such a way that the constructive core of HOL is mapped into IZF. We use the disjunction, numerical existence and term existence properties of IZF to provide a program extraction capability from proofs in the constructive core.

We can implement the disjunction and numerical existence properties in two different ways: one modifying Rathjen’s realizability for CZF and the other using a new direct weak normalization result for intensional IZF by Moczydłowski. The latter can also be used for the term existence property.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Church, A.: A formulation of the simple theory of types. The Journal of Symbolic Logic 5, 55–68 (1940)MathSciNetGoogle Scholar
  2. 2.
    Harrison, J.: HOL Light: A tutorial introduction. In: Srivas, M., Camilleri, A. (eds.) FMCAD 1996. LNCS, vol. 1166, pp. 265–269. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  3. 3.
    Berghofer, S.: Proofs, Programs and Executable Specifications in Higher Order Logic. PhD thesis, Technische Universität München (2004)Google Scholar
  4. 4.
    Berghofer, S., Nipkow, T.: Executing higher order logic. In: Callaghan, P., Luo, Z., McKinna, J., Pollack, R. (eds.) TYPES 2000. LNCS, vol. 2277, Springer, Heidelberg (2002)CrossRefGoogle Scholar
  5. 5.
    Coquand, T., Paulin-Mohring, C.: Inductively defined types, preliminary version. In: Martin-Löf, P., Mints, G. (eds.) COLOG 1988. LNCS, vol. 417, pp. 50–66. Springer, Heidelberg (1990)Google Scholar
  6. 6.
    Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development; Coq’Art: The Calculus of Inductive Constructions. Springer, Heidelberg (2004)MATHGoogle Scholar
  7. 7.
    Benl, H., Berger, U., Schwichtenberg, H., others,: Proof theory at work: Program development in the Minlog system. In: Bibel, W., Schmitt, P.G. (eds.) Automated Deduction, vol. II, Kluwer, Dordrecht (1998)Google Scholar
  8. 8.
    Allen, S.F., et al.: Innovations in computational type theory using Nuprl (to appear, 2006)Google Scholar
  9. 9.
    Constable, R.L., et al.: Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, NJ (1986)Google Scholar
  10. 10.
    Martin-Löf, P.: Constructive mathematics and computer programming. In: Proceedings of the Sixth International Congress for Logic, Methodology, and Philosophy of Science, pp. 153–175. North-Holland, Amsterdam (1982)CrossRefGoogle Scholar
  11. 11.
    Nordström, B., Petersson, K., Smith, J.M.: Programming in Martin-Löf’s Type Theory. Oxford Sciences Publication, Oxford (1990)MATHGoogle Scholar
  12. 12.
    Augustsson, L., Coquand, T., Nordström, B.: A short description of another logical framework. In: Proceedings of the First Annual Workshop on Logical Frameworks, Sophia-Antipolis, France, pp. 39–42 (1990)Google Scholar
  13. 13.
    The Coq Development Team: The Coq Proof Assistant Reference Manual – Version V8.0 (2004),
  14. 14.
    Hickey, J., et al.: MetaPRL — A modular logical environment. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, pp. 287–303. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  15. 15.
    Allen, S., et al.: The Nuprl open logical environment. In: McAllester, D. (ed.) CADE 2000. LNCS, vol. 1831, pp. 170–176. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  16. 16.
    Aczel, P.: The type theoretic interpretation of constructive set theory. In: MacIntyre, A., Pacholski, L., Paris, J. (eds.) Logic Colloquium 1977, North-Holland, Amsterdam (1978)Google Scholar
  17. 17.
    Howe, D.J.: Semantic foundations for embedding HOL in Nuprl. In: Nivat, M., Wirsing, M. (eds.) AMAST 1996. LNCS, vol. 1101, pp. 85–101. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  18. 18.
    Howe, D.J.: Toward sharing libraries of mathematics between theorem provers. In: Frontiers of Combining Systems, FroCoS 1998, ILLC, Kluwer Academic Publishers, Dordrecht (1998)Google Scholar
  19. 19.
    Rathjen, M.: The disjunction and related properties for constructive Zermelo-Fraenkel set theory. Journal of Symbolic Logic 70, 1233–1254 (2005)MATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    Moczydłowski, W.: Normalization of IZF with Replacement. Technical Report 2006-2024, Computer Science Department, Cornell University (2006)Google Scholar
  21. 21.
    Gordon, M., Melham, T.: Introduction to HOL: A Theorem Proving Environment for Higher-Order Logic. Cambridge University Press, Cambridge (1993)MATHGoogle Scholar
  22. 22.
    Myhill, J.: Some properties of intuitionistic Zermelo-Fraenkel set theory. In: Cambridge Summer School in Mathematical Logic, vol. 29, pp. 206–231. Springer, Heidelberg (1973)CrossRefGoogle Scholar
  23. 23.
    Beeson, M.J.: Foundations of Constructive Mathematics. Springer, Heidelberg (1985)MATHGoogle Scholar
  24. 24.
    McCarty, D.: Realizability and recursive set theory. Journal of Pure and Applied Logic 32, 153–183 (1986)MATHCrossRefMathSciNetGoogle Scholar
  25. 25.
    Friedman, H.: The consistency of classical set theory relative to a set theory with intuitionistic logic. The Journal of Symbolic Logic, 315–319 (1973)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Robert Constable
    • 1
  • Wojciech Moczydłowski
    • 1
  1. 1.Department of Computer ScienceCornell UniversityIthacaUSA

Personalised recommendations