1.3k

# Papers We Love NYC: "Propositions As Types" By Philip Wadler

August 20, 2015

## Transcript

1. ### Philip Wadler “Propositions As Types” Michael R. Bernstein Papers We

Love NYC / 2015.8.17 / New York, New York

3. None
4. None
5. None
6. None

10. None
11. ### “Powerful insights arise from linking two ﬁelds of study previously

thought separate.”

16. None

many origins

22. None
23. None
24. None
25. None
26. None

32. ### “Like busses: you wait two thousand years for a deﬁnition

of ‘eﬀectively calculable,’ and then three come along at once.”

34. ### “There may, indeed, be other applications of the system than

its use as a logic.” - Alonzo Church, on the Lambda Calculus

37. ### Conjunction A ∧ B corresponds to cartesian product A x

B, Disjunction A ∨ B corresponds to a disjoint sum A + B Implication A ⊃ B corresponds to function space A → B. A proof of the proposition A ⊃ B consists of a procedure that given a proof of A yields a proof of B.
38. ### Conjunction A ∧ B corresponds to cartesian product A x

B, Disjunction A ∨ B corresponds to a disjoint sum A + B Implication A ⊃ B corresponds to function space A → B. A proof of the proposition A ⊃ B consists of a procedure that given a proof of A yields a proof of B.
39. ### Conjunction A ∧ B corresponds to cartesian product A x

B, Disjunction A ∨ B corresponds to a disjoint sum A + B Implication A ⊃ B corresponds to function space A → B. A proof of the proposition A ⊃ B consists of a procedure that given a proof of A yields a proof of B.
40. ### Conjunction A ∧ B corresponds to cartesian product A x

B, Disjunction A ∨ B corresponds to a disjoint sum A + B Implication A ⊃ B corresponds to function space A → B. A proof of the proposition A ⊃ B consists of a procedure that given a proof of A yields a proof of B.

49. None
50. None
51. None
52. None
53. None
54. None
55. None
56. None

61. ### (dethm if-true (x y) (equal (if 't x y) x))

(dethm if-false (x y) (equal (if 'nil x y) y)) (dethm if-same (x y) (equal (if x y y) y))

63. ### * Replace a function application with its body * Replace

expressions according to axioms * Prove that a function is total * Leverage homoiconic language for maximum theorem proving fun

nil))))
66. ### (defun dethm.first-of-pair () (J-Bob/define (defun.second-of) '(((dethm first-of-pair (a b) (equal

(first-of (pair a b)) a)) nil ((1 1) (pair a b)) ((1) (first-of (cons a (cons b '())))) ((1) (car/cons a (cons b '()))) (() (equal-same a))))))
67. None

69. None
70. ### “Propositions as Types informs our view of the universality of

certain programming languages.”
71. ### There is a thriving, proven connection between work in logic

and work in computation