240 likes | 277 Views
CSE-321 Programming Languages Curry-Howard Isomorphism. 박성우. POSTECH June 4, 2006. ?. 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, 2006
? 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 2007! 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
Outline • Classical logic vs Constructive logic V • Curry-Howard isomorphism V • Summary
Final Exam • 3 hours • Closed book • Covers all chapters. 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