Linear- is CP (more or less) Jennifer Paykin and Steve - - PowerPoint PPT Presentation
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
Linear- is CP (more or less)
- 1. What is CP?
Linear- is CP (more or less)
- 1. What is CP?
Linear- is CP (more or less)
- calculus
- 1. What is CP?
- 2. What is linear- ?
Linear- is CP (more or less)
- calculus
- 1. What is CP?
- 2. What is linear- ?
Linear- is CP (more or less)
- calculus
- calculus
- 1. What is CP?
- 2. What is linear- ?
- 3. Is linear- = CP?
Linear- is CP (more or less)
- calculus
- calculus
CP & Session T ypes
Wadler 2012
CP & Session T ypes
process
Wadler 2012
CP & Session T ypes
process channels
Wadler 2012
CP & Session T ypes
process channels session protocols
Wadler 2012
A Session-typed Store
Caires and Pfenning 2010
A Session-typed Store
quote input choice of
- r
buy
Caires and Pfenning 2010
A Session-typed Store
quote input choice of
- r
buy input product
Caires and Pfenning 2010
A Session-typed Store
quote input choice of
- r
buy input product input credit card
Caires and Pfenning 2010
A Session-typed Store
quote input choice of
- r
buy
- utput choice:
succeeds or fails input product input credit card
Caires and Pfenning 2010
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
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
A Session-typed Customer
A Session-typed Customer
quote
- utput choice of
- r
buy
A Session-typed Customer
quote
- utput choice of
- r
buy
- utput
product
A Session-typed Customer
quote
- utput choice of
- r
buy
- utput
product
- utput
credit card
A Session-typed Customer
quote
- utput choice of
- r
buy input choice: succeeds or fails
- utput
product
- utput
credit card
A Session-typed Customer
quote
- utput choice of
- r
buy input choice: succeeds or fails
- utput
product
- utput
product
- utput
credit card
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
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
processes = linear proofs
Session-T yped Processes
processes = linear proofs
Session-T yped Processes
processes = linear proofs
Session-T yped Processes
processes = linear proofs
Session-T yped Processes
processes = linear proofs
Session-T yped Processes
processes = linear proofs
Session-T yped Processes
processes = linear proofs
Session-T yped Processes
processes = linear proofs
Session-T yped Processes
processes = linear proofs
Session-T yped Processes
processes = linear proofs
Session-T yped Processes
- DILL
Caires and Pfenning 2010
- DILL
input
Caires and Pfenning 2010
- DILL
process input
Caires and Pfenning 2010
- DILL
process input
- utput
Caires and Pfenning 2010
- DILL
(STLC)
- DILL
linear non- linear
(STLC)
- DILL
linear- (DILL)
linear non- linear
(STLC)
- DILL
linear- (DILL)
linear non- linear
(STLC)
natural deduction sequent calculus
- DILL
linear- (DILL)
linear non- linear
(STLC)
natural deduction sequent calculus
- DILL
linear- (DILL)
linear non- linear
(STLC)
natural deduction sequent calculus
Intuitionistic Logic
Classical Logic
natural deduction sequent calculus linear non- linear
CP
Classical Logic
natural deduction sequent calculus linear non- linear
CP
dual calculus System L
- 1. What is CP?
- 2. What is linear- ?
- 3. Is linear- = CP?
Linear- is CP (more or less)
Parigot 1992
multiple inputs Parigot 1992
multiple inputs multiple outputs Parigot 1992
Parigot 1992
Parigot 1992
Parigot 1992
Parigot 1992
Parigot 1992
Classical Logic
natural deduction sequent calculus linear non- linear
CP
Classical Logic
natural deduction sequent calculus linear non- linear
CP
linear-
Classical Logic
natural deduction sequent calculus linear non- linear
CP
linear-
?
- 1. What is CP?
- 2. What is linear- ?
- 3. Is linear- = CP?
Linear- is CP (more or less)
vs CP linear-
vs CP linear-
input
vs CP linear-
input
- utput
vs CP linear-
input
- utput
vs CP linear-
input
- utput
dualizing linear-
dualizing linear-
dualizing linear-
dualizing linear-
input
- utput
dualizing linear-
input
- utput
input output
dualizing linear-
input
- utput
input output
negation: switching input and output
input
- utput
negation: switching input and output
input
- utput
input
- utput
negation: switching input and output
input
- utput
input
- utput
shifts: switching input and output
input
- utput
Mellies and Tabareau 2010
shifts: switching input and output
input
- utput
input
- utput
Mellies and Tabareau 2010
shifts: switching input and output
input
- utput
- utput
input input
- utput
Mellies and Tabareau 2010
shifts: switching input and output
input
- utput
- utput
input input
- utput
Mellies and Tabareau 2010
shifts: switching input and output
input
- utput
shifts: switching input and output
input
- utput
polarized logic
CP : a polarized CP
input
- utput
CP : a polarized CP
input
- utput
Pfenning and Griffith 2015
CP : a polarized CP
quote input choice of
- r
buy switch
CP : a polarized CP
quote input choice of
- r
buy input switch
CP : a polarized CP
quote input choice of
- r
buy input input switch
CP : a polarized CP
quote input choice of
- r
buy
- utput
input input switch switch
CP : a polarized CP
quote input choice of
- r
buy
- utput
input input input switch switch
CP : a polarized CP
quote input choice of
- r
buy
- utput
input
- utput
input input switch switch switch
CP : a polarized CP
CP is CP (more or less)
- explicit input and output
CP is CP (more or less)
- explicit input and output
CP is CP (more or less)
- fully dual types
- explicit input and output
CP is CP (more or less)
- fully dual types
- can always switch
CP
linear-
CP
linear-
CP CP
linear-
CP CP
linear-
CP
T h a n k s !
CP
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.