Better Late Than Never: A Fully Abstract Semantics for Classical Processes

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
1 of 58

Recommended

Quantified NTL by
Quantified NTLQuantified NTL
Quantified NTLFoCAS Initiative
443 views98 slides
Tailoring Temporal Description Logics for Reasoning over Temporal Conceptual ... by
Tailoring Temporal Description Logics for Reasoning over Temporal Conceptual ...Tailoring Temporal Description Logics for Reasoning over Temporal Conceptual ...
Tailoring Temporal Description Logics for Reasoning over Temporal Conceptual ...net2-project
814 views44 slides
Reductions by
ReductionsReductions
ReductionsMuhammad Alhalaby
358 views19 slides
lecture 29 by
lecture 29lecture 29
lecture 29sajinsc
560 views12 slides
Tsp is NP-Complete by
Tsp is NP-CompleteTsp is NP-Complete
Tsp is NP-CompleteEmre Can Kucukoglu
13.5K views11 slides
qlp by
qlpqlp
qlpRei Mizuta
108 views23 slides

More Related Content

What's hot

lecture 27 by
lecture 27lecture 27
lecture 27sajinsc
1.2K views21 slides
P, NP, NP-Complete, and NP-Hard by
P, NP, NP-Complete, and NP-HardP, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardAnimesh Chaturvedi
3.3K views86 slides
27 NP Completness by
27 NP Completness27 NP Completness
27 NP CompletnessAndres Mendez-Vazquez
825 views401 slides
lecture 30 by
lecture 30lecture 30
lecture 30sajinsc
2.4K views24 slides
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen... by
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...Amrinder Arora
3.7K views12 slides
Talk at Seminari de Teoria de Nombres de Barcelona 2017 by
Talk at Seminari de Teoria de Nombres de Barcelona 2017Talk at Seminari de Teoria de Nombres de Barcelona 2017
Talk at Seminari de Teoria de Nombres de Barcelona 2017mmasdeu
155 views15 slides

What's hot(19)

lecture 27 by sajinsc
lecture 27lecture 27
lecture 27
sajinsc1.2K views
lecture 30 by sajinsc
lecture 30lecture 30
lecture 30
sajinsc2.4K views
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen... by Amrinder Arora
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...
Amrinder Arora3.7K views
Talk at Seminari de Teoria de Nombres de Barcelona 2017 by mmasdeu
Talk at Seminari de Teoria de Nombres de Barcelona 2017Talk at Seminari de Teoria de Nombres de Barcelona 2017
Talk at Seminari de Teoria de Nombres de Barcelona 2017
mmasdeu155 views
no U-turn sampler, a discussion of Hoffman & Gelman NUTS algorithm by Christian Robert
no U-turn sampler, a discussion of Hoffman & Gelman NUTS algorithmno U-turn sampler, a discussion of Hoffman & Gelman NUTS algorithm
no U-turn sampler, a discussion of Hoffman & Gelman NUTS algorithm
Christian Robert5.6K views
Quantum Algorithms and Lower Bounds in Continuous Time by David Yonge-Mallo
Quantum Algorithms and Lower Bounds in Continuous TimeQuantum Algorithms and Lower Bounds in Continuous Time
Quantum Algorithms and Lower Bounds in Continuous Time
David Yonge-Mallo593 views
Nies cuny describing_finite_groups by Andre Nies
Nies cuny describing_finite_groupsNies cuny describing_finite_groups
Nies cuny describing_finite_groups
Andre Nies194 views
lecture 28 by sajinsc
lecture 28lecture 28
lecture 28
sajinsc1.7K views
Np completeness h4 by Rajendran
Np completeness  h4Np completeness  h4
Np completeness h4
Rajendran 851 views
Merged Talk: A Verified Optimizer for Quantum Circuits & Verified Translation... by Robert Rand
Merged Talk: A Verified Optimizer for Quantum Circuits & Verified Translation...Merged Talk: A Verified Optimizer for Quantum Circuits & Verified Translation...
Merged Talk: A Verified Optimizer for Quantum Circuits & Verified Translation...
Robert Rand217 views

