Abstract
We present an extension of the correspondence between intuitionistic proofs and functional programs to classical proofs, and more precisely to second order classical proofs. The advantage of classical logic in this context is that it allows to model imperative features of programming languages too (cf [5]). But there is an intrinsic difficulty with classical logic which lies in certain non-determinism of its computational interpretations. The use of a natural deduction system removes a part of this non determinism by fixing the inputs to the left of the sequents (cf [10] and [11]). However a conflict remains between the confluence of the computation mechanism and the uniqueness of the representation of data (for instance the uniqueness of the representation of the natural number 1). In this paper we develop the solution to this problem proposed in [11]: we show how to extract the intuitionistic representation of a data from a classical one using an “output” operator, while keeping a confluent computation mechanism. This result allows to extend in a sound way the proofs-as-programs paradigm to classical proofs in a framework where all the usual theoretical properties of intuitionistic proofs still hold.
Preview
Unable to display preview. Download preview PDF.
References
H. BARENDREGT, The Lambda-Calculus, North-Holland, 1981.
J.Y. GIRARD, Interprétation fonctionnelle et élimination des coupures de l'arithmétique d'ordre supérieure. Thése, Université Paris 7, 1972.
J.Y. GIRARD, A new constructive logic: classical logic. Mathematical Structures in Computer Science, vol. 1, 1991, pp. 255–296.
J.Y. GIRARD, Y. LAFONT, and P. TAYLOR, Proofs and Types, Cambridge University Press, 1989.
T. GRIFFIN, A formulae-as-types notion of control, Proc. POPL, 1990.
J.L. KRIVINE, Lambda-calcul, types et modèles, Masson, 1990.
J.L. KRIVINE, Opérateurs de mise en mémoire et traduction de Gödel. Archiv for Mathematical Logic 30, 1990, pp 241–267.
J.L. KRIVINE, M. PARIGOT, Programming with proofs. EIK 26(3), 1990, pp 149–167.
D. LEIVANT, Reasoning about functional programs and complexity classes associated with type disciplines. Proc. FOCS, 1983, pp 460–469.
M. PARIGOT, Free Deduction: an Analysis of “Computations” in Classical Logic. Proc. Russian Conference on Logic Programming, St Petersburg (Russia), 1991, Springer LNCS 592, pp. 361–380.
M. PARIGOT, λμ-calculus: an Algorithmic Interpretation of Classical Natural Deduction. Proc. International Conference on Logic Programming and Automated Reasoning, St Petersburg (Russia), 1992, Springer LNCS 624, pp. 190–201.
M. PARIGOT, Strong Normalisation for Second Order Classical Natural Deduction, Proc. LICS 1993 (to appear).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Parigot, M. (1993). Classical proofs as programs. In: Gottlob, G., Leitsch, A., Mundici, D. (eds) Computational Logic and Proof Theory. KGC 1993. Lecture Notes in Computer Science, vol 713. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0022575
Download citation
DOI: https://doi.org/10.1007/BFb0022575
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57184-1
Online ISBN: 978-3-540-47943-7
eBook Packages: Springer Book Archive