session subtyping and multiparty compatibility using
play

Session Subtyping and Multiparty Compatibility using Circular - PowerPoint PPT Presentation

Session Subtyping and Multiparty Compatibility using Circular Sequents 31st International Conference on Concurrency Theory (CONCUR 2020) Adapted for Mobility Reading group 22/10/2020. Ross Horne Computer Science, University of Luxembourg 1-4


  1. Session Subtyping and Multiparty Compatibility using Circular Sequents 31st International Conference on Concurrency Theory (CONCUR 2020) Adapted for Mobility Reading group 22/10/2020. Ross Horne Computer Science, University of Luxembourg 1-4 September 2020

  2. Criticism 1: Deep Inference.

  3. Criticism 1: Deep Inference. “I must confess we were a little bit hampered by our lack of familiarity with the calculus of structures.”

  4. Criticism 1: Deep Inference. “I must confess we were a little bit hampered by our lack of familiarity with the calculus of structures.” The calculus of structures: Developed over the past 20 years. Enables the design of analytic proof systems for non-commutative logics. It’s novelty is the use of deep inference — rules can be applied in any context .

  5. Criticism 1: Deep Inference. “I must confess we were a little bit hampered by our lack of familiarity with the calculus of structures.” The calculus of structures: Developed over ⊢ C � T ⊗ ( U ` V ) � the past 20 years. Enables the design of analytic proof systems for non-commutative ⊢ C � ( T ⊗ U ) ` V � logics. It’s novelty is the use of deep inference — rules can be applied in any context .

  6. Criticism 1: Deep Inference. “I must confess we were a little bit hampered by our lack of familiarity with the calculus of structures.” The calculus of structures: Developed over ⊢ C � T ⊗ ( U ` V ) � the past 20 years. Enables the design of analytic proof systems for non-commutative ⊢ C � ( T ⊗ U ) ` V � logics. It’s novelty is the use of deep inference — rules can be applied in any context . The sequent calculus: The original analytic proof calculus of Gentzen. Published in 1934, so is widely understood. Rules are applied to the root connective of a formula selected from a sequence of formulae.

  7. Criticism 1: Deep Inference. “I must confess we were a little bit hampered by our lack of familiarity with the calculus of structures.” The calculus of structures: Developed over ⊢ C � T ⊗ ( U ` V ) � the past 20 years. Enables the design of analytic proof systems for non-commutative ⊢ C � ( T ⊗ U ) ` V � logics. It’s novelty is the use of deep inference — rules can be applied in any context . The sequent calculus: The original analytic proof calculus of Gentzen. Published in ⊢ T , U , Γ ⊢ T , Γ ⊢ U , ∆ 1934, so is widely understood. Rules are applied to the root connective of a formula ⊢ T ` U , Γ ⊢ T ⊗ U , Γ , ∆ selected from a sequence of formulae.

  8. [T imes ] [P ar ] [OK] T , U , Γ ⊢ T , Γ 1 ⊢ U , Γ 2 ⊢ OK , OK , . . . OK ⊢ T ⊗ U , Γ ⊢ T ` U , Γ 1 , Γ 2 ⊢

  9. [T imes ] [P ar ] [OK] T , U , Γ ⊢ T , Γ 1 ⊢ U , Γ 2 ⊢ OK , OK , . . . OK ⊢ T ⊗ U , Γ ⊢ T ` U , Γ 1 , Γ 2 ⊢ [J oin ] [M eet ] ! λ j ; T j , Γ ⊢ for all j ∈ I ? λ j ; T j , Γ ⊢ for some j ∈ I � � ! λ j ; T i , Γ ⊢ ? λ j ; T i , Γ ⊢ i ∈ I i ∈ I [P refix ] T , U , Γ ⊢ ! λ ; T , ? λ ; U , Γ ⊢

  10. [T imes ] [P ar ] [OK] T , U , Γ ⊢ T , Γ 1 ⊢ U , Γ 2 ⊢ OK , OK , . . . OK ⊢ T ⊗ U , Γ ⊢ T ` U , Γ 1 , Γ 2 ⊢ [J oin ] [M eet ] ! λ j ; T j , Γ ⊢ for all j ∈ I ? λ j ; T j , Γ ⊢ for some j ∈ I � � ! λ j ; T i , Γ ⊢ ? λ j ; T i , Γ ⊢ i ∈ I i ∈ I [P refix ] T , U , Γ ⊢ ! λ ; T , ? λ ; U , Γ ⊢ [I ntr ] T k , U k , Γ ⊢ I ⊆ J for all k ∈ I � � ! λ i ; T i , ? λ j ; U j , Γ ⊢ i ∈ I j ∈ J

  11. Criticism 2: Session type systems should feature recursion. 1 1 Thanks to discussions with Mariangiola Dezani-Ciancaglini and Paola Giannini.

  12. Criticism 2: Session type systems should feature recursion. 1 Observation 1: Most session calculi are restricted to a regular setting — a bounded number of single threaded participants. 1 Thanks to discussions with Mariangiola Dezani-Ciancaglini and Paola Giannini.

  13. Criticism 2: Session type systems should feature recursion. 1 Observation 1: Most session calculi are restricted to a regular setting — a bounded number of single threaded participants. Observation 2: In the regular setting, we can use equirecursion from type theory — fixed points are equivalent to their infinite unfoldings. 1 Thanks to discussions with Mariangiola Dezani-Ciancaglini and Paola Giannini.

  14. Criticism 2: Session type systems should feature recursion. 1 Observation 1: Most session calculi are restricted to a regular setting — a bounded number of single threaded participants. Observation 2: In the regular setting, we can use equirecursion from type theory — fixed points are equivalent to their infinite unfoldings. Observation 3: In proof theory, such regular recursive proofs are circular proofs . 1 Thanks to discussions with Mariangiola Dezani-Ciancaglini and Paola Giannini.

  15. Criticism 2: Session type systems should feature recursion. 1 Observation 1: Most session calculi are restricted to a regular setting — a bounded number of single threaded participants. Observation 2: In the regular setting, we can use equirecursion from type theory — fixed points are equivalent to their infinite unfoldings. Observation 3: In proof theory, such regular recursive proofs are circular proofs . Design choice: Apply an algorithmic approach to equirecursive subtyping, due to Pierce and Sangiorgi, to make proofs in the sequent calculus circular. [F ix - µ ] [L eaf ] � µ t . T / � [Θ ] [ µ t . T , Γ] T , Γ ⊢ t [Θ ] [ Γ] Γ ⊢ [Θ] µ t . T , Γ ⊢ 1 Thanks to discussions with Mariangiola Dezani-Ciancaglini and Paola Giannini.

  16. An Example µ u . (? λ 1 ; u ) ⊗ µ v . (? λ 2 ; v ) ⊗ µ t . (! λ 1 ; t ∨ ! λ 2 ; t ) ⊢ [ T imes ] Abbreviations :

  17. An Example [ F ix - µ ] U , V , T ⊢ µ u . (? λ 1 ; u ) ⊗ µ v . (? λ 2 ; v ) ⊗ µ t . (! λ 1 ; t ∨ ! λ 2 ; t ) ⊢ [ T imes ] Abbreviations : U = µ u . (? λ 1 ; u ) V = µ v . (? λ 2 ; v ) T = µ t . (! λ 1 ; t ∨ ! λ 2 ; t )

  18. An Example [ J oin ] [Γ] U , V , ! λ 1 ; T ∨ ! λ 2 ; T ⊢ [ F ix - µ ] U , V , T ⊢ µ u . (? λ 1 ; u ) ⊗ µ v . (? λ 2 ; v ) ⊗ µ t . (! λ 1 ; t ∨ ! λ 2 ; t ) ⊢ [ T imes ] Abbreviations : U = µ u . (? λ 1 ; u ) V = µ v . (? λ 2 ; v ) T = µ t . (! λ 1 ; t ∨ ! λ 2 ; t ) Γ = U , V , T

  19. An Example [ F ix - µ ] [ F ix - µ ] [Γ] U , V , ! λ 1 ; T ⊢ [Γ] U , V , ! λ 2 ; T ⊢ [ J oin ] [Γ] U , V , ! λ 1 ; T ∨ ! λ 2 ; T ⊢ [ F ix - µ ] U , V , T ⊢ µ u . (? λ 1 ; u ) ⊗ µ v . (? λ 2 ; v ) ⊗ µ t . (! λ 1 ; t ∨ ! λ 2 ; t ) ⊢ [ T imes ] Abbreviations : U = µ u . (? λ 1 ; u ) V = µ v . (? λ 2 ; v ) T = µ t . (! λ 1 ; t ∨ ! λ 2 ; t ) Γ = U , V , T

  20. An Example [ Γ] ? λ 1 ; U , V , ! λ 1 ; T ⊢ [ P refix ] [ Γ] U , ? λ 2 ; V , ! λ 2 ; T ⊢ [ P refix ] [Γ ′ ] [Γ ′′ ] [ F ix - µ ] [ F ix - µ ] [Γ] U , V , ! λ 1 ; T ⊢ [Γ] U , V , ! λ 2 ; T ⊢ [ J oin ] [Γ] U , V , ! λ 1 ; T ∨ ! λ 2 ; T ⊢ [ F ix - µ ] U , V , T ⊢ µ u . (? λ 1 ; u ) ⊗ µ v . (? λ 2 ; v ) ⊗ µ t . (! λ 1 ; t ∨ ! λ 2 ; t ) ⊢ [ T imes ] Abbreviations : U = µ u . (? λ 1 ; u ) V = µ v . (? λ 2 ; v ) T = µ t . (! λ 1 ; t ∨ ! λ 2 ; t ) Γ = U , V , T Γ ′ = U , V , ! λ 1 ; T Γ ′′ = U , V , ! λ 2 ; T

  21. An Example [ Γ] Γ ⊢ [ L eaf ] [ Γ] Γ ⊢ [ L eaf ] [Γ ′ ] [Γ ′′ ] [ Γ] ? λ 1 ; U , V , ! λ 1 ; T ⊢ [ P refix ] [ Γ] U , ? λ 2 ; V , ! λ 2 ; T ⊢ [ P refix ] [Γ ′ ] [Γ ′′ ] [ F ix - µ ] [ F ix - µ ] [Γ] U , V , ! λ 1 ; T ⊢ [Γ] U , V , ! λ 2 ; T ⊢ [ J oin ] [Γ] U , V , ! λ 1 ; T ∨ ! λ 2 ; T ⊢ [ F ix - µ ] U , V , T ⊢ µ u . (? λ 1 ; u ) ⊗ µ v . (? λ 2 ; v ) ⊗ µ t . (! λ 1 ; t ∨ ! λ 2 ; t ) ⊢ [ T imes ] Abbreviations : U = µ u . (? λ 1 ; u ) V = µ v . (? λ 2 ; v ) T = µ t . (! λ 1 ; t ∨ ! λ 2 ; t ) Γ = U , V , T Γ ′ = U , V , ! λ 1 ; T Γ ′′ = U , V , ! λ 2 ; T

  22. An Example [ Γ] Γ ⊢ [ L eaf ] [ Γ] Γ ⊢ [ L eaf ] [Γ ′ ] [Γ ′′ ] [ Γ] ? λ 1 ; U , V , ! λ 1 ; T ⊢ [ P refix ] [ Γ] U , ? λ 2 ; V , ! λ 2 ; T ⊢ [ P refix ] [Γ ′ ] [Γ ′′ ] [ F ix - µ ] [ F ix - µ ] [Γ] U , V , ! λ 1 ; T ⊢ [Γ] U , V , ! λ 2 ; T ⊢ [ J oin ] [Γ] U , V , ! λ 1 ; T ∨ ! λ 2 ; T ⊢ [ F ix - µ ] U , V , T ⊢ µ u . (? λ 1 ; u ) ⊗ µ v . (? λ 2 ; v ) ⊗ µ t . (! λ 1 ; t ∨ ! λ 2 ; t ) ⊢ [ T imes ] Abbreviations : U = µ u . (? λ 1 ; u ) V = µ v . (? λ 2 ; v ) T = µ t . (! λ 1 ; t ∨ ! λ 2 ; t ) Γ = U , V , T Γ ′ = U , V , ! λ 1 ; T Γ ′′ = U , V , ! λ 2 ; T Multiparty Compatibility: Proves the following threads are multiparty compatible. µ Y . (? λ 1 ; Y ) � µ Z . (? λ 2 ; Z ) � µ X . (! λ 1 ; X ⊕ ! λ 2 ; X )

Recommend


More recommend