Behavioral Types and Logical Frameworks An Introduction
Carsten Sch¨ urmann IT University of Copenhagen
carsten@demtech.dk
March 7, 2019
March 7, 2019 1 / 41
Behavioral Types and Logical Frameworks An Introduction Carsten Sch - - PowerPoint PPT Presentation
Behavioral Types and Logical Frameworks An Introduction Carsten Sch urmann IT University of Copenhagen carsten@demtech.dk March 7, 2019 March 7, 2019 1 / 41 Motivation Buzzwords Concurrency Linear Logic Delegation
carsten@demtech.dk
March 7, 2019 1 / 41
◮ Concurrency ◮ Linear Logic ◮ Delegation ◮ Services ◮ Security
March 7, 2019 2 / 41
March 7, 2019 3 / 41
◮ More than one agent involved ◮ It is difficult to capture the invariant of such a system ◮ The “type” needs to capture the protocol of how messages are exchanged.
March 7, 2019 3 / 41
March 7, 2019 4 / 41
March 7, 2019 5 / 41
◮ Concurrency Theory
◮ Logic
◮ Programming Languages
March 7, 2019 6 / 41
March 7, 2019 7 / 41
March 7, 2019 7 / 41
March 7, 2019 7 / 41
March 7, 2019 7 / 41
◮ Multi-formula premisses ◮ Multi-formula conclusions ◮ Multi-set rewriting
March 7, 2019 7 / 41
◮ Forward-Chaining Search ◮ Runs until quiescence ◮ All truth is ephemeral
March 7, 2019 8 / 41
March 7, 2019 9 / 41
1 Linear Logic 2 Session Types -as- Judgments 3 Adding Choice 4 Substructual Logical Framework CLF 5 Programming with Session Types 6 Demo 7 Conclusion and Future Work
March 7, 2019 10 / 41
Linear Logic March 7, 2019 11 / 41
Linear Logic March 7, 2019 12 / 41
Linear Logic March 7, 2019 12 / 41
◮ Cut-Elimination guarantees proof normalization ◮ Focusing limits proofs but not provability
Linear Logic March 7, 2019 12 / 41
Linear Logic March 7, 2019 13 / 41
Linear Logic March 7, 2019 14 / 41
Session Types -as- Judgments March 7, 2019 15 / 41
◮ Making Linear Logic practical ◮ τ ranges over strings, integers, ...
Session Types -as- Judgments March 7, 2019 16 / 41
◮ Making Linear Logic practical ◮ τ ranges over strings, integers, ...
Session Types -as- Judgments March 7, 2019 16 / 41
Session Types -as- Judgments March 7, 2019 17 / 41
◮ B aka buyer ◮ S aka seller ◮ Denote the derivation of the judgment
Session Types -as- Judgments March 7, 2019 18 / 41
Session Types -as- Judgments March 7, 2019 19 / 41
Adding Choice March 7, 2019 20 / 41
Adding Choice March 7, 2019 21 / 41
Adding Choice March 7, 2019 21 / 41
Adding Choice March 7, 2019 22 / 41
Substructual Logical Framework CLF March 7, 2019 23 / 41
Lambek Logic Linear Logic Affine Logic Relevant Logic Intuitionistic Logic
Substructual Logical Framework CLF March 7, 2019 24 / 41
OLF LLF/CLF LF
Substructual Logical Framework CLF March 7, 2019 25 / 41
◮ In LLF order matters
◮ In CLF order does not matter
Substructual Logical Framework CLF March 7, 2019 26 / 41
◮ Proof search
◮ All terms are equal modulo interleavings ◮ No leftovers in the multi-set allowed ◮ Lollimon
◮ Focusing
Substructual Logical Framework CLF March 7, 2019 27 / 41
◮ Focused version of Linear Logic
◮ Conservative Extension of LF
◮ Types:
◮ Kinds:
Substructual Logical Framework CLF March 7, 2019 28 / 41
Substructual Logical Framework CLF March 7, 2019 29 / 41
Substructual Logical Framework CLF March 7, 2019 30 / 41
Substructual Logical Framework CLF March 7, 2019 31 / 41
Programming with Session Types March 7, 2019 32 / 41
Programming with Session Types March 7, 2019 33 / 41
Programming with Session Types March 7, 2019 33 / 41
Programming with Session Types March 7, 2019 33 / 41
∗
∗
Programming with Session Types March 7, 2019 34 / 41
Programming with Session Types March 7, 2019 35 / 41
Programming with Session Types March 7, 2019 36 / 41
Programming with Session Types March 7, 2019 37 / 41
Demo March 7, 2019 38 / 41
Demo March 7, 2019 39 / 41
Conclusion and Future Work March 7, 2019 40 / 41
◮ The logical framework community has developed tools useful for
◮ Equational theory of the logical framework hides commutative cuts, when
◮ We are currently working on extensions to multi-party session types.
Conclusion and Future Work March 7, 2019 41 / 41