Abstract
We discuss the possibility to construct a programming language in which we can program by proofs, in order to ensure program correctness. The logical framework we use is presented in [13].
The main objection to that kind of approach to programming being the inefficiency of the program produced by proofs, the greater part of the paper is devoted to investigate how to define data types and how to construct programs for combining proofs and efficiency. Several solutions are proposed using recursive data types which lead, in particular, to new representations of natural numbers in lambda-calculus.
Chapter PDF
Similar content being viewed by others
Keywords
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.
Bibliographie
H.P. BARENDREGT, The Lambda Calculus, Studies in Logic, North-Holland, 1981.
N. DE BRUIJN, A survey of the project Automath, to H.B. CURRY: essays on combinatory logic, λ-calculus and formalism, Seldin/Hindley (eds), pp 579–606, Academic Press, 1980.
T. COQUAND, Une théorie des constructions, Thèse de 3eme cycle, Université Paris 7, 1985.
T. COQUAND, G. HUET, Constructions: a higher order proof system for mechanizing mathematics, Proc. EUROCAL 85, LNCS 203.
R.L. CONSTABLE et. al., Implementing Mathematics with the Nuprl Proof Development System, Prentice-Hall, 1986.
G. COUSINEAU, P. L. CURIEN, M. MAUNY, The categorical abstract machine, LNCS 201, 1985.
J.Y. GIRARD, Une extension de l'interprétation de Gödel à l'analyse, et son application àl'élimination des coupures dans l'analyse et dans la théorie des types, Proc. 2nd Scandinavian Logic Symp., pp 63–92, North-Holland, 1970.
J.Y. GIRARD, Interprétation fonctionnelle et élimination des coupures de l'arithmétique d'ordre supérieur, Thèse d'état, Université Paris 7, 1972.
J.Y. GIRARD, The System F of variable types, fifteen years later, Theoretical Computer Science, 1987.
W.A. HOWARD, The formulae as types notion of construction, manuscript, 1969 (published in Seldin/Hindley (eds), To H.B. CURRY; essays on combinatory logic, λ-calculus and formalism, pp. 479–490, Academic Press, 1980).
J.L. KRIVINE, Programmation en Arithmetique Fonctionnelle du Second Ordre, manuscript.
J.L. KRIVINE, Un algorithme non typable dans le système F, CRAS, 1987.
J.L. KRIVINE, M. PARIGOT, Programming with proofs, preprint, presented at 6th Symposium on Computation Theory, Wendisch-Rietz, November 1987.
H. LAUCHLI, An abstract notion of realizability for which intuitionistic predicate calculus is complete, in Kino/Myhill/vesley (eds), Intuitionism and proof theory, pp 227–234, North-Holland, 1970.
P. MARTIN-LOF, Constructive Mathematics and Computer programming, Proc. 6th Cong. Logic, Methodology and Philosophy of Science, pp 153–175, North-Holland, 1982.
P. MARTIN-LOF, Intuitionistic type theory, Bibliopolis, 1984.
M. PARIGOT, Preuves et programmes: les mathématiques comme langage de programmation, Images des Mathématiques, Courrier du CNRS (à paraître).
M. PARIGOT, Recursive programming with proofs, preprint, december 1987.
J.R. REYNOLDS, Three approaches to type structure, LNCS 185, 1985, pp 97–138.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1988 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Parigot, M. (1988). Programming with proofs: A second order type theory. In: Ganzinger, H. (eds) ESOP '88. ESOP 1988. Lecture Notes in Computer Science, vol 300. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-19027-9_10
Download citation
DOI: https://doi.org/10.1007/3-540-19027-9_10
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-19027-1
Online ISBN: 978-3-540-38941-5
eBook Packages: Springer Book Archive