Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

Michael Bernstein
August 20, 2015
1.5k

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

Michael Bernstein

August 20, 2015
Tweet

Transcript

  1. Philip Wadler
    “Propositions As Types”
    Michael R. Bernstein
    Papers We Love NYC / 2015.8.17 / New York, New York

    View full-size slide

  2. Dedicated to:
    James Lennon Engels Golick

    View full-size slide

  3. 1. This paper’s contributions
    2. My favorite parts
    3. Discussion

    View full-size slide

  4. “Propositions As Types”

    View full-size slide

  5. Contributions

    View full-size slide

  6. “Powerful insights
    arise from linking two
    fields of study
    previously thought
    separate.”

    View full-size slide

  7. The history of
    Computer Science
    is very short

    View full-size slide

  8. The history of logic
    and philosophy are
    its pre-history

    View full-size slide

  9. There is a mechanical
    connection between
    these fields

    View full-size slide

  10. It can pretty much
    be explained with
    a dotted line

    View full-size slide

  11. Propositions as Types is a
    notion with many names and
    many origins

    View full-size slide

  12. Propositions as Types is a
    notion with depth

    View full-size slide

  13. Propositions as Types is a
    notion with breadth

    View full-size slide

  14. Propositions as Types is a
    notion with mystery

    View full-size slide

  15. “Propositions as Types” is
    exciting, and is excellent at
    teaching you about
    Propositions as Types

    View full-size slide

  16. My Favorite Parts

    View full-size slide

  17. Logic and Computation

    View full-size slide

  18. Aristotle
    Ockham
    Leibniz

    View full-size slide

  19. Boole
    De Morgan
    Frege
    Peirce
    Peano

    View full-size slide

  20. Hilbert
    Gödel
    Church
    Kleene
    Turing

    View full-size slide

  21. “Like busses: you wait
    two thousand years for
    a definition of
    ‘effectively calculable,’
    and then three come
    along at once.”

    View full-size slide

  22. Gentzen
    Curry
    Howard

    View full-size slide

  23. “There may, indeed, be other
    applications of the system
    than its use as a logic.”
    - Alonzo Church, on the Lambda Calculus

    View full-size slide

  24. W. A. Howard.
    “The formulae-as-types
    notion of construction.”

    View full-size slide

  25. Propositions as Types

    View full-size slide

  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.

    View full-size slide

  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.

    View full-size slide

  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.

    View full-size slide

  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.

    View full-size slide

  30. Proofs are Programs

    View full-size slide

  31. Normalization of proofs is
    evaluation of programs

    View full-size slide

  32. Logics & Languages

    View full-size slide

  33. Intuitionistic Logic
    &
    Simply Typed Lambda
    Calculus

    View full-size slide

  34. Second Order Logic
    &
    Second Order Lambda
    Calculus

    View full-size slide

  35. Modal Logic
    &
    Monads

    View full-size slide

  36. Linear Logic
    &
    Session Types

    View full-size slide

  37. An Aside / Another Book

    View full-size slide

  38. Friedman and Eastlund
    “The Little Prover”

    View full-size slide

  39. (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))

    View full-size slide

  40. * 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

    View full-size slide

  41. Proof Language

    View full-size slide

  42. (defun defun.first-of ()
    (J-Bob/define (defun.pair)
    '(((defun first-of (x)
    (car x))
    nil))))

    View full-size slide

  43. (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))))))

    View full-size slide

  44. Universality/Outer Space

    View full-size slide

  45. “Propositions as Types
    informs our view of the
    universality of certain
    programming languages.”

    View full-size slide

  46. There is a thriving,
    proven connection
    between work in logic and
    work in computation

    View full-size slide

  47. Works Cited
    http://bit.ly/1DTWE8Q

    View full-size slide

  48. *Thank You*
    w michaelrbernste.in
    t @mrb_bk

    View full-size slide