Similar to Better Late Than Never: A Fully Abstract Semantics for Classical Processes

Binary Session Types for Psi-Calculi (APLAS 2016) by
Binary Session Types for Psi-Calculi (APLAS 2016)Binary Session Types for Psi-Calculi (APLAS 2016)
Binary Session Types for Psi-Calculi (APLAS 2016)Hans Hyttel
882 views26 slides
(DL hacks輪読) Variational Inference with Rényi Divergence by
(DL hacks輪読) Variational Inference with Rényi Divergence(DL hacks輪読) Variational Inference with Rényi Divergence
(DL hacks輪読) Variational Inference with Rényi DivergenceMasahiro Suzuki
1.9K views23 slides
Pairwise sequence alignment by
Pairwise sequence alignmentPairwise sequence alignment
Pairwise sequence alignmentavrilcoghlan
32.3K views12 slides
Topic model an introduction by
Topic model an introductionTopic model an introduction
Topic model an introductionYueshen Xu
2.7K views43 slides
RChain - Understanding Distributed Calculi by
RChain - Understanding Distributed CalculiRChain - Understanding Distributed Calculi
RChain - Understanding Distributed CalculiPawel Szulc
421 views233 slides
Noise Resilience of Variational Quantum Compiling by
Noise Resilience of Variational Quantum CompilingNoise Resilience of Variational Quantum Compiling
Noise Resilience of Variational Quantum CompilingKunalSharma515
85 views27 slides

Similar to Better Late Than Never: A Fully Abstract Semantics for Classical Processes(19)

Binary Session Types for Psi-Calculi (APLAS 2016) by Hans Hyttel
Binary Session Types for Psi-Calculi (APLAS 2016)Binary Session Types for Psi-Calculi (APLAS 2016)
Binary Session Types for Psi-Calculi (APLAS 2016)
Hans Hyttel882 views
(DL hacks輪読) Variational Inference with Rényi Divergence by Masahiro Suzuki
(DL hacks輪読) Variational Inference with Rényi Divergence(DL hacks輪読) Variational Inference with Rényi Divergence
(DL hacks輪読) Variational Inference with Rényi Divergence
Masahiro Suzuki1.9K views
Pairwise sequence alignment by avrilcoghlan
Pairwise sequence alignmentPairwise sequence alignment
Pairwise sequence alignment
avrilcoghlan32.3K views
Topic model an introduction by Yueshen Xu
Topic model an introductionTopic model an introduction
Topic model an introduction
Yueshen Xu2.7K views
RChain - Understanding Distributed Calculi by Pawel Szulc
RChain - Understanding Distributed CalculiRChain - Understanding Distributed Calculi
RChain - Understanding Distributed Calculi
Pawel Szulc421 views
Noise Resilience of Variational Quantum Compiling by KunalSharma515
Noise Resilience of Variational Quantum CompilingNoise Resilience of Variational Quantum Compiling
Noise Resilience of Variational Quantum Compiling
KunalSharma51585 views
Rebuilding Factorized Information Criterion: Asymptotically Accurate Marginal... by Kohei Hayashi
Rebuilding Factorized Information Criterion: Asymptotically Accurate Marginal...Rebuilding Factorized Information Criterion: Asymptotically Accurate Marginal...
Rebuilding Factorized Information Criterion: Asymptotically Accurate Marginal...
Kohei Hayashi1.2K views
Principal Type Scheme for Session Types by CSCJournals
Principal Type Scheme for Session TypesPrincipal Type Scheme for Session Types
Principal Type Scheme for Session Types
CSCJournals165 views
Parameterized Model Checking of Rendezvous Systems by Francesco Spegni
Parameterized Model Checking of Rendezvous SystemsParameterized Model Checking of Rendezvous Systems
Parameterized Model Checking of Rendezvous Systems
Francesco Spegni413 views
Adpositional Argumentation: How Logic Originates In Natural Argumentative Dis... by Federico Gobbo
Adpositional Argumentation: How Logic Originates In Natural Argumentative Dis...Adpositional Argumentation: How Logic Originates In Natural Argumentative Dis...
Adpositional Argumentation: How Logic Originates In Natural Argumentative Dis...
Federico Gobbo119 views
Variational Inference by Tushar Tank
Variational InferenceVariational Inference
Variational Inference
Tushar Tank2.1K views
defense by Qing Dou
defensedefense
defense
Qing Dou319 views
RuleML 2015 Constraint Handling Rules - What Else? by RuleML
RuleML 2015 Constraint Handling Rules - What Else?RuleML 2015 Constraint Handling Rules - What Else?
RuleML 2015 Constraint Handling Rules - What Else?
RuleML2.3K views
Using Qualitative Knowledge in Numerical Learning by butest
Using Qualitative Knowledge in Numerical LearningUsing Qualitative Knowledge in Numerical Learning
Using Qualitative Knowledge in Numerical Learning
butest217 views
Variational Bayes: A Gentle Introduction by Flavio Morelli
Variational Bayes: A Gentle IntroductionVariational Bayes: A Gentle Introduction
Variational Bayes: A Gentle Introduction
Flavio Morelli455 views
On Resolution Proofs for Combinational Equivalence by satrajit
On Resolution Proofs for Combinational EquivalenceOn Resolution Proofs for Combinational Equivalence
On Resolution Proofs for Combinational Equivalence
satrajit296 views
CPSC 125 Ch 1 sec 2 by David Wood
CPSC 125 Ch 1 sec 2CPSC 125 Ch 1 sec 2
CPSC 125 Ch 1 sec 2
David Wood1K views

