Abstract
Anybody using a theorem prover or proof assistant will want to have confidence that the system involved will not permit the derivation of false results. On some occasions, there is more than the usual need for this confidence. This chapter discusses some logical systems based on typed lambda-calculus that can be used for this purpose. The systems are natural deduction systems, and use the propositions-as-types paradigm. Not only are the underlying systems provably consistent, but additional unproved assumptions from which a lot of ordinary mathematics can be derived can also be proved consistent. Finally, the systems have few primitive postulates that need to be programmed separately, so that it is easier for a programmer to see whether the code really does program the systems involved without errors.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
Compare this to the system Nuprl [10], which has over one hundred primitive postulates, each of which must be programmed separately in implementation.
- 3.
See [22, Sect. 6].
- 4.
It can be shown that every type in a well-formed environment converts a term of this form.
- 5.
The rule for \(\eta \)-reduction is that \({\lambda }x : A {\;.\;}Ux \rhd U\) if \(x\) is not free in \(U\).
- 6.
As I write this, I have not yet found a general way of writing this predicate, but I have succeeded for an example which is not covariant.
- 7.
The adaptation of this proof seems to work in the case of the example mentioned in the preceding footnote.
- 8.
The definition will also work if \(U : {{\mathsf {Type}}}\), but this is not needed here.
References
Appel, A. W., & Felty, A. P. (2000). A semantic model of types and machine instructions for proof-carrying code. In Proceedings of the 27th ACM symposium on the principles of programming languages (pp. 243–253).
Appel, A. W., & McAllester, D. (2000). An indexed model of recursive types for foundational proof-carrying code. Technical report TR-629-00, Princeton University.
Barendregt, H. P. (1992). Lambda calculi with types. In S. Abramsky, D. M. Gabbay, & T. S. E. Maibaum (Eds.), Handbook of logic in computer science (Vol. 2, pp. 117–309). Oxford: Oxford University Press.
Beeson, M. (1985). Foundations of constructive mathematics. Berlin: Springer.
Berardi, S. (1989). Type dependence and constructive mathematics. Ph.D. thesis, Universita di Torino.
Berardi, S. (1993). Encoding of data types in pure construction calculus: a semantic justification. In G. Huet, & G. Plotkin (Eds.), Logical Environments (pp. 30–60). Cambridge: Cambridge University Press.
Blanqui, F. (1998). The calculus of algebraic and inductive constructions. Technical report, DEA Sémantique, preuve et Programmation.
Böhm, C., & Berarducci, A. (1985). Automatic synthesis of typed \(\Lambda \)-programs on term algebras. Theoretical Computer Science, 39(2–3), 135–154.
Church, A. (1940). A formulation of the simple theory of types. Journal of Symbolic Logic, 5, 56–68.
Constable, R., et al. (1986). Implementing mathematics with the Nuprl proof development system. Englewood Cliffs: Prentice-Hall.
Coquand, T., & Huet, G. (1988). The calculus of constructions. Information and Computation, 76, 95–120.
Coquand, T., & Paulin, C. (1990). Inductively defined types. In P. Martin-Löf, & G. Mints (Eds.), COLOG-88: Proceedings of the international conference on computer logic held in Tallinn, December 12–16, 1988, Lecture notes in computer science (Vol. 417, pp. 50–66). Springer.
Dedekind, R. (1887). Was sind und was sollen die Zahen? (10th ed., 1965). Braunschweig: Friedr. Vieweg & Sohn.
Howard, W. A. (1980). The formulae-as-types notion of construction. In J. Roger Hindley & J. P. Seldin (Eds.), To H. B. Curry: Essays on combinatory logic, lambda calculus and formalism (pp. 479–490). New York: Academic. A version of this paper was privately circulated in 1969.
Huet, G. (1986). Formal structures for computation and deduction (1st ed.). Course notes, Carnegie-Mellon University.
Huet, G. (1987). Induction principles formalized in the calculus of constructions. In H. Ehrig, R. Kowalski, G. Levi, & U. Montanari (Eds.), TAPSOFT ’87: Proceedings of the international joint conference on theory and practice of software development, Pisa, Italy, March 23–27, 1987. Advanced seminar on foundations of innovative software development I and colloquium on trees in algebra and programming (CAAP ’87) (Vol. 1), Lecture notes in computer science (Vol. 249, pp. 276–286). Berlin: Springer.
Kalmár, L. (1940). On the possibility of definition by recursion. Acta Szeged, 9(4), 227–232.
Lorenzen, P. (1939). Die Definition durch vollständige Induktion. Monatshefte für Mathematik und Physik, 47, 356–358.
Pfenning, F. & Paulin-Mohring, C. (1989). Inductively defined types in the calculus of constructions. In M. Main, A. Melton, M. Mislove, & D. Schmidt (Eds.), Proceedings of the 5th international conference on mathematical foundations of programming semantics, Tulane University, New Orleans, Louisiana, USA, March 29–April 1, 1989, Lecture notes in computer science, (Vol. 442, pp. 209–228). Springer.
Prawitz, D. (1965). Natural deduction. Stockholm: Almqvist & Wiksell.
Seldin, J. P. (1992). Coquand’s calculus of constructions: a mathematical foundation for a proof development system. Formal Aspects of Computing, 4, 425–441.
Seldin, J. P. (1997). On the proof theory of Coquand’s calculus of constructions. Annals of Pure and Applied Logic, 83, 23–101.
Seldin, J. P. (2000). A Gentzen-style sequent calculus of constructions with expansion rules. Theoretical Computer Science, 243, 199–215.
Seldin, J. P. (2000). On lists and other abstract data types in the calculus of constructions. Mathematical Structures in Computer Science, 10, 261–276. Special issue in honor of J. Lambek.
Seldin, J. P. (2001). Extensional set equality in the calculus of constructions. Journal of Logic and Computation, 11(3), 483–493. Presented at festival workshop in foundations and computations held at Heriot-Watt University, Edinburgh, July 16–18, 2000.
Werner, B. (1994). Une théorie des constructions inductives. Ph.D. thesis, Université Paris 7.
Acknowledgments
This work was supported in part by grant RGP-23391-98 from the Natural Sciences and Engineering Research Council of Canada.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer Science+Business Media Dordrecht
About this chapter
Cite this chapter
Seldin, J.P. (2014). Type Theories from Barendregt’s Cube for Theorem Provers. In: Pereira, L., Haeusler, E., de Paiva, V. (eds) Advances in Natural Deduction. Trends in Logic, vol 39. Springer, Dordrecht. https://doi.org/10.1007/978-94-007-7548-0_7
Download citation
DOI: https://doi.org/10.1007/978-94-007-7548-0_7
Published:
Publisher Name: Springer, Dordrecht
Print ISBN: 978-94-007-7547-3
Online ISBN: 978-94-007-7548-0
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)