Categorical Semantics for Linear Logic Wolfgang Jeltsch Linear logic Categorical Semantics for Linear Logic Categorical semantics for linear logic Interaction Wolfgang Jeltsch between linear and non-linear Based on work by Nick Benton (1994) logic References TT¨ U K¨ uberneetika Instituut Teooriaseminar 18 Juni 2013
Categorical Semantics for Linear Logic Wolfgang Jeltsch 1 Linear logic Linear logic Categorical semantics 2 Categorical semantics for linear logic for linear logic Interaction between linear 3 Interaction between linear and non-linear logic and non-linear logic References 4 References
Categorical Semantics for Linear Logic Wolfgang Jeltsch 1 Linear logic Linear logic Categorical semantics 2 Categorical semantics for linear logic for linear logic Interaction between linear 3 Interaction between linear and non-linear logic and non-linear logic References 4 References
Categorical Semantics Linear logic for Linear Logic Wolfgang Jeltsch Linear logic Categorical semantics for linear logic • useful for reasoning about resources Interaction between linear • each proposition must be used exactly once in a proof and non-linear logic • very different from the normal understanding of logic References • classical and intuitionistic variant • in this talk, only intuitionistic linear logic
Categorical Semantics Linear logic formulas for Linear Logic Wolfgang Jeltsch • language: Linear logic Categorical semantics F ::= F ⊗ F | 1 | F & F | ⊤ | F ⊕ F | 0 | F ⊸ F | ! F for linear logic Interaction • meanings: between linear and non-linear α ⊗ β α and β hold simultaneously logic References 1 nothing holds α & β α and β hold (not necessarily simultaneously) ⊤ tautology α ⊕ β α or β holds 0 absurdity α ⊸ β if α holds in addition, then β holds ! α α holds arbitrarily often
Categorical Semantics Linear logic example for Linear Logic Wolfgang • atomic propositions: Jeltsch e I have one euro. Linear logic s / p / i I get a soup/a pancake/an icecream. Categorical • derived propositions: semantics for linear logic • For four euros, I get a soup and a pancake: Interaction between linear and non-linear e ⊗ e ⊗ e ⊗ e ⊸ s ⊗ p logic References • For two euros, I get a soup or a pancake (my choice): e ⊗ e ⊸ s & p • For two euros, I get a pancake or an icecream (cafeteria’s choice): e ⊗ e ⊸ p ⊕ i • I am the central bank: ! e
Categorical Semantics Linear λ -calculus for Linear Logic • the Curry–Howard analog of intuitionistic linear logic Wolfgang Jeltsch • values have to be used exactly once: Linear logic • a value can represent the current state of an object Categorical • changes to the state (destructive updates) expressible semantics for linear logic as pure functions Interaction • some functions with destructive updates: between linear and non-linear • array update: logic References ι ⊗ α ⊗ Array ι α ⊸ Array ι α • opening a file: FileName ⊗ World ⊸ File ⊗ World • writing to an opened file: String ⊗ File ⊸ File • closing a file: File ⊗ World ⊸ World
Categorical Semantics for Linear Logic Wolfgang Jeltsch 1 Linear logic Linear logic Categorical semantics 2 Categorical semantics for linear logic for linear logic Interaction between linear 3 Interaction between linear and non-linear logic and non-linear logic References 4 References
Categorical Semantics Products and coproducts for Linear Logic Wolfgang Jeltsch • intuitionistic (non-linear) logic: Linear logic • finite products for ∧ and ⊤ Categorical • finite coproducts for ∨ and ⊥ semantics for linear logic • intuitionistic linear logic: Interaction • finite products for & and ⊤ between linear and non-linear • finite coproducts for ⊕ and 0 logic • seems strange that ∧ / ⊤ and &/ ⊤ are modeled by the same References constructions, although they denote quite different things • however, analogous statements hold for ∧ / ⊤ and &/ ⊤ : α ⊢ α ∧ α α ⊢ α & α α ∧ β ⊢ α α & β ⊢ α α ⊢ ⊤ α ⊢ ⊤
Categorical Semantics Symmetric monoidal structure for Linear Logic Wolfgang Jeltsch • axioms of ⊗ and 1: Linear logic • associativity of ⊗ : Categorical semantics ( α ⊗ β ) ⊗ γ ⊢ α ⊗ ( β ⊗ γ ) for linear logic α ⊗ ( β ⊗ γ ) ⊢ ( α ⊗ β ) ⊗ γ Interaction between linear and non-linear logic • commutativity of ⊗ : References α ⊗ β ⊢ β ⊗ α • 1 as neutral element: 1 ⊗ α ⊢ α α ⊢ 1 ⊗ α • symmetric monoidal structure for ⊗ and 1
Categorical Semantics Adjunctions for Linear Logic Wolfgang • non-linear logic: Jeltsch • cartesian closed structure for ∧ and → Linear logic • − B defined as right-adjoint of − × B Categorical • corresponds to equivalence of semantics for linear logic α ∧ β ⊢ γ Interaction between linear and non-linear and logic α ⊢ β → γ References • linear logic: • symmetric monoidal closed structure for ⊗ and ⊸ • B ⊸ − defined as right-adjoint of − ⊗ B • corresponds to equivalence of α ⊗ β ⊢ γ and α ⊢ β ⊸ γ
Categorical Semantics Structure for ! for Linear Logic Wolfgang • symmetric lax monoidal functor structure: Jeltsch Linear logic ! α ⊗ ! β ⊢ !( α ⊗ β ) Categorical semantics 1 ⊢ !1 for linear logic Interaction between linear • comonad structure: and non-linear logic ! α ⊢ α References ! α ⊢ !! α • commutative comonoid structure: ! α ⊢ ! α ⊗ ! α ! α ⊢ 1 • some additional coherence conditions
Categorical Semantics for Linear Logic Wolfgang Jeltsch 1 Linear logic Linear logic Categorical semantics 2 Categorical semantics for linear logic for linear logic Interaction between linear 3 Interaction between linear and non-linear logic and non-linear logic References 4 References
Categorical Semantics Linear and non-linear models for Linear Logic Wolfgang • for now: Jeltsch • non-linear logic with only ∧ , ⊤ , and → Linear logic • linear logic with only ⊗ , 1, and ⊸ Categorical • categorical models: semantics for linear logic non-linear logic cartesian closed category: Interaction between linear and non-linear ( C , × , 1 , → ) logic References linear logic symmetric monoidal closed category: ( L , ⊗ , I , ⊸ ) • beware: proposition ⊤ ˆ = object 1 proposition 1 ˆ = object I
Categorical Semantics Interaction for Linear Logic Wolfgang Jeltsch • symmetric lax monoidal adjunction ( F , ϕ, ψ ) ⊣ ( G , υ, ν ) Linear logic between ( L , ⊗ , I ) and ( C , × , 1): Categorical semantics • adjunction F ⊣ G between L and C : for linear logic Interaction F : C → L between linear and non-linear logic G : L → C References • ( F , ϕ, ψ ) and ( G , υ, ν ) are symmetric lax monoidal functors between ( L , ⊗ , I ) and ( C , × , 1): ϕ X , Y : FX ⊗ FY → F ( X × Y ) ψ : I → F 1 υ A , B : GA × GB → G ( A ⊗ B ) ν : 1 → GI • unit and counit of F ⊣ G are monoidal transformations
Categorical Semantics Isomorphisms for Linear Logic Wolfgang Theorem Jeltsch If ( F , ϕ, ψ ) ⊣ ( G , υ, ν ) is a lax monoidal adjunction, Linear logic then ϕ and ψ are isomorphisms. Categorical semantics • inverses: for linear logic Interaction ϕ − 1 between linear X , Y : F ( X × Y ) → FX ⊗ FY and non-linear logic ϕ − 1 X , Y = Φ − 1 ( υ FX , FY ◦ ( η X × η Y )) References ψ − 1 : F 1 → I ψ − 1 = Φ − 1 ( ν ) • closer relationship between × and ⊗ as well as 1 and I : FX ⊗ FY ∼ = F ( X × Y ) I ∼ = F 1
Categorical Semantics Derived structure for ! for Linear Logic • adjunction F ⊣ G gives rise to a comonad (! , ε, δ ): Wolfgang Jeltsch ! : L → L δ : FG → FGFG Linear logic Categorical ! = FG δ = F η G semantics for linear logic • symmetric monoidal functor structures for F and G Interaction between linear give rise to a symmetric monoidal functor structure for ! and non-linear logic • commutative comonoid structure can be derived: References ξ A : FGA → FGA ⊗ FGA ξ A = ϕ − 1 GA , GA ◦ F ∆ GA χ A : FGA → I χ A = ψ − 1 ◦ F ! GA • further coherence conditions follow
Categorical Semantics More structure for Linear Logic Wolfgang Jeltsch • more structure can be required: Linear logic • finite products in L for & and ⊤ : Categorical semantics for linear logic ( L , & , ⊤ ) Interaction between linear • finite coproducts in C for ∨ and ⊥ : and non-linear logic References ( C , + , 0) • finite coproducts in L for ⊕ and 0: ( L , ⊕ , 0) • no additional coherence conditions • interesting properties can still be derived
Categorical Semantics More isomorphisms for Linear Logic Wolfgang Jeltsch • right-adjoints preserve limits: Linear logic GA × GB ∼ Categorical = G ( A & B ) semantics 1 ∼ for linear logic = G ⊤ Interaction between linear • consequence: and non-linear logic References ! A ⊗ ! B ∼ = !( A & B ) I ∼ = ! ⊤ • left-adjoints preserve colimits: FX ⊕ FY ∼ = F ( X + Y ) 0 ∼ = F 0
Recommend
More recommend