Recently uploaded

MODULE-9-Biotechnology, Genetically Modified Organisms, and Gene Therapy.pdf by
MODULE-9-Biotechnology, Genetically Modified Organisms, and Gene Therapy.pdfMODULE-9-Biotechnology, Genetically Modified Organisms, and Gene Therapy.pdf
MODULE-9-Biotechnology, Genetically Modified Organisms, and Gene Therapy.pdfKerryNuez1
19 views5 slides
Ecology by
Ecology Ecology
Ecology Abhijith Raj.R
6 views10 slides
"How can I develop my learning path in bioinformatics? by
"How can I develop my learning path in bioinformatics?"How can I develop my learning path in bioinformatics?
"How can I develop my learning path in bioinformatics?Bioinformy
17 views13 slides
A training, certification and marketing scheme for informal dairy vendors in ... by
A training, certification and marketing scheme for informal dairy vendors in ...A training, certification and marketing scheme for informal dairy vendors in ...
A training, certification and marketing scheme for informal dairy vendors in ...ILRI
8 views13 slides
Physical Characterization of Moon Impactor WE0913A by
Physical Characterization of Moon Impactor WE0913APhysical Characterization of Moon Impactor WE0913A
Physical Characterization of Moon Impactor WE0913ASérgio Sacani
42 views12 slides
Chromatography ppt.pptx by
Chromatography ppt.pptxChromatography ppt.pptx
Chromatography ppt.pptxvarshachandgudesvpm
15 views1 slide

Recently uploaded(20)

MODULE-9-Biotechnology, Genetically Modified Organisms, and Gene Therapy.pdf by KerryNuez1
MODULE-9-Biotechnology, Genetically Modified Organisms, and Gene Therapy.pdfMODULE-9-Biotechnology, Genetically Modified Organisms, and Gene Therapy.pdf
MODULE-9-Biotechnology, Genetically Modified Organisms, and Gene Therapy.pdf
KerryNuez119 views
"How can I develop my learning path in bioinformatics? by Bioinformy
"How can I develop my learning path in bioinformatics?"How can I develop my learning path in bioinformatics?
"How can I develop my learning path in bioinformatics?
Bioinformy17 views
A training, certification and marketing scheme for informal dairy vendors in ... by ILRI
A training, certification and marketing scheme for informal dairy vendors in ...A training, certification and marketing scheme for informal dairy vendors in ...
A training, certification and marketing scheme for informal dairy vendors in ...
ILRI8 views
Physical Characterization of Moon Impactor WE0913A by Sérgio Sacani
Physical Characterization of Moon Impactor WE0913APhysical Characterization of Moon Impactor WE0913A
Physical Characterization of Moon Impactor WE0913A
Sérgio Sacani42 views
Class 2 (12 july).pdf by climber9977
  Class 2 (12 july).pdf  Class 2 (12 july).pdf
