260 likes | 448 Views
CSE-321 Programming Languages Curry-Howard Isomorphism. 박성우. POSTECH June 4, 2009. ?. Truth Table. T = True, F = False. ???. Tautology. The computational meaning of. ) Truth of A is not affected by truth of B. Tautology. But what is the computational meaning of.
E N D
CSE-321 Programming LanguagesCurry-Howard Isomorphism 박성우 POSTECH June 4, 2009
? Truth Table • T = True, F = False ???
Tautology The computational meaning of ) Truth of A is not affected by truth of B.
Tautology But what is the computational meaning of
law of excluded middle law of double-negation Peirce's law 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
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
Classical vs. Constructive • Proposition: there exists a rational number absuch that a and bare 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.
Outline • Classical logic vs Constructive logic V • Curry-Howard isomorphism • Summary
5 4 to be taught in LICS Fall 2009! Four Color Problem • "Every map can be colored with no more than 4 colors." • Proposed in 1852 • Computer-based solution published in 1976 • Formalization of the proof in 1994 • theorem prover Coq
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).
Outline • Classical logic vs Constructive logic V • Curry-Howard isomorphism V • Summary
Final Exam • 1.5 hours • Closed book • Covers all chapters. June 2009 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30