Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
CSE-321 Programming Languages Curry-Howard Isomorphism 박성우 POSTECH June 4, 2009 Truth Table • T = True, F = False ??? ? 2 Tautology The computational meaning of ) Truth of A is not affected by truth of B. 3 Tautology But what is the computational meaning of 4 Classical Logic • Concerned with: – "whether a given proposition is true or not." • Every proposition is either true or false. – Logic from omniscient God's point of view • Logic for mathematics • Tautologies in classical logic law of excluded middle law of double-negation Peirce's law 5 Constructive Logic • Logic from a human's point of view – we know only what we can prove. • Eg. P = NP • Logic for computer science • Not provable in constructive logic 6 Classical vs. Constructive • Proposition: there exists a rational number ab such that a and b are both irrational numbers. • Proof in classical logic – let c = p2p2 • if c = p2p2 is rational, let a = b = p2 = irrational. then ab = p2p2 = rational. • if c = p2p2 is irrational, let a = c = p2p2 = irrational, b = p2 = irrational. then ab = (p2p2)p2 = p22 = 2 = rational. – But what are a and b at all? • Proof in constructive logic – more involved, but provides a and b. 7 Constructive Conjunction 8 Constructive Implication 9 Disjunction ? 10 Outline • Classical logic vs Constructive logic V • Curry-Howard isomorphism • Summary 11 Curry-Howard Isomorphism Logic Type System proposition type proof proof term (expression) 12 Conjunction vs. Product Type 13 Logic vs. Type System 14 -Reduction 15 -Reduction 16 Curry-Howard Isomorphism Logic Type System propositional logic simply-type -calculus first-order logic dependent types second-order logic polymorphism modal logic modal type system classical logic continuations ? 17 Four Color Problem • "Every map can be colored with no more than 4 colors." 5 4 • Proposed in 1852 • Computer-based solution published in 1976 • Formalization of the proof in 1994 – theorem prover Coq 18 Final Assignment in LICS 2009 • Proof of the Pythagoras' theorem Theorem even_is_even_times_even: forall (n : nat), even (n * n) -> even n. Theorem main_thm: forall (n p : nat), n * n = double (p * p) -> p = 0. Definition irrational (x : R) : Prop := forall (p : Z) (q : nat), q <> 0 -> x <> (p / q)%R. Theorem irrational_sqrt_2: irrational (sqrt 2%nat). 19 Outline • Classical logic vs Constructive logic V • Curry-Howard isomorphism V • Summary 20 Curry 21 Howard 22 Curry-Howard Isomorphism = 23 Finally we will have ... Final Exam • 1.5 hours • Closed book • Covers all chapters. June 2009 Su Mo Tu We 1 2 3 7 8 9 10 14 15 16 17 21 22 23 24 28 29 30 Th 4 11 18 25 Fr 5 12 19 26 Sa 6 13 20 27 25