Report

Share

•1 like•536 views

•1 like•536 views

Report

Share

Download to read offline

We present Hypersequent Classical Processes (HCP), a revised interpretation of the “Proofs as Processes” correspondence between linear logic and the π-calculus initially proposed by Abramsky [1994], and later developed by Bellin and Scott [1994], Caires and Pfenning [2010], and Wadler [2014], among others. HCP mends the discrepancies between linear logic and the syntax and observable semantics of parallel composition in the π-calculus, by conservatively extending linear logic to hyperenvironments (collections of environments, inspired by the hypersequents by Avron [1991]). Separation of environments in hyperenvironments is internalised by ⊗ and corresponds to parallel process behaviour. Thanks to this property, for the first time we are able to extract a labelled transition system (lts) semantics from proof rewritings. Leveraging the information on parallelism at the level of types, we obtain a logical reconstruction of the delayed actions that Merro and Sangiorgi [2004] formulated to model non-blocking I/O in the π-calculus. We define a denotational semantics for processes based on Brzozowski derivatives, and uncover that non-interference in HCP corresponds to Fubini’s theorem of double antiderivation. Having an lts allows us to validate HCP using the standard toolbox of behavioural theory. We instantiate bisimilarity and barbed congruence for HCP, and obtain a full abstraction result: bisimilarity, denotational equivalence, and barbed congruence coincide. Kokke, Wen, Fabrizio Montesi, and Marco Peressotti. "Better late than never: a fully-abstract semantics for classical processes." Proceedings of the ACM on Programming Languages 3.POPL (2019): 24. https://doi.org/10.1145/3290337

- 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