Michael Bernstein
August 20, 2015
1.5k

# 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

6. ### “Powerful insights arise from linking two ﬁelds of study previously

thought separate.”

many origins

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

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

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

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

26. ### 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.
27. ### 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.
28. ### 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.
29. ### 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.

42. ### (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))

44. ### * 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))))
47. ### (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))))))

49. ### “Propositions as Types informs our view of the universality of

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

and work in computation