We present Hypersequent Classical Processes (HCP), a revised interpretation of the “Proofs as Processes” correspondence between linear logic and the π-calculus initially proposed by Abramsky [1994], and later developed by Bellin and Scott [1994], Caires and Pfenning [2010], and Wadler [2014], among others. HCP mends the discrepancies between linear logic and the syntax and observable semantics of parallel composition in the π-calculus, by conservatively extending linear logic to hyperenvironments (collections of environments, inspired by the hypersequents by Avron [1991]). Separation of environments in hyperenvironments is internalised by ⊗ and corresponds to parallel process behaviour. Thanks to this property, for the first time we are able to extract a labelled transition system (lts) semantics from proof rewritings. Leveraging the information on parallelism at the level of types, we obtain a logical reconstruction of the delayed actions that Merro and Sangiorgi [2004] formulated to model non-blocking I/O in the π-calculus. We define a denotational semantics for processes based on Brzozowski derivatives, and uncover that non-interference in HCP corresponds to Fubini’s theorem of double antiderivation. Having an lts allows us to validate HCP using the standard toolbox of behavioural theory. We instantiate bisimilarity and barbed congruence for HCP, and obtain a full abstraction result: bisimilarity, denotational equivalence, and barbed congruence coincide.
Kokke, Wen, Fabrizio Montesi, and Marco Peressotti. "Better late than never: a fully-abstract semantics for classical processes." Proceedings of the ACM on Programming Languages 3.POPL (2019): 24. https://doi.org/10.1145/3290337
Better Late Than Never: A Fully Abstract Semantics for Classical Processes
1. Better Late Than Never
A fully-abstract semantics for Classical Processes
Wen Kokke
University of Edinburgh
Fabrizio Montesi
University of Southern Denmark
Marco Peressotti
University of Southern Denmark
POPL’19
2. Proofs as Processes
Linear Logic (LL) corresponds to a type system for a process calculus
proofs correspond to processes;
propositions correspond to session types.
Kokke, Montesi, Peressotti Better Late Than Never 1
3. Proofs as Processes
Linear Logic (LL) corresponds to a type system for a process calculus
proofs correspond to processes;
propositions correspond to session types.
Girard 1987 Linear Logic
Kokke, Montesi, Peressotti Better Late Than Never 1
4. Proofs as Processes
Linear Logic (LL) corresponds to a type system for a process calculus
proofs correspond to processes;
propositions correspond to session types.
Girard 1987 Linear Logic
Abramsky 1994
Bellin and Scott 1994
Propositions as linear types
for processes
Kokke, Montesi, Peressotti Better Late Than Never 1
5. Proofs as Processes
Linear Logic (LL) corresponds to a type system for a process calculus
proofs correspond to processes;
propositions correspond to session types.
Girard 1987 Linear Logic
Abramsky 1994
Bellin and Scott 1994
Propositions as linear types
for processes
Honda 1993
Session types (based on duality)
Kokke, Montesi, Peressotti Better Late Than Never 1
6. Proofs as Processes
Linear Logic (LL) corresponds to a type system for a process calculus
proofs correspond to processes;
propositions correspond to session types.
Girard 1987 Linear Logic
Abramsky 1994
Bellin and Scott 1994
Propositions as linear types
for processes
Honda 1993
Session types (based on duality)
Caires and Pfenning 2010
Propositions in Intuitionistic LL
as session types
Kokke, Montesi, Peressotti Better Late Than Never 1
7. Proofs as Processes
Linear Logic (LL) corresponds to a type system for a process calculus
proofs correspond to processes;
propositions correspond to session types.
Girard 1987 Linear Logic
Abramsky 1994
Bellin and Scott 1994
Propositions as linear types
for processes
Honda 1993
Session types (based on duality)
Caires and Pfenning 2010
Propositions in Intuitionistic LL
as session types
Wadler 2014
Back to duality: Classical Processes
Kokke, Montesi, Peressotti Better Late Than Never 1
8. Classical Processes (CP) (Wadler 2014)
Γ where Γ = A1, . . . , An is a collection of CLL propositions
(Convention: propositions are in blue)
CLL sequent
Kokke, Montesi, Peressotti Better Late Than Never 2
9. Classical Processes (CP) (Wadler 2014)
Γ where Γ = x1:A1, . . . , xn:An is a map from channels to session types
(Convention: types are in blue and channels are in red)
CP typing environment
Kokke, Montesi, Peressotti Better Late Than Never 2
10. Classical Processes (CP) (Wadler 2014)
Typing judgments:
P Γ where Γ = x1:A1, . . . , xn:An is a map from channels to session types
“for each i, process P implements protocol Ai on channel xi”.
(Convention: types are in blue, processes and channels are in red)
Kokke, Montesi, Peressotti Better Late Than Never 2
11. Classical Processes (CP) (Wadler 2014)
Typing judgments:
P Γ where Γ = x1:A1, . . . , xn:An is a map from channels to session types
“for each i, process P implements protocol Ai on channel xi”.
(Convention: types are in blue, processes and channels are in red)
Derivation rules in CLL correspond to typing rules in CP:
Kokke, Montesi, Peressotti Better Late Than Never 2
12. Classical Processes (CP) (Wadler 2014)
Typing judgments:
P Γ where Γ = x1:A1, . . . , xn:An is a map from channels to session types
“for each i, process P implements protocol Ai on channel xi”.
(Convention: types are in blue, processes and channels are in red)
Derivation rules in CLL correspond to typing rules in CP:
Γ, A, B
Γ, A B
Kokke, Montesi, Peressotti Better Late Than Never 2
13. Classical Processes (CP) (Wadler 2014)
Typing judgments:
P Γ where Γ = x1:A1, . . . , xn:An is a map from channels to session types
“for each i, process P implements protocol Ai on channel xi”.
(Convention: types are in blue, processes and channels are in red)
Derivation rules in CLL correspond to typing rules in CP:
P Γ, y:A, x:B
x(y).P Γ, x:A B
Kokke, Montesi, Peressotti Better Late Than Never 2
14. Classical Processes (CP) (Wadler 2014)
Typing judgments:
P Γ where Γ = x1:A1, . . . , xn:An is a map from channels to session types
“for each i, process P implements protocol Ai on channel xi”.
(Convention: types are in blue, processes and channels are in red)
Derivation rules in CLL correspond to typing rules in CP:
P Γ, y:A, x:B
x(y).P Γ, x:A B
Γ, A ∆, B
Γ, ∆, A ⊗ B
⊗
Kokke, Montesi, Peressotti Better Late Than Never 2
15. Classical Processes (CP) (Wadler 2014)
Typing judgments:
P Γ where Γ = x1:A1, . . . , xn:An is a map from channels to session types
“for each i, process P implements protocol Ai on channel xi”.
(Convention: types are in blue, processes and channels are in red)
Derivation rules in CLL correspond to typing rules in CP:
P Γ, y:A, x:B
x(y).P Γ, x:A B
P Γ, y:A Q ∆, x:B
x[y].(P | Q) Γ, ∆, x:A ⊗ B
⊗
Kokke, Montesi, Peressotti Better Late Than Never 2
16. Classical Processes (CP) (Wadler 2014)
Typing judgments:
P Γ where Γ = x1:A1, . . . , xn:An is a map from channels to session types
“for each i, process P implements protocol Ai on channel xi”.
(Convention: types are in blue, processes and channels are in red)
Derivation rules in CLL correspond to typing rules in CP:
P Γ, y:A, x:B
x(y).P Γ, x:A B
P Γ, y:A Q ∆, x:B
x[y].(P | Q) Γ, ∆, x:A ⊗ B
⊗
Duality in CLL corresponds to duality in session types (e.g. recv/send)
(A B)⊥
= A⊥
⊗ B⊥
Kokke, Montesi, Peressotti Better Late Than Never 2
17. Classical Processes (CP) (Wadler 2014)
Typing judgments:
P Γ where Γ = x1:A1, . . . , xn:An is a map from channels to session types
“for each i, process P implements protocol Ai on channel xi”.
(Convention: types are in blue, processes and channels are in red)
Derivation rules in CLL correspond to typing rules in CP:
P Γ, y:A, x:B
x(y).P Γ, x:A B
P Γ, y:A Q ∆, x:B
x[y].(P | Q) Γ, ∆, x:A ⊗ B
⊗
Γ, A ∆, A⊥
Γ, ∆
cut
Duality in CLL corresponds to duality in session types (e.g. recv/send)
(A B)⊥
= A⊥
⊗ B⊥
Kokke, Montesi, Peressotti Better Late Than Never 2
18. Classical Processes (CP) (Wadler 2014)
Typing judgments:
P Γ where Γ = x1:A1, . . . , xn:An is a map from channels to session types
“for each i, process P implements protocol Ai on channel xi”.
(Convention: types are in blue, processes and channels are in red)
Derivation rules in CLL correspond to typing rules in CP:
P Γ, y:A, x:B
x(y).P Γ, x:A B
P Γ, y:A Q ∆, x:B
x[y].(P | Q) Γ, ∆, x:A ⊗ B
⊗
P Γ, x:A Q ∆, y:A⊥
(νxy)(P | Q) Γ, ∆
cut
Duality in CLL corresponds to duality in session types (e.g. recv/send)
(A B)⊥
= A⊥
⊗ B⊥
Kokke, Montesi, Peressotti Better Late Than Never 2
19. Classical Processes (CP) (Wadler 2014)
Typing judgments:
P Γ where Γ = x1:A1, . . . , xn:An is a map from channels to session types
“for each i, process P implements protocol Ai on channel xi”.
(Convention: types are in blue, processes and channels are in red)
Derivation rules in CLL correspond to typing rules in CP:
P Γ, y:A, x:B
x(y).P Γ, x:A B
P Γ, y:A Q ∆, x:B
x[y].(P | Q) Γ, ∆, x:A ⊗ B
⊗
P Γ, x:A Q ∆, y:A⊥
(νxy)(P | Q) Γ, ∆
cut
Duality in CLL corresponds to duality in session types (e.g. recv/send)
(A B)⊥
= A⊥
⊗ B⊥
Proof transformations correspond to process reductions.
Kokke, Montesi, Peressotti Better Late Than Never 2
20. There are some discrepancies
Parallel composition (P | Q) is not typable, it is not even in the syntax of CP.
Noticeable consequences:
Kokke, Montesi, Peressotti Better Late Than Never 3
21. There are some discrepancies
Parallel composition (P | Q) is not typable, it is not even in the syntax of CP.
Noticeable consequences:
No Labelled Transition System. e.g. the expected transition for output:
x[y].(P | Q)
x[y]
−−→ P | Q
is unsound!
Kokke, Montesi, Peressotti Better Late Than Never 3
22. There are some discrepancies
Parallel composition (P | Q) is not typable, it is not even in the syntax of CP.
Noticeable consequences:
No Labelled Transition System. e.g. the expected transition for output:
x[y].(P | Q)
x[y]
−−→ P | Q
is unsound!
The semantics of CP needs reductions that do not preserve parallelism, e.g.
(νxx )(y(y ).P | Q) → y(y ).(νxx )(P | Q)
introduces dependencies among parallel actions.
Kokke, Montesi, Peressotti Better Late Than Never 3
24. Parallel composition
Parallel composition lacks a rule in CLL for reasoning about it directly.
Idea: characterise parallelism logically
Hypersequents (collections of sequents):
G, H ::= Γ1 | · · · | Γn
Hypersequent Mix
P G Q H
P | Q G | H
h-mix
If G then, its sequents are independently derivable.
Kokke, Montesi, Peressotti Better Late Than Never 4
25. From CP to HCP
Classical Processes
(Wadler 2014)
No parallel composition
Hypersequent Classical Processes
(this paper)
P G Q H
P | Q G | H
h-mix
Kokke, Montesi, Peressotti Better Late Than Never 5
26. From CP to HCP
Classical Processes
(Wadler 2014)
No parallel composition
P Γ, x:A Q ∆, y:A⊥
(νxy)(P | Q) Γ, ∆
cut
Hypersequent Classical Processes
(this paper)
P G Q H
P | Q G | H
h-mix
P G | Γ, x:A | ∆, y:A⊥
(νxy)P G | Γ, ∆
h-cut
Kokke, Montesi, Peressotti Better Late Than Never 5
27. From CP to HCP
Classical Processes
(Wadler 2014)
No parallel composition
P Γ, x:A Q ∆, y:A⊥
(νxy)(P | Q) Γ, ∆
cut
Hypersequent Classical Processes
(this paper)
P G Q H
P | Q G | H
h-mix
P G | Γ, x:A | ∆, y:A⊥
(νxy)P G | Γ, ∆
h-cut
In H-Cut, hypersequents ensure that x:A and
y:A⊥ are independent
Kokke, Montesi, Peressotti Better Late Than Never 5
28. From CP to HCP
Classical Processes
(Wadler 2014)
No parallel composition
P Γ, x:A Q ∆, y:A⊥
(νxy)(P | Q) Γ, ∆
cut
Hypersequent Classical Processes
(this paper)
P G Q H
P | Q G | H
h-mix
P G | Γ, x:A | ∆, y:A⊥
(νxy)P G | Γ, ∆
h-cut
Restriction is a stand-alone (unary) term constructor
Kokke, Montesi, Peressotti Better Late Than Never 5
29. From CP to HCP
Classical Processes
(Wadler 2014)
No parallel composition
P Γ, x:A Q ∆, y:A⊥
(νxy)(P | Q) Γ, ∆
cut
P Γ, y:A Q ∆, x:B
x[y].(P | Q) Γ, ∆, x:A ⊗ B
⊗
Hypersequent Classical Processes
(this paper)
P G Q H
P | Q G | H
h-mix
P G | Γ, x:A | ∆, y:A⊥
(νxy)P G | Γ, ∆
h-cut
P G | Γ, y:A | ∆, x:B
x[y].P G | Γ, ∆, x:A ⊗ B
⊗
Kokke, Montesi, Peressotti Better Late Than Never 5
30. From CP to HCP
Classical Processes
(Wadler 2014)
No parallel composition
P Γ, x:A Q ∆, y:A⊥
(νxy)(P | Q) Γ, ∆
cut
P Γ, y:A Q ∆, x:B
x[y].(P | Q) Γ, ∆, x:A ⊗ B
⊗
Hypersequent Classical Processes
(this paper)
P G Q H
P | Q G | H
h-mix
P G | Γ, x:A | ∆, y:A⊥
(νxy)P G | Γ, ∆
h-cut
P G | Γ, y:A | ∆, x:B
x[y].P G | Γ, ∆, x:A ⊗ B
⊗
Unary operator, hyperseqeunts guarantee independence
Kokke, Montesi, Peressotti Better Late Than Never 5
31. From CP to HCP
Classical Processes
(Wadler 2014)
No parallel composition
P Γ, x:A Q ∆, y:A⊥
(νxy)(P | Q) Γ, ∆
cut
P Γ, y:A Q ∆, x:B
x[y].(P | Q) Γ, ∆, x:A ⊗ B
⊗
P Γ, y:A, x:B
x(y).P Γ, x:A B
. . .
Hypersequent Classical Processes
(this paper)
P G Q H
P | Q G | H
h-mix
P G | Γ, x:A | ∆, y:A⊥
(νxy)P G | Γ, ∆
h-cut
P G | Γ, y:A | ∆, x:B
x[y].P G | Γ, ∆, x:A ⊗ B
⊗
P G | Γ, y:A, x:B
x(y).P G | Γ, x:A B
. . .
Kokke, Montesi, Peressotti Better Late Than Never 5
32. From CP to HCP
Classical Processes
(Wadler 2014)
No parallel composition
P Γ, x:A Q ∆, y:A⊥
(νxy)(P | Q) Γ, ∆
cut
P Γ, y:A Q ∆, x:B
x[y].(P | Q) Γ, ∆, x:A ⊗ B
⊗
P Γ, y:A, x:B
x(y).P Γ, x:A B
. . .
Hypersequent Classical Processes
(this paper)
P G Q H
P | Q G | H
h-mix
P G | Γ, x:A | ∆, y:A⊥
(νxy)P G | Γ, ∆
h-cut
P G | Γ, y:A | ∆, x:B
x[y].P G | Γ, ∆, x:A ⊗ B
⊗
P G | Γ, y:A, x:B
x(y).P G | Γ, x:A B
. . .
Kokke, Montesi, Peressotti Better Late Than Never 5
33. From CP to HCP
Classical Processes
(Wadler 2014)
No parallel composition
P Γ, x:A Q ∆, y:A⊥
(νxy)(P | Q) Γ, ∆
cut
P Γ, y:A Q ∆, x:B
x[y].(P | Q) Γ, ∆, x:A ⊗ B
⊗
P Γ, y:A, x:B
x(y).P Γ, x:A B
. . .
Hypersequent Classical Processes
(this paper)
P G Q H
P | Q G | H
h-mix
P G | Γ, x:A | ∆, y:A⊥
(νxy)P G | Γ, ∆
h-cut
P G | Γ, y:A | ∆, x:B
x[y].P G | Γ, ∆, x:A ⊗ B
⊗
P G | Γ, y:A, x:B
x(y).P G | Γ, x:A B
. . .
P uses channels in G
in parallel to x, y, Γ
Kokke, Montesi, Peressotti Better Late Than Never 5
34. Relation with Classical Linear Logic
From CLL to HCP:
Theorem
If Γ in CLL then, Γ in HCP.
From HCP to CLL:
“,” as “ ” “|” as “⊗”
(A1, . . . , An) = A1 · · · An (Γ1 | · · · | Γn) = (Γ1) ⊗ . . . ⊗ (Γn)
Theorem
If G in HCP then, (G) in CLL.
Kokke, Montesi, Peressotti Better Late Than Never 6
35. Deriving an LTS of proofs: input prefix/rule
x(x ).P
Kokke, Montesi, Peressotti Better Late Than Never 7
36. Deriving an LTS of proofs: input prefix/rule
x(x ).P
x(x )
−−−→ P
Kokke, Montesi, Peressotti Better Late Than Never 7
37. Deriving an LTS of proofs: input prefix/rule
x(x ).P
x(x )
−−−→ P
P G | Γ, x :A, x:B
x(x ).P G | Γ, x:A B
??
−−−−−−−→ ??
Kokke, Montesi, Peressotti Better Late Than Never 7
38. Deriving an LTS of proofs: input prefix/rule
x(x ).P
x(x )
−−−→ P
P
x(x ).P
−−−−−−→
Kokke, Montesi, Peressotti Better Late Than Never 7
39. Deriving an LTS of proofs: input prefix/rule
x(x ).P
x(x )
−−−→ P
P
x(x ).P
x(x ):
−−−−−−→ P
Kokke, Montesi, Peressotti Better Late Than Never 7
40. Deriving an LTS of proofs: input prefix/rule
x(x ).P
x(x )
−−−→ P
P G | Γ, x :A, x:B
x(x ).P G | Γ, x:A B
x(x ): A B
−−−−−−→ P G | Γ, x :A, x:B
Kokke, Montesi, Peressotti Better Late Than Never 7
41. Deriving an LTS of proofs: output prefix/rule ⊗
x[x ].P
x[x ]
−−→ P
Kokke, Montesi, Peressotti Better Late Than Never 8
42. Deriving an LTS of proofs: output prefix/rule ⊗
x[x ].P
x[x ]
−−→ P
P
x[x ].P
⊗
x[x ]:
−−−−−−→ P
Kokke, Montesi, Peressotti Better Late Than Never 8
43. Deriving an LTS of proofs: output prefix/rule ⊗
x[x ].P
x[x ]
−−→ P
P G | Γ, x :A | ∆, x:B
x[x ].P G | Γ, ∆, x:A ⊗ B
⊗
x[x ]: A⊗B
−−−−−−→ P G | Γ, x :A | ∆, x:B
Kokke, Montesi, Peressotti Better Late Than Never 8
44. Deriving an LTS of proofs: h-mix
P
l
−−→ P bn(l) ∩ fn(Q) = ∅
P | Q
l
−−→ P | Q
par1
Kokke, Montesi, Peressotti Better Late Than Never 9
45. Deriving an LTS of proofs: h-mix
P
l
−−→ P bn(l) ∩ fn(Q) = ∅
P | Q
l
−−→ P | Q
par1
P
l
−−→ P bn(l) ∩ fn(Q) = ∅
P Q
P | Q
h-mix
l
−−→
P Q
P | Q
h-mix
par1
Kokke, Montesi, Peressotti Better Late Than Never 9
46. Deriving an LTS of proofs: h-mix
P
l
−−→ P bn(l) ∩ fn(Q) = ∅
P | Q
l
−−→ P | Q
par1
P G
l
−−→ P G bn(l) ∩ fn(Q) = ∅
P G Q H
P | Q G | H
h-mix
l
−−→
P G Q H
P | Q G | H
h-mix
par1
Kokke, Montesi, Peressotti Better Late Than Never 9
47. Deriving an LTS of proofs: h-mix
P
l
−−→ P Q
l
−−→ Q bn(l) ∩ bn(l ) = ∅
P | Q
(l l )
−−−→ P | Q
Kokke, Montesi, Peressotti Better Late Than Never 10
48. Deriving an LTS of proofs: h-mix
P
l
−−→ P Q
l
−−→ Q bn(l) ∩ bn(l ) = ∅
P | Q
(l l )
−−−→ P | Q
P
l
−−→ P Q
l
−−→ Q bn(l) ∩ bn(l ) = ∅
P Q
P | Q
h-mix
(l l )
−−−→
P Q
P | Q
h-mix
Kokke, Montesi, Peressotti Better Late Than Never 10
49. Deriving an LTS of proofs: h-mix
P
l
−−→ P Q
l
−−→ Q bn(l) ∩ bn(l ) = ∅
P | Q
(l l )
−−−→ P | Q
P G
l
−−→ P G Q H
l
−−→ Q H bn(l) ∩ bn(l ) = ∅
P G Q H
P | Q G | H
h-mix
(l l )
−−−→
P G Q H
P | Q G | H
h-mix
Kokke, Montesi, Peressotti Better Late Than Never 10
50. Deriving an LTS of proofs: h-cut ⊗
P
(x[x ] y(y ))
−−−−−−−→ P
(νxy)P
τ
−−→ (νxy)(νx y )P
Kokke, Montesi, Peressotti Better Late Than Never 11
51. Deriving an LTS of proofs: h-cut ⊗
P
(x[x ] y(y ))
−−−−−−−→ P
(νxy)P
τ
−−→ (νxy)(νx y )P
P
(x[x ] y(y ))
P
P
(νxy)P
h-cut
↓ τ
P
(νx y )P
h-cut
(νxy)(νx y )P
h-cut
⊗
Kokke, Montesi, Peressotti Better Late Than Never 11
52. Deriving an LTS of proofs: h-cut ⊗
P
(x[x ] y(y ))
−−−−−−−→ P
(νxy)P
τ
−−→ (νxy)(νx y )P
P G | Γ, ∆, x:A ⊗ B | Θ, y:A⊥ B⊥
(x[x ] y(y ))
P G | Γ, x:B | ∆, x :A | Θ, y:B⊥, y :A⊥
P G | Γ, ∆, x:A ⊗ B | Θ, y:A⊥ B⊥
(νxy)P G | Γ, ∆, Θ
h-cut
↓ τ
P G | Γ, x:B | ∆, x :A | Θ, y:B⊥, y :A⊥
(νx y )P G | Γ, x:B | ∆, Θ, y:B⊥
h-cut
(νxy)(νx y )P G | Γ, ∆, Θ
h-cut
⊗
Kokke, Montesi, Peressotti Better Late Than Never 11
53. Readiness
For an external observer, every parallel component of a (well-typed) process is
always ready to fire at least one action.
Theorem (Readiness)
If P Γ1 | · · · | Γn then, ∀Γi, ∃l there is P
l
==⇒ Q s.t. l is over a channel in Γi
(where
l
==⇒ =
τ
−→∗
◦
l
−−→ ◦
τ
−→∗
.)
Kokke, Montesi, Peressotti Better Late Than Never 12
54. Readiness
For an external observer, every parallel component of a (well-typed) process is
always ready to fire at least one action.
Theorem (Readiness)
If P Γ1 | · · · | Γn then, ∀Γi, ∃l there is P
l
==⇒ Q s.t. l is over a channel in Γi
(where
l
==⇒ =
τ
−→∗
◦
l
−−→ ◦
τ
−→∗
.)
Corollary
Well-typed processes are deadlock-free.
Kokke, Montesi, Peressotti Better Late Than Never 12
55. Validation: the behavioural theory of HCP
Bisimilarity (≈) is defined as expected.
Parallel composition is associative, commutative, and has a unit:
(P | Q) | R ≈ P | (Q | R) P | Q ≈ Q | P P | nil ≈ P
Contextual equivalence is defined as expected (barbed congruence)
Theorem (Full abstraction)
Bisimilarity = contextual equivalence (= denotational equivalence).
The discriminating power of HCP programs and the LTS is the same.
In the paper, full abstraction includes also denotational equivalence.
Kokke, Montesi, Peressotti Better Late Than Never 13
56. Conclusions
Girard 1987
Abramsky 1994
Bellin and Scott 1994
Honda 1993
Caires and Pfenning 2010
Wadler 2014
this paper
Parallel operator (P | Q)
Conservative extension of CLL
Parallelism as hypersequents
LTS semantics
Transitions as proof
transformations
Readiness, No-Deadlocks
Bisimilarity, Contextual eq.
Denotational semantics
Full-abstraction
Kokke, Montesi, Peressotti Better Late Than Never 14
57. Conclusions and future work
Girard 1987
Abramsky 1994
Bellin and Scott 1994
Honda 1993
Caires and Pfenning 2010
Wadler 2014
this paper
next
Parallel operator (P | Q)
Conservative extension of CLL
Parallelism as hypersequents
LTS semantics
Transitions as proof
transformations
Readiness, No-Deadlocks
Bisimilarity, Contextual eq.
Denotational semantics
Full-abstraction
Recursion (Lindley and Morris 2016)
Higher-order (Montesi 2018)
Multiparty ST (Carbone et al. 2017)
Kokke, Montesi, Peressotti Better Late Than Never 14
58. Thanks for your attention
Better Late Than Never
A fully-abstract semantics for Classical Processes
Wen Kokke, Fabrizio Montesi, and Marco Peressotti