Linear- is CP (more or less) Jennifer Paykin and Steve - - PowerPoint PPT Presentation

linear is cp more or less
SMART_READER_LITE
LIVE PREVIEW

Linear- is CP (more or less) Jennifer Paykin and Steve - - PowerPoint PPT Presentation

Linear- is CP (more or less) Jennifer Paykin and Steve Zdancewic University of Pennsylvania Wadlerfest April 11, 2016 Linear- is CP (more or less) Linear- is CP (more or less) 1. What is CP? -calculus Linear- is


slide-1
SLIDE 1

Linear- is CP (more or less)

Jennifer Paykin and Steve Zdancewic University of Pennsylvania

Wadlerfest April 11, 2016

slide-2
SLIDE 2

Linear- is CP (more or less)

slide-3
SLIDE 3
  • 1. What is CP?

Linear- is CP (more or less)

slide-4
SLIDE 4
  • 1. What is CP?

Linear- is CP (more or less)

  • calculus
slide-5
SLIDE 5
  • 1. What is CP?
  • 2. What is linear- ?

Linear- is CP (more or less)

  • calculus
slide-6
SLIDE 6
  • 1. What is CP?
  • 2. What is linear- ?

Linear- is CP (more or less)

  • calculus
  • calculus
slide-7
SLIDE 7
  • 1. What is CP?
  • 2. What is linear- ?
  • 3. Is linear- = CP?

Linear- is CP (more or less)

  • calculus
  • calculus
slide-8
SLIDE 8

CP & Session T ypes

Wadler 2012

slide-9
SLIDE 9

CP & Session T ypes

process

Wadler 2012

slide-10
SLIDE 10

CP & Session T ypes

process channels

Wadler 2012

slide-11
SLIDE 11

CP & Session T ypes

process channels session protocols

Wadler 2012

slide-12
SLIDE 12

A Session-typed Store

Caires and Pfenning 2010

slide-13
SLIDE 13

A Session-typed Store

quote input choice of

  • r

buy

Caires and Pfenning 2010

slide-14
SLIDE 14

A Session-typed Store

quote input choice of

  • r

buy input product

Caires and Pfenning 2010

slide-15
SLIDE 15

A Session-typed Store

quote input choice of

  • r

buy input product input credit card

Caires and Pfenning 2010

slide-16
SLIDE 16

A Session-typed Store

quote input choice of

  • r

buy

  • utput choice:

succeeds or fails input product input credit card

Caires and Pfenning 2010

slide-17
SLIDE 17

A Session-typed Store

quote input choice of

  • r

buy

  • utput choice:

succeeds or fails input product input product input credit card

Caires and Pfenning 2010

slide-18
SLIDE 18

A Session-typed Store

quote input choice of

  • r

buy

  • utput choice:

succeeds or fails input product

  • utput cost,

then terminates input product input credit card

Caires and Pfenning 2010

slide-19
SLIDE 19

A Session-typed Customer

slide-20
SLIDE 20

A Session-typed Customer

quote

  • utput choice of
  • r

buy

slide-21
SLIDE 21

A Session-typed Customer

quote

  • utput choice of
  • r

buy

  • utput

product

slide-22
SLIDE 22

A Session-typed Customer

quote

  • utput choice of
  • r

buy

  • utput

product

  • utput

credit card

slide-23
SLIDE 23

A Session-typed Customer

quote

  • utput choice of
  • r

buy input choice: succeeds or fails

  • utput

product

  • utput

credit card

slide-24
SLIDE 24

A Session-typed Customer

quote

  • utput choice of
  • r

buy input choice: succeeds or fails

  • utput

product

  • utput

product

  • utput

credit card

slide-25
SLIDE 25

A Session-typed Customer

quote

  • utput choice of
  • r

buy input choice: succeeds or fails

  • utput

product input cost, then continue

  • utput

product

  • utput

credit card

slide-26
SLIDE 26

A Session-typed Customer

quote

  • utput choice of
  • r

buy input choice: succeeds or fails

  • utput

product input cost, then continue

  • utput

product

  • utput

credit card

slide-27
SLIDE 27

processes = linear proofs

Session-T yped Processes

slide-28
SLIDE 28

processes = linear proofs

Session-T yped Processes

slide-29
SLIDE 29

processes = linear proofs

Session-T yped Processes

slide-30
SLIDE 30

processes = linear proofs

Session-T yped Processes

slide-31
SLIDE 31

processes = linear proofs

Session-T yped Processes

slide-32
SLIDE 32

processes = linear proofs

Session-T yped Processes

slide-33
SLIDE 33

processes = linear proofs

Session-T yped Processes

slide-34
SLIDE 34

processes = linear proofs

Session-T yped Processes

slide-35
SLIDE 35

processes = linear proofs

Session-T yped Processes

slide-36
SLIDE 36

processes = linear proofs

Session-T yped Processes

slide-37
SLIDE 37
  • DILL

Caires and Pfenning 2010

slide-38
SLIDE 38
  • DILL

input

Caires and Pfenning 2010

slide-39
SLIDE 39
  • DILL

process input

Caires and Pfenning 2010

slide-40
SLIDE 40
  • DILL

process input

  • utput

Caires and Pfenning 2010

slide-41
SLIDE 41
  • DILL

(STLC)

slide-42
SLIDE 42
  • DILL

linear non- linear

(STLC)

slide-43
SLIDE 43
  • DILL

linear- (DILL)

linear non- linear

(STLC)

slide-44
SLIDE 44
  • DILL

linear- (DILL)

linear non- linear

(STLC)

