# Set theory, higher order logic or both?

## Abstract

The majority of general purpose mechanised proof assistants support versions of typed higher order logic, even though set theory is the standard foundation for mathematics. For many applications higher order logic works well and provides, for specification, the benefits of type-checking that are well-known in programming. However, there are areas where types get in the way or seem unmotivated. Furthermore, most people with a scientific or engineering background already know set theory, but not higher order logic. This paper discusses some approaches to getting the best of both worlds: the expressiveness and standardness of set theory with the efficient treatment of functions provided by typed higher order logic.

## Keywords

Type Versus Type Theory Inaccessible Cardinal Simple Type Theory Standard Foundation## Preview

Unable to display preview. Download preview PDF.

## References

- 1.S. Agerholm. Formalising a model of the λ-calculus in HOL-ST. Technical Report 354, University of Cambridge Computer Laboratory, 1994.Google Scholar
- 2.S. Agerholm and M.J.C. Gordon. Experiments with ZF Set Theory in HOL and Isabelle. In E. T. Schubert, P. J. Windley, and J. Alves-Foss, editors,
*Higher Order Logic Theorem Proving and Its Applications: 8th International Workshop*, volume 971 of*Lecture Notes in Computer Science*, pages 32–45. Springer-Verlag, September 1995.Google Scholar - 3.Jackson Paul B. Exploring abstract algebra in constructive type theory. In A. Bundy, editor,
*12th Conference on Automated Deduction*, Lecture Notes in Artifical Intelligence. Springer, June 1994.Google Scholar - 4.R. J. Boulton, A. D. Gordon, M. J. C. Gordon, J. R. Harrison, J. M. J. Herbert, and J. Van Tassel. Experience with embedding hardware description languages in HOL. In V. Stavridou, T. F. Melham, and R. T. Boute, editors,
*Theorem Provers in Circuit Design: Theory, Practice and Experience: Proceedings of the IFIP TC10/WG 10.2 International Conference*, IFIP Transactions A-10, pages 129–156. North-Holland, June 1992.Google Scholar - 5.A. Church. A formulation of the simple theory of types.
*The Journal of Symbolic Logic*, 5:56–68, 1940.zbMATHCrossRefMathSciNetGoogle Scholar - 6.R. L. Constable et al.
*Implementing Mathematics with the Nuprl Proof Development System*. Prentice-Hall, 1986.Google Scholar - 7.Thierry Coquand. An analysis of Girard's paradox. In
*Proceedings, Symposium on Logic in Computer Science*, pages 227–236, Cambridge, Massachusetts, 16–18 June 1986. IEEE Computer Society.Google Scholar - 8.Francisco Corella. Mechanizing set theory. Technical Report 232, University of Cambridge Computer Laboratory, August 1991.Google Scholar
- 9.G. Dowek, A. Felty, H. Herbelin, G. Huet, C. Murthy, C. Parent, C. Paulin-Mohring, and B. Werner. The Coq proof assistant user's guide — version 5.8. Technical Report 154, INRIA-Rocquencourt, 1993.Google Scholar
- 10.W. M. Farmer, J. D. Guttman, and F. Javier Thayer. IMPS: An interactive mathematical proof system.
*Journal of Automated Reasoning*, 11(2):213–248, 1993.zbMATHCrossRefGoogle Scholar - 11.S. Finn and M. P. Fourman.
*L2 — The LAMBDA Logic*. Abstract Hardware Limited, September 1993. In LAMBDA 4.3 Reference Manuals.Google Scholar - 12.M. J. C. Gordon. Merging HOL with set theory. Technical Report 353, University of Cambridge Computer Laboratory, November 1994.Google Scholar
- 13.M. J. C. Gordon and T. F. Melham, editors.
*Introduction to HOL: A Theorem-proving Environment for Higher-Order Logic*. Cambridge University Press, 1993.Google Scholar - 14.F. K. Hanna, N. Daeche, and M. Longley. Veritas+: a specification language based on type theory. In M. Leeser and G. Brown, editors,
*Hardware specification, verification and synthesis: mathematical aspects*, volume 408 of*Lecture Notes in Computer Science*, pages 358–379. Springer-Verlag, 1989.Google Scholar - 15.C. B. Jones.
*Systematic Software Development using VDM*. Prentice Hall International, 1990.Google Scholar - 16.L. Lamport and S. Merz. Specifying and verifying fault-tolerant systems. In
*Proceedings of FTRTFT'94*, Lecture Notes in Computer Science. Springer-Verlag, 1994. See also: http://www.research.digital.com/SRC/tla/papers.html#TLA+.Google Scholar - 17.Z. Luo and R. Pollack. LEGO proof development system: User's manual. Technical Report ECS-LFCS-92-211, University of Edinburgh, LFCS, Computer Science Department, University of Edinburgh, The King's Buildings, Edinburgh, EH9 3JZ, May 1992.Google Scholar
- 18.L. Magnusson and B. Nordström. The ALF proof editor and its proof engine. In
*Types for Proofs and Programs: International Workshop TYPES’ 93*, pages 213–237. Springer, published 1994. LNCS 806.Google Scholar - 19.P. M. Melliar-Smith and John Rushby. The enhanced HDM system for specification and verification. In
*Proc. Verkshop III*, volume 10 of*ACM Software Engineering Notes*, pages 41–43. Springer-Verlag, 1985.Google Scholar - 20.R. P. Nederpelt, J. H. Geuvers, and R. C. De Vrijer, editors.
*Selected Papers on Automath*, volume 133 of*Studies in Logic and The Foundations of Mathematics*. North Holland, 1994.Google Scholar - 21.L. C. Paulson.
*Isabelle: A Generic Theorem Prover*, volume 828 of*Lecture Notes in Computer Science*. Springer-Verlag, 1994.Google Scholar - 22.PVS Web page. http://www.csl.sri.com/pvs/overview.html.Google Scholar
- 23.Piotr Rudnicki.
*An Overview of the MIZAR Project*. Unpublished manuscript; but available by anonymous FTP from menaik.cs.ualberta.ca in the directory pub/Mizar/Mizar_Over.tar.Z, 1992.Google Scholar - 24.J. M. Spivey.
*The Z Notation: A Reference Manual*. Prentice Hall International Series in Computer Science, 2nd edition, 1992.Google Scholar