CSE-321 Programming Languages Curry-Howard Isomorphism 박성우 POSTECH June 12, 2006 Truth Table - Conjunction 2 Truth Table - Disjunction 3 Truth Table - Implication 4 Tautology The computational meaning of ) Truth of A is not affected by truth of B. 5 Tautology But what is the computational meaning of 6 Classical Logic • Concerned with: – "whether a given proposition is true or not." • Every proposition is either true or false. – Logic from God's point of view – God is omniscient. • Tautologies in classical logic 7 Outline • Introduction to classical logic V • Constructive Logic – a.k.a intuitionistic logic • Curry-Howard isomorphism • Summary 8 Constructive Logic • Logic from a human's point of view – we know only what we can prove. • e.g., P = NP • Concerned with: – "how a given proposition becomes true." • Logic for Computer Science – Cf. Classical logic = logic for mathematics 9 Truth Judgment in Constructive Logic • – "A is true." • Not provable in constructive logic 10 Conjunction 11 Implication 12 Disjunction 13 Hypothetical Judgments 14 Inference Rules 15 Outline • • • • Introduction to classical logic V Constructive Logic V Curry-Howard isomorphism Summary 16 Proposition = Type Proof = Proof term 17 Product Type 18 Hypothetical Judgment 19 Logic vs. Type System 20 -Reduction 21 -Reduction 22 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 23 Outline • • • • Introduction to classical logic V Constructive Logic V Curry-Howard isomorphism V Summary 24 Curry 25 Howard 26 Curry-Howard Isomorphism = 27
© Copyright 2026 Paperzz