natural deduction sequent calculus

slide-45
SLIDE 45
  • DILL

linear- (DILL)

linear non- linear

(STLC)

natural deduction sequent calculus

slide-46
SLIDE 46
  • DILL

linear- (DILL)

linear non- linear

(STLC)

natural deduction sequent calculus

Intuitionistic Logic

slide-47
SLIDE 47

Classical Logic

natural deduction sequent calculus linear non- linear

CP

slide-48
SLIDE 48

Classical Logic

natural deduction sequent calculus linear non- linear

CP

dual calculus System L

slide-49
SLIDE 49
  • 1. What is CP?
  • 2. What is linear- ?
  • 3. Is linear- = CP?

Linear- is CP (more or less)

slide-50
SLIDE 50

Parigot 1992

slide-51
SLIDE 51

multiple inputs Parigot 1992

slide-52
SLIDE 52

multiple inputs multiple outputs Parigot 1992

slide-53
SLIDE 53

Parigot 1992

slide-54
SLIDE 54

Parigot 1992

slide-55
SLIDE 55

Parigot 1992

slide-56
SLIDE 56

Parigot 1992

slide-57
SLIDE 57

Parigot 1992

slide-58
SLIDE 58

Classical Logic

natural deduction sequent calculus linear non- linear

CP

slide-59
SLIDE 59

Classical Logic

natural deduction sequent calculus linear non- linear

CP

linear-

slide-60
SLIDE 60

Classical Logic

natural deduction sequent calculus linear non- linear

CP

linear-

?

slide-61
SLIDE 61
  • 1. What is CP?
  • 2. What is linear- ?
  • 3. Is linear- = CP?

Linear- is CP (more or less)

slide-62
SLIDE 62

vs CP linear-

slide-63
SLIDE 63

vs CP linear-

input

slide-64
SLIDE 64

vs CP linear-

input

  • utput
slide-65
SLIDE 65

vs CP linear-

input

  • utput
slide-66
SLIDE 66

vs CP linear-

input

  • utput
slide-67
SLIDE 67

dualizing linear-

slide-68
SLIDE 68

dualizing linear-

slide-69
SLIDE 69

dualizing linear-

slide-70
SLIDE 70

dualizing linear-

input

  • utput
slide-71
SLIDE 71

dualizing linear-

input

  • utput

input output

slide-72
SLIDE 72

dualizing linear-

input

  • utput

input output

slide-73
SLIDE 73

negation: switching input and output

input

  • utput
slide-74
SLIDE 74

negation: switching input and output

input

  • utput

input

  • utput
slide-75
SLIDE 75

negation: switching input and output

input

  • utput

input

  • utput
slide-76
SLIDE 76

shifts: switching input and output

input

  • utput

Mellies and Tabareau 2010

slide-77
SLIDE 77

shifts: switching input and output

input

  • utput

input

  • utput

Mellies and Tabareau 2010

slide-78
SLIDE 78

shifts: switching input and output

input

  • utput
  • utput

input input

  • utput

Mellies and Tabareau 2010

slide-79
SLIDE 79

shifts: switching input and output

input

  • utput
  • utput

input input

  • utput

Mellies and Tabareau 2010

slide-80
SLIDE 80

shifts: switching input and output

input

  • utput
slide-81
SLIDE 81

shifts: switching input and output

input

  • utput

polarized logic

slide-82
SLIDE 82

CP : a polarized CP

input

  • utput
slide-83
SLIDE 83

CP : a polarized CP

input

  • utput

Pfenning and Griffith 2015

slide-84
SLIDE 84

CP : a polarized CP

slide-85
SLIDE 85

quote input choice of

  • r

buy switch

CP : a polarized CP

slide-86
SLIDE 86

quote input choice of

  • r

buy input switch

CP : a polarized CP

slide-87
SLIDE 87

quote input choice of

  • r

buy input input switch

CP : a polarized CP

slide-88
SLIDE 88

quote input choice of

  • r

buy

  • utput

input input switch switch

CP : a polarized CP

slide-89
SLIDE 89

quote input choice of

  • r

buy

  • utput

input input input switch switch

CP : a polarized CP

slide-90
SLIDE 90

quote input choice of

  • r

buy

  • utput

input

  • utput

input input switch switch switch

CP : a polarized CP

slide-91
SLIDE 91

CP is CP (more or less)

slide-92
SLIDE 92
  • explicit input and output

CP is CP (more or less)

slide-93
SLIDE 93
  • explicit input and output

CP is CP (more or less)

  • fully dual types
slide-94
SLIDE 94
  • explicit input and output

CP is CP (more or less)

  • fully dual types
  • can always switch
slide-95
SLIDE 95

CP

slide-96
SLIDE 96

linear-

CP

slide-97
SLIDE 97

linear-

CP CP

slide-98
SLIDE 98

linear-

CP CP

slide-99
SLIDE 99

linear-

CP

T h a n k s !

CP

slide-100
SLIDE 100

References

  • Phil Wadler, Propositions are sessions, ICFP 2012.
  • Luis Caires and Frank Pfenning, Session types as

intuitionistic linear propositions, CONCUR 2010.

  • Michel Parigot, Lambda-mu calculus: an algorithmic

interpretation of classical natural deduction, Logic Programming and Automated Reasoning 1992.

  • Paul-Andre Mellies and Nicolas Tabareau, Resource

modalities in tensor logic, Annals of Pure and Applied Logic 2010.

  • Frank Pfenning and Dennis Griffith, Polarized

substructural session types, Foundations of Software Science and Computation Structures 2015.