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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Parallel composition
Parallel composition lacks a rule in CLL for reasoning about it directly.
Kokke, Montesi, Peressotti Better Late Than Never 4
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
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
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
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
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
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
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
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
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
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
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
Deriving an LTS of proofs: input prefix/rule
x(x ).P
Kokke, Montesi, Peressotti Better Late Than Never 7
Deriving an LTS of proofs: input prefix/rule
x(x ).P
x(x )
−−−→ P
Kokke, Montesi, Peressotti Better Late Than Never 7
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
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
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
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
Deriving an LTS of proofs: output prefix/rule ⊗
x[x ].P
x[x ]
−−→ P
Kokke, Montesi, Peressotti Better Late Than Never 8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Thanks for your attention
Better Late Than Never
A fully-abstract semantics for Classical Processes
Wen Kokke, Fabrizio Montesi, and Marco Peressotti

More Related Content

PDF
Quantified NTL
PDF
Tailoring Temporal Description Logics for Reasoning over Temporal Conceptual ...
PDF
Reductions
PPT
lecture 29
PPTX
Tsp is NP-Complete
PDF
PDF
Towards Dynamic Updates in Service Composition - Prof. Mario Bravetti
PDF
Understanding distributed calculi in Haskell
Quantified NTL
Tailoring Temporal Description Logics for Reasoning over Temporal Conceptual ...
Reductions
lecture 29
Tsp is NP-Complete
Towards Dynamic Updates in Service Composition - Prof. Mario Bravetti
Understanding distributed calculi in Haskell

What's hot (19)

PPT
lecture 27
PDF
P, NP, NP-Complete, and NP-Hard
PDF
27 NP Completness
PPT
lecture 30
PDF
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...
PDF
Talk at Seminari de Teoria de Nombres de Barcelona 2017
PDF
Process Algebras and Petri Nets are Discrete Dynamical Systems
PDF
no U-turn sampler, a discussion of Hoffman & Gelman NUTS algorithm
PDF
Quantum Algorithms and Lower Bounds in Continuous Time
PDF
Nies cuny describing_finite_groups
PPT
PPT
lecture 28
PDF
P versus NP
PPT
Np completeness h4
PDF
Merged Talk: A Verified Optimizer for Quantum Circuits & Verified Translation...
PDF
Invariant-Free Clausal Temporal Resolution
PDF
Kernel for Chordal Vertex Deletion
PDF
Sara el hassad
lecture 27
P, NP, NP-Complete, and NP-Hard
27 NP Completness
lecture 30
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...
Talk at Seminari de Teoria de Nombres de Barcelona 2017
Process Algebras and Petri Nets are Discrete Dynamical Systems
no U-turn sampler, a discussion of Hoffman & Gelman NUTS algorithm
Quantum Algorithms and Lower Bounds in Continuous Time
Nies cuny describing_finite_groups
lecture 28
P versus NP
Np completeness h4
Merged Talk: A Verified Optimizer for Quantum Circuits & Verified Translation...
Invariant-Free Clausal Temporal Resolution
Kernel for Chordal Vertex Deletion
Sara el hassad
Ad

Recently uploaded (20)

PDF
Cosmology using numerical relativity - what hapenned before big bang?
PPTX
Platelet disorders - thrombocytopenia.pptx
PDF
Unit 5 Preparations, Reactions, Properties and Isomersim of Organic Compounds...
PPTX
PMR- PPT.pptx for students and doctors tt
PPTX
gene cloning powerpoint for general biology 2
PDF
Chapter 3 - Human Development Poweroint presentation
PPTX
2currentelectricity1-201006102815 (1).pptx
PPT
LEC Synthetic Biology and its application.ppt
PDF
Packaging materials of fruits and vegetables
PPT
Biochemestry- PPT ON Protein,Nitrogenous constituents of Urine, Blood, their ...
PPT
Mutation in dna of bacteria and repairss
PPTX
Introcution to Microbes Burton's Biology for the Health
PPTX
LIPID & AMINO ACID METABOLISM UNIT-III, B PHARM II SEMESTER
PPT
1. INTRODUCTION TO EPIDEMIOLOGY.pptx for community medicine
PDF
From Molecular Interactions to Solubility in Deep Eutectic Solvents: Explorin...
PPTX
limit test definition and all limit tests
PPTX
ELISA(Enzyme linked immunosorbent assay)
PDF
Integrative Oncology: Merging Conventional and Alternative Approaches (www.k...
PPTX
HAEMATOLOGICAL DISEASES lack of red blood cells, which carry oxygen throughou...
PDF
Science Form five needed shit SCIENEce so
Cosmology using numerical relativity - what hapenned before big bang?
Platelet disorders - thrombocytopenia.pptx
Unit 5 Preparations, Reactions, Properties and Isomersim of Organic Compounds...
PMR- PPT.pptx for students and doctors tt
gene cloning powerpoint for general biology 2
Chapter 3 - Human Development Poweroint presentation
2currentelectricity1-201006102815 (1).pptx
LEC Synthetic Biology and its application.ppt
Packaging materials of fruits and vegetables
Biochemestry- PPT ON Protein,Nitrogenous constituents of Urine, Blood, their ...
Mutation in dna of bacteria and repairss
Introcution to Microbes Burton's Biology for the Health
LIPID & AMINO ACID METABOLISM UNIT-III, B PHARM II SEMESTER
1. INTRODUCTION TO EPIDEMIOLOGY.pptx for community medicine
From Molecular Interactions to Solubility in Deep Eutectic Solvents: Explorin...
limit test definition and all limit tests
ELISA(Enzyme linked immunosorbent assay)
Integrative Oncology: Merging Conventional and Alternative Approaches (www.k...
HAEMATOLOGICAL DISEASES lack of red blood cells, which carry oxygen throughou...
Science Form five needed shit SCIENEce so
Ad

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
  • 23. Parallel composition Parallel composition lacks a rule in CLL for reasoning about it directly. Kokke, Montesi, Peressotti Better Late Than Never 4
  • 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