Towards Concurrent Type Theory
|
|
- Nathaniel Harvey
- 5 years ago
- Views:
Transcription
1 Towards Concurrent Type Theory Luís Caires 1, Frank Pfenning 2, Bernardo Toninho 1,2 1 Universidade Nova de Lisboa 2 Carnegie Mellon University Workshop on Types in Language Design and Implementation (TLDI) January 28, / 1
2 Proofs and programs In intuitionistic logic: Propositions are simple types Proofs are functional programs Proof reduction is computation 2 / 1
3 Proofs and programs In intuitionistic logic: Propositions are simple types Proofs are functional programs Proof reduction is computation Curry (1934) Axiomatic proofs are combinators Proof reduction is combinatory reduction Howard (1969) Natural deductions are λ-terms Proof reduction is functional computation 2 / 1
4 Proofs and programs In intuitionistic logic: Propositions are simple types Proofs are functional programs Proof reduction is computation Curry (1934) Axiomatic proofs are combinators Proof reduction is combinatory reduction Howard (1969) Natural deductions are λ-terms Proof reduction is functional computation These are isomorphisms! 2 / 1
5 Other instances Capture computational phenomena logically Modal logic (JS4) and staged computation (Davies & Pf. 1996) Temporal logic and partial evaluation (Davies 1996) Lax logic and effects (Benton et al. 1998) Modal logic (JT) and proof irrelevance (Pf. 2008)... (but not as easy as it looks) 3 / 1
6 Other instances Capture computational phenomena logically Modal logic (JS4) and staged computation (Davies & Pf. 1996) Temporal logic and partial evaluation (Davies 1996) Lax logic and effects (Benton et al. 1998) Modal logic (JT) and proof irrelevance (Pf. 2008)... (but not as easy as it looks) This talk: Linear propositions as session types Sequent proofs as π-calculus processes Cut reduction as communication 3 / 1
7 Type theory Type theory (Martin-Löf 1980) Generalizes intuitionistic logic Types depend on programs Full integration of reasoning and programming 4 / 1
8 Type theory Type theory (Martin-Löf 1980) Generalizes intuitionistic logic Types depend on programs Full integration of reasoning and programming Co-design of language and reasoning principles! 4 / 1
9 Type theory Type theory (Martin-Löf 1980) Generalizes intuitionistic logic Types depend on programs Full integration of reasoning and programming Co-design of language and reasoning principles! This talk: Session types depend on functional values Communicate channels and values (= proofs) 4 / 1
10 Type theory Type theory (Martin-Löf 1980) Generalizes intuitionistic logic Types depend on programs Full integration of reasoning and programming Co-design of language and reasoning principles! This talk: Session types depend on functional values Communicate channels and values (= proofs) Not yet: Types do not depend on channels or processes Processes are not communicated 4 / 1
11 Outline 1 Session types for π-calculus 2 Dependent session types 3 Proof irrelevance 4 Some results 5 Conclusion 5 / 1
12 Judgment forms Judgment P :: x : A Process P offers service A along channel x Linear sequent A 1,..., A }{{} n A Cut as composition A, A C, C Identity as forwarding cut A A A id A 6 / 1
13 Judgment forms Judgment P :: x : A Process P offers service A along channel x Linear sequent P uses x i :A i and offers x:a. Cut as composition x 1 :A 1,..., x n :A }{{} n P :: x : A A Identity as forwarding, A C, C cut A A A id A 6 / 1
14 Judgment forms Judgment P :: x : A Process P offers service A along channel x Linear sequent P uses x i :A i and offers x:a. Cut as composition x 1 :A 1,..., x n :A }{{} n P :: x : A x : A, x:a z : C, z : C cut A Identity as forwarding A A id A 6 / 1
15 Judgment forms Judgment P :: x : A Process P offers service A along channel x Linear sequent P uses x i :A i and offers x:a. Cut as composition P :: x : A x 1 :A 1,..., x n :A }{{} n P :: x : A, x:a Q :: z : C, (νx)(p Q) :: z : C cut A Identity as forwarding A A id A 6 / 1
16 Judgment forms Judgment P :: x : A Process P offers service A along channel x Linear sequent x 1 :A 1,..., x n :A }{{} n P :: x : A P uses x i :A i and offers x:a. Cut as composition P :: x : A Identity as forwarding, x:a Q :: z : C, (νx)(p Q) :: z : C cut A x:a z : A id A 6 / 1
17 Judgment forms Judgment P :: x : A Process P offers service A along channel x Linear sequent x 1 :A 1,..., x n :A }{{} n P :: x : A P uses x i :A i and offers x:a. Cut as composition P :: x : A Identity as forwarding, x:a Q :: z : C, (νx)(p Q) :: z : C cut A x:a [x z] :: z : A id A 6 / 1
18 Offering input (A B) P :: x : A B P inputs an A along x and then behaves as B Right rule: offer of service, A B A B R Left rule: matching use of service A, B C,, A B C L 7 / 1
19 Offering input (A B) P :: x : A B P inputs an A along x and then behaves as B Right rule: offer of service, A B A B R Left rule: matching use of service A, B C,, A B C L 7 / 1
20 Offering input (A B) P :: x : A B P inputs an A along x and then behaves as B Right rule: offer of service, y:a x : B x : A B R Left rule: matching use of service A, B C,, A B C L 7 / 1
21 Offering input (A B) P :: x : A B P inputs an A along x and then behaves as B Right rule: offer of service, y:a P :: x : B x(y).p :: x : A B R Can reuse x, due to linearity! Left rule: matching use of service A, B C,, A B C L 7 / 1
22 Offering input (A B) P :: x : A B P inputs an A along x and then behaves as B Right rule: offer of service, y:a P :: x : B x(y).p :: x : A B R Can reuse x, due to linearity! Left rule: matching use of service A, B C,, A B C L 7 / 1
23 Offering input (A B) P :: x : A B P inputs an A along x and then behaves as B Right rule: offer of service, y:a P :: x : B x(y).p :: x : A B R Can reuse x, due to linearity! Left rule: matching use of service y : A, x:b z : C,, x:a B z : C L 7 / 1
24 Offering input (A B) P :: x : A B P inputs an A along x and then behaves as B Right rule: offer of service, y:a P :: x : B x(y).p :: x : A B R Can reuse x, due to linearity! Left rule: matching use of service P :: y : A, x:b Q :: z : C,, x:a B (νy)x y.(p Q) :: z : C L Can reuse x, due to linearity Channel y must be new (bound output) 7 / 1
25 Proof and process reduction Proof reduction, A B A B R 1 A 2, B C 1, 2, A B C 1 A, 1, 2 C, A B, 1 B cut A, 1, 2 C Corresponding process reduction 2, B C L cut A B cut B, 1, 2 (νx)(x(y).p 1 (νw)(x w.(p 2 Q))) :: z : C, 1, 2 (νx)((νw)(p 2 P 1 {w/y}) Q) :: z : C 8 / 1
26 Process reduction Corresponding process reduction (νx)(x(y).p 1 (νw)(x w.(p 2 Q))) (νx)((νw)(p 2 P 1 {w/y}) Q) Instance of (modulo structural congruence) (x(y).p x w.q) (P{w/y} Q) Synchronous π-calculus Typing modulo structural congruence 9 / 1
27 Preview Linear propositions as session types P :: x : A B P :: x : A B P :: x : 1 P :: x : A & B P :: x : A B P :: x :!A Input a y:a along x and behave as B Output new y:a along x and behave as B Terminate session on x Offer choice between A and B along x Offer either A or B along x Offer A persistently along x Sequent proofs as process expressions Proof reduction as process reduction 10 / 1
28 Offering output (A B) P :: x : A B P outputs a fresh y:a along x and then behaves as B Right rule: offer output A B, A B R Left rule: perform matching input, A, B C, A B C L 11 / 1
29 Offering output (A B) P :: x : A B P outputs a fresh y:a along x and then behaves as B Right rule: offer output A B, A B R Left rule: perform matching input, A, B C, A B C L 11 / 1
30 Offering output (A B) P :: x : A B P outputs a fresh y:a along x and then behaves as B Right rule: offer output y : A x : B, x : A B R Left rule: perform matching input, A, B C, A B C L 11 / 1
31 Offering output (A B) P :: x : A B P outputs a fresh y:a along x and then behaves as B Right rule: offer output P :: y : A Q :: x : B, (νy)x y.(p Q) :: x : A B R Left rule: perform matching input, A, B C, A B C L 11 / 1
32 Offering output (A B) P :: x : A B P outputs a fresh y:a along x and then behaves as B Right rule: offer output P :: y : A Q :: x : B, (νy)x y.(p Q) :: x : A B R Left rule: perform matching input, A, B C, A B C L 11 / 1
33 Offering output (A B) P :: x : A B P outputs a fresh y:a along x and then behaves as B Right rule: offer output P :: y : A Q :: x : B, (νy)x y.(p Q) :: x : A B R Left rule: perform matching input, y:a, x:b z : C, x:a B z : C L 11 / 1
34 Offering output (A B) P :: x : A B P outputs a fresh y:a along x and then behaves as B Right rule: offer output P :: y : A Q :: x : B, (νy)x y.(p Q) :: x : A B R Left rule: perform matching input, y:a, x:b P :: z : C, x:a B x(y).p :: z : C L 11 / 1
35 Offering output (A B) Proof reduction again corresponds to process reduction No new rules required Apparent asymmetry, but A B B A: x:a B x(y).(νw)z w.([x w] [y z]) :: z : B A 12 / 1
36 Termination (1) P :: x : 1 P terminates session on x Right rule: offer of termination (unit of ) Left rule: accept termination Reduction 1 1R C, 1 C 1L 13 / 1
37 Termination (1) P :: x : 1 P terminates session on x Right rule: offer of termination (unit of ) Left rule: accept termination Reduction 1 1R C, 1 C 1L 13 / 1
38 Termination (1) P :: x : 1 P terminates session on x Right rule: offer of termination (unit of ) Left rule: accept termination Reduction x : 1 1R C, 1 C 1L 13 / 1
39 Termination (1) P :: x : 1 P terminates session on x Right rule: offer of termination (unit of ) Left rule: accept termination Reduction x.0 :: x : 1 1R C, 1 C 1L 13 / 1
40 Termination (1) P :: x : 1 P terminates session on x Right rule: offer of termination (unit of ) Left rule: accept termination Reduction x.0 :: x : 1 1R C, 1 C 1L 13 / 1
41 Termination (1) P :: x : 1 P terminates session on x Right rule: offer of termination (unit of ) Left rule: accept termination Reduction x.0 :: x : 1 1R z : C, x:1 z : C 1L 13 / 1
42 Termination (1) P :: x : 1 P terminates session on x Right rule: offer of termination (unit of ) Left rule: accept termination Reduction x.0 :: x : 1 1R P :: z : C, x:1 x().p :: z : C 1L 13 / 1
43 Termination (1) P :: x : 1 P terminates session on x Right rule: offer of termination (unit of ) Left rule: accept termination x.0 :: x : 1 1R P :: z : C, x:1 x().p :: z : C 1L Reduction (x.0 x().p) P 13 / 1
44 Termination (1) This faithful process assignment models synchronous termination We can also model asynchronous termination Use a different process assignment (Caires & Pf. 2010) Contracting proofs to processes Some proof reductions are process identities 14 / 1
45 Example: PDF indexing Abstract away communicated values for now index 1 file (file 1) Shape of a server srv x(f ).(νy)x y.(p x.0) :: x : index 1 Shape of a client client (νpdf )x pdf.x(idx).x().q Composition of server and client srv :: x : index 1 x : index 1 client :: z : 1 (νx)(srv client) :: z : 1 cut 15 / 1
46 Taking stock I At this point we have Types A, B, C ::= A B input A B output 1 termination Processes P, Q ::= [x z] forwarding (P Q) parallel composition (νx)p name restriction x(y).p input (νy)x y.p bound output x().p (wait) x.0 (termination) 16 / 1
47 Offering external choice (A & B) P :: x : A & B P offers the choice between A and B along x Right rule: offering choice between A and B A B A & B &R Left rules: making a choice between A and B, A C, A & B C &L 1, B C, A & B C &L 2 17 / 1
48 Offering external choice (A & B) P :: x : A & B P offers the choice between A and B along x Right rule: offering choice between A and B A B A & B &R Left rules: making a choice between A and B, A C, A & B C &L 1, B C, A & B C &L 2 17 / 1
49 Offering external choice (A & B) P :: x : A & B P offers the choice between A and B along x Right rule: offering choice between A and B x : A x : B x : A & B &R Left rules: making a choice between A and B, A C, A & B C &L 1, B C, A & B C &L 2 17 / 1
50 Offering external choice (A & B) P :: x : A & B P offers the choice between A and B along x Right rule: offering choice between A and B P :: x : A Q :: x : B x.case(p, Q) :: x : A & B &R Left rules: making a choice between A and B, A C, A & B C &L 1, B C, A & B C &L 2 17 / 1
51 Offering external choice (A & B) P :: x : A & B P offers the choice between A and B along x Right rule: offering choice between A and B P :: x : A Q :: x : B x.case(p, Q) :: x : A & B &R Left rules: making a choice between A and B, A C, A & B C &L 1, B C, A & B C &L 2 17 / 1
52 Offering external choice (A & B) P :: x : A & B P offers the choice between A and B along x Right rule: offering choice between A and B P :: x : A Q :: x : B x.case(p, Q) :: x : A & B &R Left rules: making a choice between A and B, x:a z : C, x:a & B z : C &L 1, x:b z : C, x:a & B z : C &L 2 17 / 1
53 Offering external choice (A & B) P :: x : A & B P offers the choice between A and B along x Right rule: offering choice between A and B P :: x : A Q :: x : B x.case(p, Q) :: x : A & B &R Left rules: making a choice between A and B, x:a Q :: z : C, x:a & B x.inl; Q :: z : C &L 1, x:b Q :: z : C, x:a & B x.inr; Q :: z : C &L 2 17 / 1
54 Offering external choice (A & B) Need binary guarded choice construct New reductions (x.case(p, Q) x.inl; R) (P R) (x.case(p, Q) x.inr; R) (Q R) 18 / 1
55 Example: PDF compression Extend previous example Offer to index or compress the PDF server 1 (file (file 1)) & (file (file 1)) Different protocol: decision is made later server 2 file ((file & file) 1) In practice, should use labeled products & i {l i : A i } 19 / 1
56 Offering internal choice (A B) P :: x : A B P offers either A or B along x Offering either A or B: A A B R 1 B A B R 2 Accounting for either A or B:, A C, B C, A B C L No new reductions 20 / 1
57 Offering internal choice (A B) P :: x : A B P offers either A or B along x Offering either A or B: A A B R 1 B A B R 2 Accounting for either A or B:, A C, B C, A B C L No new reductions 20 / 1
58 Offering internal choice (A B) P :: x : A B P offers either A or B along x Offering either A or B: x : A x : A B R 1 x : B x : A B R 2 Accounting for either A or B:, A C, B C, A B C L No new reductions 20 / 1
59 Offering internal choice (A B) P :: x : A B P offers either A or B along x Offering either A or B: P :: x : A x.inl; P :: x : A B R 1 P :: x : B x.inr; P :: x : A B R 2 Accounting for either A or B:, A C, B C, A B C L No new reductions 20 / 1
60 Offering internal choice (A B) P :: x : A B P offers either A or B along x Offering either A or B: P :: x : A x.inl; P :: x : A B R 1 P :: x : B x.inr; P :: x : A B R 2 Accounting for either A or B:, A C, B C, A B C L No new reductions 20 / 1
61 Offering internal choice (A B) P :: x : A B P offers either A or B along x Offering either A or B: P :: x : A x.inl; P :: x : A B R 1 P :: x : B x.inr; P :: x : A B R 2 Accounting for either A or B:, x:a z : C, x:b z : C, x:a B z : C L No new reductions 20 / 1
62 Offering internal choice (A B) P :: x : A B P offers either A or B along x Offering either A or B: P :: x : A x.inl; P :: x : A B R 1 P :: x : B x.inr; P :: x : A B R 2 Accounting for either A or B:, x:a P :: z : C, x:b Q :: z : C, x:a B x.case(p, Q) :: z : C L No new reductions 20 / 1
63 Example: PDF indexing Offer to index PDF, or indicate failure index 2 (file ((file 1) 1)) In practice, should use labeled sums i {l i : A i } 21 / 1
64 Persistence To have persistent services, we generalize the judgment form (Hodas & Miller 1991; Andreoli 1992; Barber 1996) B 1,..., B k }{{} Γ persistently true ; A 1,..., A n }{{} linearly true C Label with shared channels u and linear channels x u 1 :B 1,..., u k :B k }{{} Γ shared ; x 1 :A 1,..., x n :A }{{} n P :: z : C linear 22 / 1
65 Structural rules cut! as composition with replicated input Γ ; A Γ, A ; C Γ ; C cut! A No linear channels in P except x To use u we have to send it a new channel y for x Γ, A ;, A C Γ, A ; C copy 23 / 1
66 Structural rules cut! as composition with replicated input Γ ; A Γ, A ; C Γ ; C cut! A No linear channels in P except x To use u we have to send it a new channel y for x Γ, A ;, A C Γ, A ; C copy 23 / 1
67 Structural rules cut! as composition with replicated input Γ ; x : A Γ, u:a ; z : C Γ ; z : C cut! A No linear channels in P except x To use u we have to send it a new channel y for x Γ, A ;, A C Γ, A ; C copy 23 / 1
68 Structural rules cut! as composition with replicated input Γ ; P :: x : A Γ, u:a ; Q :: z : C Γ ; (νu)(!u(x).p Q) :: z : C cut! A No linear channels in P except x To use u we have to send it a new channel y for x Γ, A ;, A C Γ, A ; C copy 23 / 1
69 Structural rules cut! as composition with replicated input Γ ; P :: x : A Γ, u:a ; Q :: z : C Γ ; (νu)(!u(x).p Q) :: z : C cut! A No linear channels in P except x To use u we have to send it a new channel y for x Γ, A ;, A C Γ, A ; C copy 23 / 1
70 Structural rules cut! as composition with replicated input Γ ; P :: x : A Γ, u:a ; Q :: z : C Γ ; (νu)(!u(x).p Q) :: z : C cut! A No linear channels in P except x To use u we have to send it a new channel y for x Γ, u:a ;, y:a z : C Γ, u:a ; z : C copy 23 / 1
71 Structural rules cut! as composition with replicated input Γ ; P :: x : A Γ, u:a ; Q :: z : C Γ ; (νu)(!u(x).p Q) :: z : C cut! A No linear channels in P except x To use u we have to send it a new channel y for x Γ, u:a ;, y:a P :: z : C Γ, u:a ; (νy)u y.p :: z : C copy y will be linear and behave according to A 23 / 1
72 Cut! reduction Replaying the proof reduction yields: (νu)(!u(x).p (νy)u y.q) (νy)(p{y/x} (νu)(!u(x).p Q)) Instance of standard rule (!u(x).p u y.q) (P{y/x} Q!u(x).P) 24 / 1
73 Offering persistent service (!A) Internalize persistence as a proposition P :: x :!A P persistently offers A along x Creating a persistent service Sharing a persistent service Γ ; A Γ ;!A!R Γ, A ; C Γ ;,!A C!L 25 / 1
74 Offering persistent service (!A) Internalize persistence as a proposition P :: x :!A P persistently offers A along x Creating a persistent service Sharing a persistent service Γ ; A Γ ;!A!R Γ, A ; C Γ ;,!A C!L 25 / 1
75 Offering persistent service (!A) Internalize persistence as a proposition P :: x :!A P persistently offers A along x Creating a persistent service Sharing a persistent service Γ ; y : A Γ ; x :!A!R Γ, A ; C Γ ;,!A C!L 25 / 1
76 Offering persistent service (!A) Internalize persistence as a proposition P :: x :!A P persistently offers A along x Creating a persistent service Sharing a persistent service Γ ; P :: y : A Γ ;!x(y).p :: x :!A!R Γ, A ; C Γ ;,!A C!L 25 / 1
77 Offering persistent service (!A) Internalize persistence as a proposition P :: x :!A P persistently offers A along x Creating a persistent service Sharing a persistent service Γ ; P :: y : A Γ ;!x(y).p :: x :!A!R Γ, A ; C Γ ;,!A C!L 25 / 1
78 Offering persistent service (!A) Internalize persistence as a proposition P :: x :!A P persistently offers A along x Creating a persistent service Sharing a persistent service Γ ; P :: y : A Γ ;!x(y).p :: x :!A!R Γ, u:a ; z : C Γ ;, x:!a z : C!L 25 / 1
79 Offering persistent service (!A) Internalize persistence as a proposition P :: x :!A P persistently offers A along x Creating a persistent service Sharing a persistent service Γ ; P :: y : A Γ ;!x(y).p :: x :!A!R Γ, u:a ; Q :: z : C Γ ;, x:!a x/u.q :: z : C!L 25 / 1
80 Promotion!L promotes linear channels to shared ones No significant operational consequences (νx)(!x(y).p x/u.q) (νu)(!u(y).p Q) 26 / 1
81 Example: persistent storage Persistent PDF indexing service index 3 :!(file file 1) Persistently offer to input a file, then output a file and terminate session. Store a file persistently store 1 :!(file!(file 1)) Persistently offer to input a file, then output a persistent handle for retrieving this file. 27 / 1
82 Taking stock II At this point we have in addition Types A, B, C ::=... A & B external choice A B internal choice!a replication Processes P, Q ::=... x.inl; P x.inr; P selection x.case(p, Q) branching!u(x).p replicating input x/u.p (promotion) 28 / 1
83 Outline 1 Session types for π-calculus 2 Dependent session types 3 Proof irrelevance 4 Some results 5 Conclusion 29 / 1
84 Passing terms Types τ from a (dependent) type theory Hypothetical judgment x 1 :τ 1,..., x k :τ }{{} k M : τ Ψ Some example type constructors Πx:τ.σ, τ σ Σx:τ.σ, τ σ nat Functions from τ to σ Pairs of a τ and a σ Natural numbers Integrate into sequent calculus Ψ }{{} ; Γ }{{} ; }{{} term variables shared channels linear channels P :: x : A }{{} linear 30 / 1
85 Offering term input ( y:τ.a) P :: x : y:τ.a P inputs an M : τ along x and then behaves as A{M/x} Right rule: offer of service Ψ, y:τ ; Γ ; A Ψ ; Γ ; y:τ.a R Left rule: matching use of service Ψ M : τ Ψ ; Γ ;, A{M/y} C Ψ ; Γ ;, y:τ.a C L Proof reduction 31 / 1
86 Offering term input ( y:τ.a) P :: x : y:τ.a P inputs an M : τ along x and then behaves as A{M/x} Right rule: offer of service Ψ, y:τ ; Γ ; x : A Ψ ; Γ ; x : y:τ.a R Left rule: matching use of service Ψ M : τ Ψ ; Γ ;, A{M/y} C Ψ ; Γ ;, y:τ.a C L Proof reduction 31 / 1
87 Offering term input ( y:τ.a) P :: x : y:τ.a P inputs an M : τ along x and then behaves as A{M/x} Right rule: offer of service Ψ, y:τ ; Γ ; P :: x : A Ψ ; Γ ; x(y).p :: x : y:τ.a R Left rule: matching use of service Ψ M : τ Ψ ; Γ ;, A{M/y} C Ψ ; Γ ;, y:τ.a C L Proof reduction 31 / 1
88 Offering term input ( y:τ.a) P :: x : y:τ.a P inputs an M : τ along x and then behaves as A{M/x} Right rule: offer of service Ψ, y:τ ; Γ ; P :: x : A Ψ ; Γ ; x(y).p :: x : y:τ.a R Left rule: matching use of service Ψ M : τ Ψ ; Γ ;, x:a{m/y} z : C Ψ ; Γ ;, x: y:τ.a z : C L Proof reduction 31 / 1
89 Offering term input ( y:τ.a) P :: x : y:τ.a P inputs an M : τ along x and then behaves as A{M/x} Right rule: offer of service Ψ, y:τ ; Γ ; P :: x : A Ψ ; Γ ; x(y).p :: x : y:τ.a R Left rule: matching use of service Ψ M : τ Ψ ; Γ ;, x:a{m/y} Q :: z : C Ψ ; Γ ;, x: y:τ.a x M.Q :: z : C L Proof reduction 31 / 1
90 Offering term input ( y:τ.a) P :: x : y:τ.a P inputs an M : τ along x and then behaves as A{M/x} Right rule: offer of service Ψ, y:τ ; Γ ; P :: x : A Ψ ; Γ ; x(y).p :: x : y:τ.a R Left rule: matching use of service Ψ M : τ Ψ ; Γ ;, x:a{m/y} Q :: z : C Ψ ; Γ ;, x: y:τ.a x M.Q :: z : C L Proof reduction (νx)(x(y).p x M.Q) (νx)(p{m/y} Q) 31 / 1
91 Term passing: other connectives Quantified proposition as dependent session types x : y:τ.a x : $τ A x : y:τ.a x : $τ A Input an M : A along x and behave as A{M/y} Input an M : A along x and behave as A Output an M : A along x and behave as A{M/y} Output an M : A along x and behave as A $τ A as shorthand for y:τ.a if y not free in A $τ A as shorthand for y:τ.a if y not free in A We will omit the $ for readability 32 / 1
92 Examples, carrying proofs PDF indexing service index 3 :!(file file 1) index 4 :!( f :file. pdf(f ) g:file. pdf(g) 1) Persistently offer to input a file f, a proof that f is in PDF format, then output a PDF file g, and a proof that g is in PDF format and terminate the session. Persistent file storage store 1 :!(file!(file 1)) store 2 :!( f :file.! g:file. g. = f 1) Persistently offer to input a file, then output a persistent channel for retrieving this file and a proof that the two are equal. 33 / 1
93 Outline 1 Session types for π-calculus 2 Dependent session types 3 Proof irrelevance 4 Some results 5 Conclusion 34 / 1
94 Proof irrelevance In many examples, we want to know that proofs exist, but we do not want to transmit them We can easily check pdf(g) when using the indexing service The proof of g. = f (by reflexivity) would not be informative Use proof irrelevance in type theory M : [τ] M is a term of type τ that is computationally irrelevant 35 / 1
95 Proof irrelevance: rules Introduction and elimination Ψ M : τ Ψ [M] : [τ] []I Ψ M : [τ] Ψ, x τ N : σ Ψ let [x] = M in N : σ Ψ promotes hypotheses x τ to x:τ In examples, may use pattern matching instead of let By agreement, terms [M] will be erased before transmission Typing guarantees this can be done consistently []E 36 / 1
96 Examples with proof irrelevance Mark proofs as computationally irrelevant PDF indexing service index 4 :!( f :file. pdf(f ) g:file. pdf(g) 1) index 5 :!( f :file. [pdf(f )] g:file. [pdf(g)] 1) Persistent file storage store 2 :!( f :file.! g:file. g =. f 1) store 3 :!( f :file.! g:file. [g =. f ] 1) After erasure, communication can be optimized further 37 / 1
97 Example: mobile code For sensitive documents we want to run indexing locally Specification index 5 :!((Πf :file. [pdf(f )] Σg:file. [pdf(g)]) 1) Service persistently offers a function for indexing Cannot leak information since only process layer can communicate 38 / 1
98 Outline 1 Session types for π-calculus 2 Dependent session types 3 Proof irrelevance 4 Some results 5 Conclusion 39 / 1
99 Some results Recall: typing is modulo (shallow) structural congruence Theorem: type preservation = session fidelity Theorem: progress = deadlock freedom Theorem: termination Via linear logical relations (Pérez et al., ESOP 2012) Some commuting conversions = behavioral equivalences Theorem: proof reduction = process reduction Permuting cut and cut! = structural equivalences Identity elimination = structural reduction (forwarding) Propositional reduction = communication Some commuting conversion needed if promotion is suppressed and termination is asynchronous 40 / 1
100 Further extensions and results Family of monads K τ = digital signatures Continuum of trust: from proofs to digital signatures (CPP 2011) Functions as session-typed processes (FoSSaCS 2012) Translate from natural deduction to sequent calculus Via linear natural deduction [T S] =![T ] [S]: copying evaluation (by name) (T S) =!(T S ): sharing evaluation (futures) By-value and by-need are particular schedules for sharing 41 / 1
101 Ongoing work Polymorphism Immediate in the functional layer Parametricity in the process layer (Pérez et al., ESOP 2012) Asynchronous session types (w. Henry DeYoung) Also via Curry-Howard isomorphism! Unlocking parallelism with commuting conversions Each channel implementable as a bidirectional queue Classical linear logic Superficially more economical Does not enforce locality of shared channels All standard session examples (and more) already expressible in intuitionistic system Less likely to lead to full type theory 42 / 1
102 Concurrent dependent type theory? At present, we have a two-layer system Communication layer (both linear and shared channels) Value layer (dependent type theory) Can we have a concurrent dependently-typed language? Problem of linear dependency Equational reasoning about processes Integrating natural deduction and sequent calculus Dependently typed functional translation? Monadic encapsulation, à la CLF? 43 / 1
103 Some related work Computational interpretations of linear logic (Abramsky 1993) Relating π-calculus and linear logic (Bellin & Scott 1994) Session types (Honda 1993) (Honda et al. 1998)... Lolliproc (Mazurak & Zdancewic 2010) Natural deduction for classical linear logic Purely linear (unrestricted version conjectured) Tighter integration of functions with processes Requires control operators and additional coercions Dependent version unlikely? 44 / 1
104 Summary A Curry-Howard isomorphism Linear propositions as session types A B (input), A B (output), 1 (termination) A & B (external choice), A B (internal choice),!a (replication) Sequent proofs as π-calculus processes with a binary guarded choice and channel forwarding Cut reduction as π-calculus reduction Term-passing extension with a type theory x:τ.a (term input), x:τ.a (term output) Additional type theory constructs [τ] for proof irrelevance (not transmitted) K τ for affirmations (evidenced by digital signatures) 45 / 1
Proof-Carrying Code in a Session-Typed Process Calculus
Proof-Carrying Code in a Session-Typed Process Calculus Frank Pfenning with Luís Caires and Bernardo Toninho Department of Computer Science Carnegie Mellon University 1st International Conference on Certified
More informationAdjoint Logic and Its Concurrent Semantics
Adjoint Logic and Its Concurrent Semantics Frank Pfenning ABCD Meeting, Edinburgh, December 18-19, 2017 Joint work with Klaas Pruiksma and William Chargin Outline Proofs as programs Linear sequent proofs
More informationCut Reduction in Linear Logic as Asynchronous Session-Typed Communication
Cut Reduction in Linear Logic as Asynchronous Session-Typed Communication Henry DeYoung 1, Luís Caires 2, Frank Pfenning 1, and Bernardo Toninho 1,2 1 Computer Science Department, Carnegie Mellon University
More informationDecomposing Modalities
Decomposing Modalities Frank Pfenning Department of Computer Science Carnegie Mellon University Logical Frameworks and Meta-Languages: Theory and Practice (LFMTP 15) Berlin, Germany August 1, 2015 1 /
More informationLinear Logic Propositions as Session Types
Under consideration for publication in Math. Struct. in Comp. Science Linear Logic Propositions as Session Types Luis Caires 1, Frank Pfenning 2 and Bernardo Toninho 1,2 1 Faculdade de Ciências e Tecnologia
More informationIntensionality, Extensionality, and Proof Irrelevance in Modal Type Theory
Intensionality, Extensionality, and Proof Irrelevance in Modal Type Theory Frank Pfenning LICS 01 Boston, Massachusetts June 17, 2001 Acknowledgments: Alberto Momigliano,... 1 Outline 1. Introduction 2.
More informationSession Types as Intuitionistic Linear Propositions
Session Types as Intuitionistic Linear Propositions Luís Caires 1 and Frank Pfenning 2 1 CITI and Departamento de Informática, FCT, Universidade Nova de Lisboa 2 Department of Computer Science, Carnegie
More informationBehavioral Polymorphism and Parametricity in Session-Based Communication
Behavioral Polymorphism and Parametricity in Session-Based Communication Luís Caires 1, Jorge A. Pérez 1, Frank Pfenning 2, and Bernardo Toninho 1,2 1 CITI and Departamento de Informática, FCT, Universidade
More informationSession Types as Intuitionistic Linear Propositions
Session Types as Intuitionistic Linear Propositions Luis Caires Frank Pfenning Bernardo Toninho December 21, 2011 CMU-CS-11-138 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213
More informationSubtyping and Intersection Types Revisited
Subtyping and Intersection Types Revisited Frank Pfenning Carnegie Mellon University International Conference on Functional Programming (ICFP 07) Freiburg, Germany, October 1-3, 2007 Joint work with Rowan
More informationLecture Notes on Of Course!
Lecture Notes on Of Course! 15-816: Substructural Logics Frank Pfenning Lecture 15 October 20, 2016 In this lecture we combine structural and substructural intuitionistic logics into a single system, using
More informationTowards Modal Type Theory
Towards Modal Type Theory Frank Pfenning Constructivism in Non-Classical Logics and Computer Science In Memoriam Pierangelo Miglioli Mantova, Italy October 2, 2000 Disclaimer: Work in Progress! Acknowledgments:
More informationLecture Notes on A Concurrent Logical Framework
Lecture Notes on A Concurrent Logical Framework 15-816: Linear Logic Frank Pfenning Lecture 21 April 9, 2012 Today we will put many of pieces together that we have put in place so far, by moving from a
More informationRelational Parametricity for Polymorphic Session Types (Extended Version)
Relational Parametricity for Polymorphic Session Types (Extended Version) Luís Caires 1, Jorge A. Pérez 1, Frank Pfenning 2, and Bernardo Toninho 1,2 1 CITI and Departamento de Informática, FCT, Universidade
More informationLecture Notes on Classical Linear Logic
Lecture Notes on Classical Linear Logic 15-816: Linear Logic Frank Pfenning Lecture 25 April 23, 2012 Originally, linear logic was conceived by Girard [Gir87] as a classical system, with one-sided sequents,
More informationLecture Notes on Ordered Proofs as Concurrent Programs
Lecture Notes on Ordered Proofs as Concurrent Programs 15-317: Constructive Logic Frank Pfenning Lecture 24 November 30, 2017 1 Introduction In this lecture we begin with a summary of the correspondence
More informationLecture Notes on Linear Logic
Lecture Notes on Linear Logic 15-816: Modal Logic Frank Pfenning Lecture 23 April 20, 2010 1 Introduction In this lecture we will introduce linear logic [?] in its judgmental formulation [?,?]. Linear
More informationA Concurrent Logical Framework
A Concurrent Logical Framework Frank Pfenning Carnegie Mellon University Types Workshop Torino, Italy, April 2003 Joint work with Iliano Cervesato, David Walker, and Kevin Watkins Types 03, Torino, April
More informationPropositions as Sessions
Propositions as Sessions Philip Wadler University of Edinburgh wadler@inf.ed.ac.uk Abstract Continuing a line of work by Abramsky (1994), by Bellin and Scott (1994), and by Caires and Pfenning (2010),
More informationThe Curry-Howard Isomorphism
The Curry-Howard Isomorphism Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) The Curry-Howard Isomorphism MFES 2008/09
More informationAn Isomorphism Between Substructural Proofs and Deterministic Finite Automata
An Isomorphism Between Substructural Proofs and Deterministic Finite Automata Henry DeYoung and Frank Pfenning Computer Science Department, Carnegie Mellon University, Pittsburgh, PA USA {hdeyoung,fp}@cs.cmu.edu
More informationType Systems as a Foundation for Reliable Computing
Type Systems as a Foundation for Reliable Computing Robert Harper Carnegie Mellon University Summer School on Reliable Computing University of Oregon July, 2005 References These lectures are based on the
More informationA Judgmental Deconstruction of Modal Logic
A Judgmental Deconstruction of Modal Logic Jason Reed January 30, 2009 Abstract The modalities and of necessary and lax truth described by Pfenning and Davies can be seen to arise from the same pair of
More informationLecture Notes on Certifying Theorem Provers
Lecture Notes on Certifying Theorem Provers 15-317: Constructive Logic Frank Pfenning Lecture 13 October 17, 2017 1 Introduction How do we trust a theorem prover or decision procedure for a logic? Ideally,
More informationLinear Logical Relations and Observational Equivalences for Session-Based Concurrency
Linear Logical Relations and Observational Equivalences for Session-Based Concurrency Jorge A. Pérez a, Luís Caires a, Frank Pfenning b, Bernardo Toninho a,b a CITI and Departamento de Informática, FCT
More informationLecture Notes on Focusing
Lecture Notes on Focusing Oregon Summer School 2010 Proof Theory Foundations Frank Pfenning Lecture 4 June 17, 2010 1 Introduction When we recast verifications as sequent proofs, we picked up a lot of
More informationSequent Calculus. 3.1 Cut-Free Sequent Calculus
Chapter 3 Sequent Calculus In the previous chapter we developed linear logic in the form of natural deduction, which is appropriate for many applications of linear logic. It is also highly economical,
More informationMeta-Reasoning in a Concurrent Logical Framework
Meta-Reasoning in a Concurrent Logical Framework Iliano Cervesato and Jorge Luis Sacchini Carnegie Mellon University Chalmers University, 16 Oct 2013 Iliano Cervesato and Jorge Luis Sacchini Meta-Reasoning
More informationCoherence Generalises Duality
Coherence Generalises Duality Marco Carbone, Sam Lindley, Fabrizio Montesi, Carsten Schürmann, Philip Wadler University of Lisbon Tuesday 23 January 2018 1 CONCUR, 2015 2 CONCUR, 2016 3 FORTE, 2016 4 ABCD,
More informationMeta-reasoning in the concurrent logical framework CLF
Meta-reasoning in the concurrent logical framework CLF Jorge Luis Sacchini (joint work with Iliano Cervesato) Carnegie Mellon University Qatar campus Nagoya University, 27 June 2014 Jorge Luis Sacchini
More informationOn a computational interpretation of sequent calculus for modal logic S4
On a computational interpretation of sequent calculus for modal logic S4 Yosuke Fukuda Graduate School of Informatics, Kyoto University Second Workshop on Mathematical Logic and Its Applications March
More informationHarvard School of Engineering and Applied Sciences CS 152: Programming Languages
Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 17 Tuesday, April 2, 2013 1 There is a strong connection between types in programming languages and propositions
More informationA Proof Theory for Generic Judgments
A Proof Theory for Generic Judgments Dale Miller INRIA/Futurs/Saclay and École Polytechnique Alwen Tiu École Polytechnique and Penn State University LICS 2003, Ottawa, Canada, 23 June 2003 Outline 1. Motivations
More informationManifest Sharing with Session Types
Manifest haring with ession Types tephanie Balzer and Frank Pfenning June 2017 CMU-C-17-106R (updated version of CMU-C-17-106, March 2017) Computer cience Department chool of Computer cience Carnegie Mellon
More informationFocusing on Binding and Computation
Focusing on Binding and Computation Dan Licata Joint work with Noam Zeilberger and Robert Harper Carnegie Mellon University 1 Programming with Proofs Represent syntax, judgements, and proofs Reason about
More informationA Semantics for Propositions as Sessions
A Semantics for Propositions as Sessions Sam Lindley and J. Garrett Morris The University of Edinburgh {Sam.Lindley,Garrett.Morris}@ed.ac.uk Abstract. Session types provide a static guarantee that concurrent
More informationLecture Notes on Cut Elimination
Lecture Notes on Cut limination 15-816: Linear Logic Frank Pfenning Lecture 7 February 8, 2012 After presenting an interpretation of linear propositions in the sequent calculus as session types, we now
More informationObserved Communication Semantics for Classical Processes
Observed Communication Semantics for Classical Processes Robert Atkey MSP Group, University of Strathclyde robert.atkey@strath.ac.uk Abstract. Classical Linear Logic (CLL) has long inspired readings of
More informationFinal Exam Substructural Logics Frank Pfenning. December 12, 2016
Final Exam 15-816 Substructural Logics Frank Pfenning December 12, 2016 Name: Andrew ID: Instructions This exam is closed-book, closed-notes. You have 3 hours to complete the exam. There are 6 problems.
More informationFunctions as Session-Typed Processes
Functions as Session-Typed Processes Bernardo Toninho 1,2, Luis Caires 2, and Frank Pfenning 1 1 Computer Science Department Carnegie Mellon University Pittsburgh, PA, USA 2 CITI and Faculdade de Ciências
More informationLecture Notes on Combinatory Modal Logic
Lecture Notes on Combinatory Modal Logic 15-816: Modal Logic Frank Pfenning Lecture 9 February 16, 2010 1 Introduction The connection between proofs and program so far has been through a proof term assignment
More informationModal Logic as a Basis for Distributed Computation
Modal Logic as a Basis for Distributed Computation Jonathan Moody 1 jwmoody@cs.cmu.edu October 2003 CMU-CS-03-194 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 1 This material
More informationBidirectional Decision Procedures for the Intuitionistic Propositional Modal Logic IS4
Bidirectional ecision Procedures for the Intuitionistic Propositional Modal Logic IS4 Samuli Heilala and Brigitte Pientka School of Computer Science, McGill University, Montreal, Canada {sheila1,bpientka}@cs.mcgill.ca
More informationOn a Logical Foundation for Explicit Substitutions
On a Logical Foundation for Explicit Substitutions Frank Pfenning Carnegie Mellon University Joint Invited Talk Typed Lambda Calculi and Applications (TLCA 07) Rewriting Techniques and Applications (RTA
More informationLecture Notes on The Curry-Howard Isomorphism
Lecture Notes on The Curry-Howard Isomorphism 15-312: Foundations of Programming Languages Frank Pfenning Lecture 27 ecember 4, 2003 In this lecture we explore an interesting connection between logic and
More informationA Logical Characterization of Forward and Backward Chaining in the Inverse Method
A Logical Characterization of Forward and Backward Chaining in the Inverse Method Kaustuv Chaudhuri 1, Frank Pfenning 2, and Greg Price 2 1 Laboratoire d Informatique École Polytechnique kaustuv@lix.polytechnique.fr
More informationType safety for substructural specifications: preliminary results
Type safety for substructural specifications: preliminary results Robert J. Simmons July 15, 2010 CMU-CS-10-134 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Abstract Substructural
More informationSyddansk Universitet. Classical higher-order processes. Montesi, Fabrizio
Syddansk Universitet Classical higher-order processes Montesi, Fabrizio Published in: Formal Techniques for Distributed Objects, Components, and Systems DOI: 10.1007/978-3-319-60225-7_12 Publication date:
More informationLecture Notes on Identity and Inversion
Lecture Notes on Identity and Inversion 15-816: Linear Logic Frank Pfenning Lecture 8 February 13, 2012 In the last lecture we saw cut elimination as the global version of cut reduction. In this lecture
More informationBidirectional Decision Procedures for the Intuitionistic Propositional Modal Logic IS4
Bidirectional Decision Procedures for the Intuitionistic Propositional Modal Logic IS4 Samuli Heilala and Brigitte Pientka School of Computer Science, McGill University, Montreal, Canada {sheila1,bpientka}@cs.mcgill.ca
More informationAn overview of Structural Proof Theory and Computing
An overview of Structural Proof Theory and Computing Dale Miller INRIA-Saclay & LIX, École Polytechnique Palaiseau, France Madison, Wisconsin, 2 April 2012 Part of the Special Session in Structural Proof
More informationLecture Notes on Sequent Calculus
Lecture Notes on Sequent Calculus 15-816: Modal Logic Frank Pfenning Lecture 8 February 9, 2010 1 Introduction In this lecture we present the sequent calculus and its theory. The sequent calculus was originally
More informationLecture Notes on Quantification
Lecture Notes on Quantification 15-317: Constructive Logic Frank Pfenning Lecture 5 September 8, 2009 1 Introduction In this lecture, we introduce universal and existential quantification As usual, we
More informationA Judgmental Analysis of Linear Logic
A Judgmental Analysis of Linear Logic Bor-Yuh Evan Chang Kaustuv Chaudhuri Frank Pfenning April 14, 2003 CMU-CS-03-131 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Abstract
More informationNotes on Logical Frameworks
Notes on Logical Frameworks Robert Harper IAS November 29, 2012 1 Introduction This is a brief summary of a lecture on logical frameworks given at the IAS on November 26, 2012. See the references for technical
More informationA concurrent logical framework I: Judgments and properties
A concurrent logical framework I: Judgments and properties Kevin Watkins Iliano Cervesato Frank Pfenning David Walker March 2002, revised May 2003 CMU-CS-02-101 School of Computer Science Carnegie Mellon
More informationAN ALTERNATIVE NATURAL DEDUCTION FOR THE INTUITIONISTIC PROPOSITIONAL LOGIC
Bulletin of the Section of Logic Volume 45/1 (2016), pp 33 51 http://dxdoiorg/1018778/0138-068045103 Mirjana Ilić 1 AN ALTERNATIVE NATURAL DEDUCTION FOR THE INTUITIONISTIC PROPOSITIONAL LOGIC Abstract
More informationIntersection Synchronous Logic
UnB 2007 p. 1/2 Intersection Synchronous Logic Elaine Gouvêa Pimentel Simona Ronchi della Rocca Luca Roversi UFMG/UNITO, 2007 UnB 2007 p. 2/2 Outline Motivation UnB 2007 p. 2/2 Outline Motivation Intuitionistic
More informationA Concurrent Logical Framework: the Propositional Fragment
A Concurrent Logical Framework: the Propositional Fragment Kevin Watkins 1, Iliano Cervesato 2, Frank Pfenning 1, and David Walker 3 1 kw,fp@cs.cmu.edu, Department of Computer Science, Carnegie Mellon
More informationEvaluation Driven Proof-Search in Natural Deduction Calculi for Intuitionistic Propositional Logic
Evaluation Driven Proof-Search in Natural Deduction Calculi for Intuitionistic Propositional Logic Mauro Ferrari 1, Camillo Fiorentini 2 1 DiSTA, Univ. degli Studi dell Insubria, Varese, Italy 2 DI, Univ.
More informationThe Join calculus A calculus of mobile agents
The Join calculus p. 1/32 The Join calculus A calculus of mobile agents Martin Mosegaard Jensen Mobile Computing seminar 2004, DAIMI The Join calculus p. 2/32 Plan Motivation The reflexive CHAM Distribution:
More informationLecture Notes on Call-by-Value and Call-by-Name
Lecture Notes on Call-by-Value and Call-by-Name 15-816: Substructural Logics Frank Pfenning Lecture 22 November 16, 2017 In this lecture we consider two different polarization strategies for structural
More informationProof Nets in Process Algebraic Form
Proof Nets in Process Algebraic Form Dimitris Mostrous Department of Informatics, University of Lisbon, Portugal dimitris@di.fc.ul.pt Abstract. We present δ-calculus, a computational interpretation of
More informationRelating Reasoning Methodologies in Linear Logic and Process Algebra
Relating Reasoning Methodologies in Linear Logic and Process Algebra Yuxin Deng Robert J. Simmons Iliano Cervesato December 2011 CMU-CS-11-145 CMU-CS-QTR-111 School of Computer Science Carnegie Mellon
More informationNatural deduction for propositional logic via truth tables
Natural deduction for propositional logic via truth tables Herman Geuvers Nijmegen, NL (Joint work with Tonny Hurkens) Bengt Nordström honorary workshop Marstrand, Sweden April 2016 H. Geuvers - April
More informationMode checking in the Concurrent Logical Framework
Mode checking in the Concurrent Logical Framework Jorge Luis Sacchini Iliano Cervesato Frank Pfenning Carsten Schürmann August 2014 CMU-CS-14-134 CMU-CS-QTR-123 School of Computer Science Carnegie Mellon
More informationLecture Notes on Intuitionistic Kripke Semantics
Lecture Notes on Intuitionistic Kripke Semantics 15-816: Modal Logic Frank Pfenning Lecture 15 March 18, 2010 1 Introduction In this lecture we present an intuitionistic approach to describing a multipleworld
More informationA Concurrent Logical Framework:
A Concurrent Logical Framework: The Propositional Fragment Kevin Watkins 1, Iliano Cervesato 2, Frank Pfenning 1, and David Walker 3 1 kw,fp@cs.cmu.edu, Department of Computer Science, Carnegie Mellon
More informationAsterix calculus - classical computation in detail
Asterix calculus - classical computation in detail (denoted X ) Dragiša Žunić 1 Pierre Lescanne 2 1 CMU Qatar 2 ENS Lyon Logic and Applications - LAP 2016 5th conference, September 19-23, Dubrovnik Croatia
More informationReasoning about the Consequences of Authorization Policies in a Linear Epistemic Logic
Reasoning about the Consequences of Authorization Policies in a Linear Epistemic Logic Henry DeYoung July 2009 CMU-CS-09-140 Frank Pfenning School of Computer Science Carnegie Mellon University Pittsburgh,
More informationUnicity of type inhabitants; a Work in Progress
Unicity of type inhabitants; a Work in Progress Gabriel Scherer Gallium (INRIA Paris-Rocquencourt) May 30, 2013 Gabriel Scherer (Gallium) Unique Inhabitants; WIP May 30, 2013 1 / 27 What? This talk is
More informationLecture Notes on Kripke Semantics for Validity
Lecture Notes on Kripke Semantics for Validity 15-816: Modal Logic Frank Pfenning Lecture 16 March 23, 2010 1 Introduction In this lecture we continue the analysis of distributed computation through modal
More informationProof Search Foundations for Logic Programming
July 2003 1/51 Outline Proof Search Foundations for Logic Programming Dale Miller INRIA Futurs and École Polytechnique 1. Roles of logic in specifying computation 2. Focus on proof search (logic programming)
More informationSpecifying Properties of Concurrent Computations in CLF
LFM 2004 Preliminary Version Specifying Properties of Concurrent Computations in CLF Kevin Watkins a,1 Iliano Cervesato b,2 Frank Pfenning a,3 David Walker c,4 a Department of Computer Science, Carnegie
More informationPropositions and Proofs
Chapter 2 Propositions and Proofs The goal of this chapter is to develop the two principal notions of logic, namely propositions and proofs There is no universal agreement about the proper foundations
More informationSpecifying Properties of Concurrent Computations in CLF
LFM 2004 Preliminary Version Specifying Properties of Concurrent Computations in CLF Kevin Watkins a,1 Iliano Cervesato b,2 Frank Pfenning a,3 David Walker c,4 a Department of Computer Science, Carnegie
More informationFixed-point elimination in Heyting algebras 1
1/32 Fixed-point elimination in Heyting algebras 1 Silvio Ghilardi, Università di Milano Maria João Gouveia, Universidade de Lisboa Luigi Santocanale, Aix-Marseille Université TACL@Praha, June 2017 1 See
More informationA JUDGMENTAL ANALYSIS OF LINEAR LOGIC
A JUDGMENTAL ANALYSIS OF LINEAR LOGIC BOR-YUH EVAN CHANG, KAUSTUV CHAUDHURI, AND FRANK PFENNING Abstract. We reexamine the foundations of linear logic, developing a system of natural deduction following
More informationMixing Finite Success and Finite Failure. Automated Prover
in an Automated Prover Alwen Tiu 1, Gopalan Nadathur 2 and Dale Miller 3 1 INRIA Lorraine, France 2 University of Minnesota, USA 3 INRIA Futurs/École polytechnique, France ESHOL 2005 Montego Bay, Jamaica
More informationLogic Programming in a Fragment of Intuitionistic Linear Logic
Logic Programming in a Fragment of Intuitionistic Linear Logic Joshua S. Hodas Computer Science Department Harvey Mudd College Claremont, CA 91711-5990 USA hodas@cs.hmc.edu Dale Miller Computer Science
More informationA linear account of session types in the pi calculus
A linear account of session types in the pi calculus Marco Giunti 1 and Vasco T. Vasconcelos 2 1 Iuav University, Venice 2 LaSIGE, Faculty of Sciences, University of Lisbon Abstract. We present a reconstruction
More informationLecture Notes on Heyting Arithmetic
Lecture Notes on Heyting Arithmetic 15-317: Constructive Logic Frank Pfenning Lecture 8 September 21, 2017 1 Introduction In this lecture we discuss the data type of natural numbers. They serve as a prototype
More informationThe Calculus of Inductive Constructions
The Calculus of Inductive Constructions Hugo Herbelin 10th Oregon Programming Languages Summer School Eugene, Oregon, June 16-July 1, 2011 1 Outline - A bit of history, leading to the Calculus of Inductive
More informationPrincipal-Centric Reasoning in Constructive Authorization Logic
Principal-Centric Reasoning in Constructive Authorization Logic Deepak Garg Revised February 09, 2009 CMU-CS-09-120 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 e-mail: dg@cs.cmu.edu
More informationModels of Concurrency
Models of Concurrency GERARDO SCHNEIDER UPPSALA UNIVERSITY DEPARTMENT OF INFORMATION TECHNOLOGY UPPSALA, SWEDEN Thanks to Frank Valencia Models of Concurrency p.1/57 Concurrency is Everywhere Concurrent
More informationAN OVERVIEW OF LINEAR LOGIC PROGRAMMING
AN OVERVIEW OF LINEAR LOGIC PROGRAMMING DALE MILLER Abstract. Logic programming can be given a foundation in sequent calculus, viewing computation as the process of building a cut-free sequent proof from
More informationA judgmental analysis of linear logic
A judgmental analysis of linear logic Bor-Yuh Evan Chang Kaustuv Chaudhuri Frank Pfenning 14 April 2003 Revised December 29, 2003 CMU-CS-03-131R School of Computer Science Carnegie Mellon University Pittsburgh,
More informationarxiv: v1 [cs.lo] 1 Oct 2018
COMPARING TYPE SYSTEMS FOR DEADLOCK-FREEDOM ORNELA DARDHA AND JORGE A. PÉREZ arxiv:1810.00635v1 [cs.lo] 1 Oct 2018 School of Computing Science, University of Glasgow, UK e-mail address: ornela.dardha@glasgow.ac.uk
More informationOutline F eria AADL behavior 1/ 78
Outline AADL behavior Annex Jean-Paul Bodeveix 2 Pierre Dissaux 3 Mamoun Filali 2 Pierre Gaufillet 1 François Vernadat 2 1 AIRBUS-FRANCE 2 FéRIA 3 ELLIDIS SAE AS2C Detroit Michigan April 2006 FéRIA AADL
More informationMathematical Logic and Linguistics
Mathematical Logic and Linguistics Glyn Morrill & Oriol Valentín Department of Computer Science Universitat Politècnica de Catalunya morrill@cs.upc.edu & oriol.valentin@gmail.com BGSMath Course Class 9
More informationRelating State-Based and Process-Based Concurrency through Linear Logic
École Polytechnique 17 September 2009 Relating State-Based and Process-Based oncurrency through Linear Logic Iliano ervesato arnegie Mellon University - Qatar iliano@cmu.edu Specifying oncurrent Systems
More informationLecture Notes on Data Abstraction
Lecture Notes on Data Abstraction 15-814: Types and Programming Languages Frank Pfenning Lecture 14 October 23, 2018 1 Introduction Since we have moved from the pure λ-calculus to functional programming
More informationReview of The π-calculus: A Theory of Mobile Processes
Review of The π-calculus: A Theory of Mobile Processes Riccardo Pucella Department of Computer Science Cornell University July 8, 2001 Introduction With the rise of computer networks in the past decades,
More informationA Symmetric Modal Lambda Calculus for Distributed Computing
Carnegie Mellon University Research Showcase Computer Science Department School of Computer Science 3-1-2004 A Symmetric Modal Lambda Calculus for Distributed Computing Tom Murphy Carnegie Mellon University
More informationA Judgmental Reconstruction of Modal Logic
Under consideration for publication in Math. Struct. in Comp. Science A Judgmental Reconstruction of Modal Logic FRANK PFENNING and ROWAN AVIES epartment of Computer Science Carnegie Mellon University
More informationMidterm Exam Types and Programming Languages Frank Pfenning. October 18, 2018
Midterm Exam 15-814 Types and Programming Languages Frank Pfenning October 18, 2018 Name: Andrew ID: Instructions This exam is closed-book, closed-notes. You have 80 minutes to complete the exam. There
More informationLecture Notes on The Concurrent Logical Framework
Lecture Notes on The Concurrent Logical Framework 15-816: Substructural Logics Frank Pfenning Lecture 23 November 17, 2016 A logical framework is a metalanguage for the representation and analysis of deductive
More informationInducing syntactic cut-elimination for indexed nested sequents
Inducing syntactic cut-elimination for indexed nested sequents Revantha Ramanayake Technische Universität Wien (Austria) IJCAR 2016 June 28, 2016 Revantha Ramanayake (TU Wien) Inducing syntactic cut-elimination
More informationSelf-Adaptation and Information Flow in Multiparty Communications
Self-Adaptation and Information Flow in Multiparty Communications Joint work with Ilaria Castellani (INRIA, FR) Jorge A. Pérez (University of Groningen, NL) ABCD meeting London, 20th April, 2015 1 / 36
More informationLecture Notes on Subject Reduction and Normal Forms
Lecture Notes on Subject Reduction and Normal Forms 15-814: Types and Programming Languages Frank Pfenning Lecture 4 September 13, 2018 1 Introduction In the last lecture we proved some key aspect of a
More information