Curry-Howard: Unveiling the Computational Content of Proofs
Total Page:16
File Type:pdf, Size:1020Kb
Introduction Proofs Programs Curry-Howard Classical realizability Curry-Howard: unveiling the computational content of proofs Etienne´ Miquey Equipe´ Gallinee, INRIA LS2N, Universite´ de Nantes 23/11/2018 Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 1/ 37 Introduction Proofs Programs Curry-Howard Classical realizability What I am not going to tell you This talk is secretly a personal challenge. Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 2/ 37 Introduction Proofs Programs Curry-Howard Classical realizability A tricky question Every Ph.D. student has been asked a thousand times: “What is the title of your thesis?” Here is mine: Classical realizability and side-eects The next questions: classical? realizability? side-eects? What does it have to do with logic/mathematics/computer science? Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 3/ 37 Introduction Proofs Programs Curry-Howard Classical realizability A tricky question Every Ph.D. student has been asked a thousand times: “What is the title of your thesis?” Here is mine: Classical realizability and side-eects The next questions: classical? realizability? side-eects? What does it have to do with logic/mathematics/computer science? Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 3/ 37 Introduction Proofs Programs Curry-Howard Classical realizability A tricky question Every Ph.D. student has been asked a thousand times: “What is the title of your thesis?” Here is mine: Classical realizability and side-eects The next questions: classical? realizability? side-eects? What does it have to do with logic/mathematics/computer science? Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 3/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Proofs A (very) old one: Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 4/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Proofs A (very) old one: An easy one: Plato is a cat. All cats like fish. Therefore, Plato likes fish . Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 4/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Proofs A (very) old one: An easy one: Plato is a cat. All cats like fish. Therefore, Plato likes fish . Intuitively: from a set of hypotheses apply deduction rules to obtain a theorem Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 4/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Programs Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 5/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Programs Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 5/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Programs Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 5/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Programs Think of it as a recipe (algorithm) to draw a computation forward. Intuitively: from a set of inputs apply instructions to obtain the output Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 5/ 37 Introduction Proofs Programs Curry-Howard Classical realizability So ? Proof: from a set of hypotheses apply deduction rules to obtain a theorem Program: from a set of inputs apply instructions to obtain the output Curry-Howard (On well-chosen subsets of mathematics and programs) That’s the same thing! Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 6/ 37 Introduction Proofs Programs Curry-Howard Classical realizability 1 Introduction 2 Proofs 3 Programs 4 The Curry-Howard correspondence 5 Classical realizability Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 7/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Proofs (A bit of history) Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 8/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Leibniz A combinatorial view of human ideas, thinking that they “can be resolved into a few as their primitives” Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 9/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Leibniz A combinatorial view of human ideas, thinking that they “can be resolved into a few as their primitives” A crazy dream: “when there are disputes among persons, we can simply say: Let us calculate, without further ado, to see who is right.” Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 9/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Geometry Euclid’s Elements: the first axiomatic presentation of geometry a collection of definitions (line, etc.) common notions (“things equal to the same thing are also equal to one another”) five postulates (“to draw a straight-line from any point to any point”) If a straight line crossing two straight lines makes the interior angles on the same side less than two right angles, the two straight lines, if extended indefinitely, meet on that side on which are the angles less than the two right angles. 19th century: non-Euclidean geometries Bolyai: only four postulates Lobachevsky: four + negation of the fih Riemann: four How can it be determined that a theory is not contradictory? Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 10/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Geometry Euclid’s Elements: the first axiomatic presentation of geometry a collection of definitions (line, etc.) common notions (“things equal to the same thing are also equal to one another”) five postulates (“to draw a straight-line from any point to any point”) If a straight line crossing two straight lines makes the interior angles on the same side less than two right angles, the two straight lines, if extended indefinitely, meet on that side on which are the angles less than the two right angles. 19th century: non-Euclidean geometries Bolyai: only four postulates Lobachevsky: four + negation of the fih Riemann: four How can it be determined that a theory is not contradictory? Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 10/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Geometry Euclid’s Elements: the first axiomatic presentation of geometry a collection of definitions (line, etc.) common notions (“things equal to the same thing are also equal to one another”) five postulates (“to draw a straight-line from any point to any point”) If a straight line crossing two straight lines makes the interior angles on the same side less than two right angles, the two straight lines, if extended indefinitely, meet on that side on which are the angles less than the two right angles. 19th century: non-Euclidean geometries Bolyai: only four postulates Lobachevsky: four + negation of the fih Riemann: four How can it be determined that a theory is not contradictory? Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 10/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Frege “One cannot serve the truth and the untruth. If Euclidean geometry is true, then non-Euclidean geometry is false.” Begrisschri: a F C(a) f formal notations F(a) .* /+ quantifications 8=9 b F(b) c d , - distinction: c = d 0 0 x vs x F(d) signified signifier F(c) A(c;d) Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 11/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Frege “One cannot serve the truth and the untruth. If Euclidean geometry is true, then non-Euclidean geometry is false.” Begrisschri: a F C(a) f formal notations F(a) .* /+ quantifications 8=9 b F(b) c d , - distinction: c = d 0 0 x vs x F(d) signified signifier F(c) A(c;d) Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 11/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Proof trees (Gentzen) Sequent: Hypothesis Γ ` A Conclusion Deduction rules: A 2 Γ Γ;A ` B Γ ` A ) B Γ ` A (Ax) () ) () ) Γ ` A Γ ` A ) B I Γ ` B E Example: Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 12/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Proof trees (Gentzen) Sequent: Hypothesis Γ ` A Conclusion Deduction rules: A 2 Γ Γ;A ` B Γ ` A ) B Γ ` A (Ax) () ) () ) Γ ` A Γ ` A ) B I Γ ` B E Example: Plato is a cat. (A ) B) 2 Γ A 2 Γ If Plato is cat, Plato likes fish. ` ) (Ax) ` (Ax) Γ A B Γ A () ) Therefore, Plato likes fish . Γ ` B E | {z } Conclusion Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 12/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Proof trees (Gentzen) Sequent: Hypothesis Γ ` A Conclusion Deduction rules: A 2 Γ Γ;A ` B Γ ` A ) B Γ ` A (Ax) () ) () ) Γ ` A Γ ` A ) B I Γ ` B E Example: Plato is a cat. Hyp. (A ) B) 2 Γ A 2 Γ If Plato is cat, Plato likes fish. ` ) (Ax) ` (Ax) Γ A B Γ A () ) Therefore, Plato likes fish . Γ ` B E | {z } Conclusion Etienne´ Miquey Curry-Howard: unveiling the computational content of proofs 12/ 37 Introduction Proofs Programs Curry-Howard Classical realizability Theory A theory is the given of: a language: Terms e1;e2 ::= x j 0 j s(e) j e1 + e2 j e1 × e2 Formulas A;B ::= e1 = e2 j > j ? j 8x:A j 9x:A j A ) B j