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 )

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend