Download PPT

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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
Related documents