CSE-321 Programming Languages Curry-Howard Isomorphism POSTECH June 4, 2009 박성우.
-
Upload
shanon-barton -
Category
Documents
-
view
224 -
download
0
description
Transcript of CSE-321 Programming Languages Curry-Howard Isomorphism POSTECH June 4, 2009 박성우.
CSE-321 Programming Languages
Curry-Howard Isomorphism
POSTECHJune 4, 2009
박성우
2
Truth Table• T = True, F = False
????
3
Tautology
The computational meaning of
) Truth of A is not affected by truth of B.
4
Tautology
But what is the computational meaning of
5
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 double-negation
Peirce's law
law of excluded middle
6
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
7
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.
8
Constructive Conjunction
9
Constructive Implication
10
Disjunction
?
11
Outline• Classical logic vs Constructive logic V• Curry-Howard isomorphism• Summary
12
Curry-Howard Isomorphism
Logic Type System
proposition type
proof proof term (expression)
13
Conjunction vs. Product Type
14
Logic vs. Type System
15
Reduction
16
Reduction
17
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?
18
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
5 4
to be taught in LICS Fall 2009!
19
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).
20
Outline• Classical logic vs Constructive logic V• Curry-Howard isomorphism V• Summary
21
Curry
22
Howard
23
Curry-Howard Isomorphism
=
Finally we will have ...
25
Final Exam• 1.5 hours• Closed book• Covers all chapters.
June 2009Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 1314 15 16 17 18 19 2021 22 23 24 25 26 2728 29 30