The Linear-Non-Linear Substitution Monad OWLS, 15 July 2020 Christine Tasson (tasson@irif.fr) Joint work with Martin Hyland at https://arxiv.org/abs/2005.09559 Institut de Recherche en Informatique Fondamentale
Roadmap: The linear-non-linear substitution monad Motivation: • Differential λ -calculus Goal: • Axiomatisation using generalized multicategories. Tool: • A colimit construction applied to combine 2-monads on Cat Results: • The colimit is a 2-monad. • Charaterization of its algebras. 1
Linear-non-linear substitution Substitutions in differential λ -calculus
Differential λ -Calculus (Ehrhard-Regnier 2003, Ehrhard 2018) Semantical observation: in quantitative models of Linear Logic, programs are interpreted by smooth functions, hence differentiation. Programs Functions M , N f , g Variable x x Variable Abstraction λ x . M f : x �→ f ( x ) Map Application f ◦ g : x �→ f ( g ( x ) ) Composition ( λ x . M ) N Differentiation D λ x . M · N u , x �→ Df x ( u ) Derivation 2
Linear and Non-Linear substitutions in Differential λ -calculus Linear approximation Substitution f(x) Df (u) ( λ x . M ) N → M [ x \ N ] x � ∂ M � D λ x . M · N → λ x . ∂ x · N x 3
Linear and Non-Linear substitutions in Differential λ -calculus Linear approximation Substitution f(x) Df (u) ( λ x . M ) N → M [ x \ N ] x � ∂ M � D λ x . M · N → λ x . ∂ x · N x 3
Linear-non-linear substitution Type system and term calculus
A term calculus for Linear-non-linear Logic (Benton-Bierman-de Paiva-Hyland 1993, Barber 1996) x 1 : a 1 , . . ., x ℓ : a ℓ | y 1 : b 1 , . . ., y n : b n ⊢ t : c � ����������������� �� ����������������� � � ������������������� �� ������������������� � Linear Non-Linear Γ , x : a | ∆ ⊢ t : b Linear rules: x : a | ∆ ⊢ x : a Γ | ∆ ⊢ λ x a . t : a ⊸ b Γ ′ | ∆ ⊢ t : a Γ | ∆ ⊢ s : a ⊸ b Γ , Γ ′ | ∆ ⊢ � s � t : b Γ | ∆ , x : a ⊢ t : b Non-linear rules: Γ | ∆ , x : b ⊢ x : b Γ | ∆ ⊢ λ x a . t : a → b Γ | ∆ ⊢ s : a → b · | ∆ ⊢ t : a Γ | ∆ ⊢ ( s ) t : b Γ , x : a | ∆ ⊢ t : b Linear-non-linear rule: Γ | ∆ , x : a ⊢ t : b 4
A term calculus for Linear-non-linear Logic (Benton-Bierman-de Paiva-Hyland 1993, Barber 1996) x 1 : a 1 , . . ., x ℓ : a ℓ | y 1 : b 1 , . . ., y n : b n ⊢ t : c � ����������������� �� ����������������� � � ������������������� �� ������������������� � Linear Non-Linear Γ , x : a | ∆ ⊢ t : b Linear rules: x : a | ∆ ⊢ x : a Γ | ∆ ⊢ λ x a . t : a ⊸ b Γ ′ | ∆ ⊢ t : a Γ | ∆ ⊢ s : a ⊸ b Γ , Γ ′ | ∆ ⊢ � s � t : b Γ | ∆ , x : a ⊢ t : b Non-linear rules: Γ | ∆ , x : b ⊢ x : b Γ | ∆ ⊢ λ x a . t : a → b Γ | ∆ ⊢ s : a → b · | ∆ ⊢ t : a Γ | ∆ ⊢ ( s ) t : b Γ , x : a | ∆ ⊢ t : b Linear-non-linear rule: Γ | ∆ , x : a ⊢ t : b 4
A term calculus for Linear-non-linear Logic (Benton-Bierman-de Paiva-Hyland 1993, Barber 1996) 4
A term calculus for Linear-non-linear Logic (Benton-Bierman-de Paiva-Hyland 1993, Barber 1996) x 1 : a 1 , . . ., x ℓ : a ℓ | y 1 : b 1 , . . ., y n : b n ⊢ t : c � ����������������� �� ����������������� � � ������������������� �� ������������������� � Linear Non-Linear Γ , x : a | ∆ ⊢ t : b Linear rules: x : a | ∆ ⊢ x : a Γ | ∆ ⊢ λ x a . t : a ⊸ b Γ ′ | ∆ ⊢ t : a Γ | ∆ ⊢ s : a ⊸ b Γ , Γ ′ | ∆ ⊢ � s � t : b Γ | ∆ , x : a ⊢ t : b Non-linear rules: Γ | ∆ , x : b ⊢ x : b Γ | ∆ ⊢ λ x a . t : a → b Γ | ∆ ⊢ s : a → b · | ∆ ⊢ t : a Γ | ∆ ⊢ ( s ) t : b Γ , x : a | ∆ ⊢ t : b Linear-non-linear rule: Γ | ∆ , x : a ⊢ t : b 4
A term calculus for Linear-non-linear Logic (Benton-Bierman-de Paiva-Hyland 1993, Barber 1996) 4
A term calculus for Linear-non-linear Logic (Benton-Bierman-de Paiva-Hyland 1993, Barber 1996) x 1 : a 1 , . . ., x ℓ : a ℓ | y 1 : b 1 , . . ., y n : b n ⊢ t : c � ����������������� �� ����������������� � � ������������������� �� ������������������� � Linear Non-Linear Γ , x : a | ∆ ⊢ t : b Linear rules: x : a | ∆ ⊢ x : a Γ | ∆ ⊢ λ x a . t : a ⊸ b Γ ′ | ∆ ⊢ t : a Γ | ∆ ⊢ s : a ⊸ b Γ , Γ ′ | ∆ ⊢ � s � t : b Γ | ∆ , x : a ⊢ t : b Non-linear rules: Γ | ∆ , x : b ⊢ x : b Γ | ∆ ⊢ λ x a . t : a → b Γ | ∆ ⊢ s : a → b · | ∆ ⊢ t : a Γ | ∆ ⊢ ( s ) t : b Γ , x : a | ∆ ⊢ t : b Linear-non-linear rule: Γ | ∆ , x : a ⊢ t : b 4
A term calculus for Linear-non-linear Logic (Benton-Bierman-de Paiva-Hyland 1993, Barber 1996) x 1 : a 1 , . . ., x ℓ : a ℓ | y 1 : b 1 , . . ., y n : b n ⊢ t : c � ����������������� �� ����������������� � � ������������������� �� ������������������� � Linear Non-Linear Γ , x : a ⊢ t : b MLL x : a ⊢ x : a ⊢ λ x a . t : a ⊸ b Γ Γ ′ Γ ⊢ s : a ⊸ b ⊢ t : a Γ , Γ ′ ⊢ � s � t : b ∆ , x : a ⊢ t : b λ -calculus ∆ , x : b ⊢ x : b ∆ ⊢ λ x a . t : a → b ∆ ⊢ s : a → b ∆ ⊢ t : a ∆ ⊢ ( s ) t : b 4
What is a model of substitution ? combining linearity and non-linearity
Axiomatic using Categories In a category X , equipped with the right structure (SMCC/ CCC) Types are interpreted as objects Contexts are interpreted as objects (products/tensors) Terms are interpreted as morphisms Substitution is interpreted as composition In Multiplicative Linear Logic, a proof is interpreted as a morphism x 1 : a 1 , . . ., x ℓ : a ℓ ⊢ t : c as a 1 ⊗ · · · ⊗ a ℓ ⊸ c . 5
Axiomatic using Categories In a category X , equipped with the right structure (SMCC/ CCC) Types are interpreted as objects Contexts are interpreted as objects (products/tensors) Terms are interpreted as morphisms Substitution is interpreted as composition In Multiplicative Linear Logic, a proof is interpreted as a morphism x 1 : a 1 , . . ., x ℓ : a ℓ ⊢ t : c as a 1 ⊗ · · · ⊗ a ℓ ⊸ c . 5
Axiomatic using Categories In a category X , equipped with the right structure (SMCC/ CCC) Types are interpreted as objects Contexts are interpreted as objects (products/tensors) Terms are interpreted as morphisms Substitution is interpreted as composition In λ -calculus, a term is interpreted as a morphism x 1 : b 1 , . . ., x n : b n ⊢ t : c as b 1 × · · · × b n → c . 5
Axiomatic using Categories In a category X , equipped with the right structure (SMCC/ CCC) Types are interpreted as objects Contexts are interpreted as objects (products/tensors) Terms are interpreted as morphisms Substitution is interpreted as composition In λ -calculus, a term is interpreted as a morphism x 1 : b 1 , . . ., x n : b n ⊢ t : c as b 1 × · · · × b n → c . 5
Axiomatic using Categories In a category X , equipped with the right structure (SMCC/ CCC) Types are interpreted as objects Contexts are interpreted as objects (products/tensors) Terms are interpreted as morphisms Substitution is interpreted as composition In λ -calculus, a term is interpreted as a morphism x 1 : b 1 , . . ., x n : b n ⊢ t : c as b 1 × · · · × b n → c . ! b 1 ⊗···⊗ ! b n ⊸ c 5
Axiomatic using Categories In a category X , equipped with the right structure (SMCC/ CCC) Types are interpreted as objects Contexts are interpreted as objects (products/tensors) Terms are interpreted as morphisms Substitution is interpreted as composition In λ -calculus, a term is interpreted as a morphism x 1 : b 1 , . . ., x n : b n ⊢ t : c as b 1 × · · · × b n → c . ! b 1 ⊗···⊗ ! b n ⊸ c In lnl λ -calculus, x 1 : a 1 , . . ., x ℓ : a ℓ | y 1 : b 1 , . . ., y n : b n ⊢ t : c as a 1 ⊗ · · · ⊗ a ℓ ⊗ ! b 1 ⊗ · · · ⊗ ! b n ⊸ c . 5
Axiomatic using generalized multicategories A multicategory is a set of operations: Together with identity and multicomposition: ⇒ 6
Axiomatic using generalized Multicategories In a multicategory Types are interpreted as objects Terms are interpreted as multi morphisms Substitution is interpreted as multi composition. 7
Axiomatic using generalized Multicategories In a multicategory Types are interpreted as objects Terms are interpreted as multi morphisms Substitution is interpreted as multi composition. In Multiplicative Linear Logic, a term is interpreted as a multimorphism in a symmetric multicategory: x 1 : a 1 , . . ., x ℓ : a ℓ ⊢ t : c denoted as a 1 , . . ., a ℓ ⊸ c . 7
Recommend
More recommend