Class 2 (12 july).pdf
climber99778 views
Conventional and non-conventional methods for improvement of cucurbits.pptx by gandhi976
Conventional and non-conventional methods for improvement of cucurbits.pptxConventional and non-conventional methods for improvement of cucurbits.pptx
Conventional and non-conventional methods for improvement of cucurbits.pptx
gandhi97614 views
Open Access Publishing in Astrophysics by Peter Coles
Open Access Publishing in AstrophysicsOpen Access Publishing in Astrophysics
Open Access Publishing in Astrophysics
Peter Coles380 views
Synthesis and Characterization of Magnetite-Magnesium Sulphate-Sodium Dodecyl... by GIFT KIISI NKIN
Synthesis and Characterization of Magnetite-Magnesium Sulphate-Sodium Dodecyl...Synthesis and Characterization of Magnetite-Magnesium Sulphate-Sodium Dodecyl...
Synthesis and Characterization of Magnetite-Magnesium Sulphate-Sodium Dodecyl...
GIFT KIISI NKIN12 views
MSC III_Advance Forensic Serology_Final.pptx by Suchita Rawat
MSC III_Advance Forensic Serology_Final.pptxMSC III_Advance Forensic Serology_Final.pptx
MSC III_Advance Forensic Serology_Final.pptx
Suchita Rawat10 views
domestic waste_100013.pptx by padmasriv25
domestic waste_100013.pptxdomestic waste_100013.pptx
domestic waste_100013.pptx
padmasriv2510 views
Pollination By Nagapradheesh.M.pptx by MNAGAPRADHEESH
Pollination By Nagapradheesh.M.pptxPollination By Nagapradheesh.M.pptx
Pollination By Nagapradheesh.M.pptx
MNAGAPRADHEESH12 views
Workshop Chemical Robotics ChemAI 231116.pptx by Marco Tibaldi
Workshop Chemical Robotics ChemAI 231116.pptxWorkshop Chemical Robotics ChemAI 231116.pptx
Workshop Chemical Robotics ChemAI 231116.pptx
Marco Tibaldi90 views
PRINCIPLES-OF ASSESSMENT by rbalmagro
PRINCIPLES-OF ASSESSMENTPRINCIPLES-OF ASSESSMENT
PRINCIPLES-OF ASSESSMENT
rbalmagro9 views
EVALUATION OF HEPATOPROTECTIVE ACTIVITY OF SALIX SUBSERRATA IN PARACETAMOL IN... by gynomark
EVALUATION OF HEPATOPROTECTIVE ACTIVITY OF SALIX SUBSERRATA IN PARACETAMOL IN...EVALUATION OF HEPATOPROTECTIVE ACTIVITY OF SALIX SUBSERRATA IN PARACETAMOL IN...
EVALUATION OF HEPATOPROTECTIVE ACTIVITY OF SALIX SUBSERRATA IN PARACETAMOL IN...
gynomark9 views
Guinea Pig as a Model for Translation Research by PervaizDar1
Guinea Pig as a Model for Translation ResearchGuinea Pig as a Model for Translation Research
Guinea Pig as a Model for Translation Research
PervaizDar111 views
RemeOs science and clinical evidence by PetrusViitanen1
RemeOs science and clinical evidenceRemeOs science and clinical evidence
RemeOs science and clinical evidence
PetrusViitanen114 views

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