 Hello everybody following this MFPS talk, my name is Christine Tasson and I would like to thank the organizer of MFPS for organizing this conference, this online conference and for the invitation. So today I will present a joint work with Martina Island which is on the linear non-linear substitution monad and if you are interested in knowing more on this work you can have a look at our archive paper. We get interested in this subject by discussing on what is model, what is the axiomatization of differential lambda calculus. So I will start by presenting this work that was introduced by Erard and Rény. When they were looking at semantics of linear logic they observed that in some models made of topological vector spaces and smooth functions there is a differentiation operator and if there is a differentiation operator in the semantics there might be a differentiation operator in the same syntax that behaves well and the question is what is its signification, what is its meaning. So the differential lambda calculus is an extension of the standard lambda calculus with a differentiation operator that is a kind of linear application and that corresponds to the derivation in standard mathematics. If we have a look at reduction beta reduction is for the usual abstraction so for instance if we have an abstraction applied to term n the beta reduction will replace every occurrence of x by n and there is no more binding by x at the end of the reduction. Now if we look at the differential application the reduction is a little bit different because we will read the idea is to replace only one exactly one occurrence of x in term m n by n. Okay so here if I want to replace only one occurrence of x in n I have to choose one and to replace it by n and I keep the other occurrences of x and the binding of this variable because I can make different choices for substituting one variable I have to add some additive structure to my calculus to be able to superpose the different choices non-deterministically different choices of variables that I replace. So this has to be compared to the linear approximation of a non-linear function. Now on we were interested in understanding what is the axiomatization of the differential lambda calculus and there are some categorical axiomatization. So we start from a model of lambda calculus which is a Cartesian closed category. We add some additive structure to interpret this non-deterministic choice and then we add a differential operator. The role of the differential operator is to take a morphism from a to b and to compute new morphism from a cross a to b which is mimicking the differential operator but here you know that there is a variable x which is non-linear and another one u which is linear and we have to ensure that it is the same for this differential operator but we have no tool to say that this variable a this type a is linear so one way to do that is to say that the differential operator applied to f commutes on the left hand side with the the additive structure but I think that it is not necessary to to use the additive structure to ensure linearity. So if we want to speak of linear variables and non-linear variables we can go back to linear logic in which the idea is to annotate non-linear types with a shriek. Then in linear logic you have two kinds of types the one that are annotated which are non-linear and the one that are not annotated which are linear. So now a differential category is a model of linear logic that is a symmetric monoidal closed category together with a co-algebra modality that gives rise to a co-commutative common rate and we have to ask for an additive structure for interpreting the non-deterministic choice and we have to add a so a deriving a transformation that will transform a morphism from a to b that is understood in linear logic as a morphism a linear morphism from shriek a to b into a morphism from linear a turns shriek a that is non-linear a to b by pre-composing by this derivation transformation. Okay that's the problem here is that when we add this shriek it can appear everywhere because it is a common ad on our basic categories. So we could have morphism from bong a turns bong b turns bong c turns d to bong a. So here we don't we are not able to recognize what are the linear variables and the non-linear ones because there are shriek at different places and here what is the meaning of non-linear variables at the result of the morphism. So to to avoid this problem we can use a different approach in which the shriek is hidden and for this we can use the term calculus for inter-synistic linear logic which was introduced in the 20s and in the sorry in the 20th century. And here I used the dual inter-synistic linear logic presentation that judgments are made of two different contexts one for the linear types and one for the non-linear types and a term can have any type. So there are three types of rules the first the first group of rule is standard for multiplicative linear logic if we just get rid of delta which is which stands for the non-linear context then we just have a multiplicative linear logic. So what do those do these rules say? The first one is an axiom if I have a linear variable then I can just get a linear term a term type. I have an abstraction that takes a linear variable here and transform it to an abstraction of type A linear B and I have a linear application which will concatenate the the context. Okay now for the non-linear group if we get rid of gamma here of the non-linear of the linear part sorry then it is just simply typed lambda calculus. Okay and what does it say? It says that from a non-linear type I can deduce a linear type and if I have a non-linear variable then I can just compute an abstraction and I have the standard application. Notice that here there is this delta here and delta here are contracted. So this axiom here because of the presence of delta means that we have weakening and this application here because delta is contracted means that we have contraction. Notice also that here I first term to have a non-linear variable it is to avoid repeating linear variables and now I have a last rule which is a linear non-linear rule and which says that if I know how to type a term t with a linear variable x that means that t has only one exactly one occurrence of x in it. Okay so if I know how to type t with this linear variable then I can fit it with a non-linear variable because x appears only once in t and it's not a problem for non-linear variables to appear zero times once or many times. So here we have a version of linear logic without the shriek and we want to inspire our axiomatization from this presentation and to do that we have to we have to move from categorical axiomatization to multi-categorical axiomatization. So let's have a look at on what is a categorical axiomatization in a category x which is equipped with the right structure either symmetric monoidal closed category or Cartesian closed category types are interpreted as objects and terms are interpreted as morphisms but to have a morphism which takes into account the context I have to turn the context which is a sequence of type into an object of the category that is why I need to have constructions constructions such that tons of product or Cartesian products so in multiplicative linear logic a proof or term will be interpreted as a morphism from the tons of product of the types to C and in lambda calculus it will be interpreted as a morphism from the Cartesian product to C. What we want to do is to replace this tons of product and Cartesian product with a multi-category which defines the interpretation of terms as multi-morphisms so I don't have to turn this context into an object of my category so in a multi-category types are interpreted as objects in the category and terms are interpreted as multi-morphisms and it is a structure of the multi-category which will tell me what is the structure of the context so in a symmetric multi-category I will interpret a multiplicative linear logic proof and in a Cartesian multi-category I will interpret lambda calculus there. But in order to express how to describe the context Cartesian context with weakening and contraction or symmetric monoidal context with just the exchange I have to to describe multi-categories with a fancy presentation using distributors combined with a monad that describes the context. So to to be able to describe these multi-categories I have to introduce some some constructions which are distributors, classi by category and monads and two monads and I start from the well-known category of sets and relations because the category the two categories the back category of distributors which I call proof is a generation of real indeed a relation can be seen as a function from y cross x to 2 with the standard composition and a profanctor is is distributors from y up cross x to sets so I have replaced two by sets and the composition is a generalization when I would where I replace the existential quantifier sorry by this co-end and the wedge here by this Cartesian product. Okay so now a relation can a relation can also be seen as a function from x to the subsets of y so it is living in the classi category of the power set monad what I am saying there is that the real category can be in that identified with the classi category over the power set monad. Similarly a distributor can be seen as regarded as a function from x to a pre-shift of y where pre-shift is the pre-shift pseudomonad of on-cats and the by category proof is it can be seen as the classi by category induced by the this pre-shift pseudomonad on-cats. Okay so now I need something I need a tool to describe the context and for that I use monad so if I come back to the real setting I can see that the commutative monad which is generating finite multisets extends from set to rail. It is a monad on set and I can see it extend it to rail because there is a distributive law of the power set monad over the commutative monad in monad. Similarly a two monad t on-cats can be extended to proof to proof if there is a pseudos distributive law of the pre-shift pseudomonad over t and that is what we are using for describing multi-categories with special two monads for describing the context so we will use the two monad l which is acting on cats and which takes a category and computes the three symmetric monad l category and the monad n which is also two monad on-cats and which generates the three category with product. Okay so these two two monads are describing the context for multiplicative analogic m lambda calculus so a multi-category can be seen as a distributor in the class B category of the monad that we have extended to distributors so we can see m as a distributor from x to tx that is a distributor from tx up cross x to sets but we want to describe to interpret axioms and composition so we need to have a monadic structure on m that is an identity and a multi-composition so now if I come back to the axiomatization with a multi-category but now presented with distributors if I have this multi-category types are now interpreted as objects in x and terms are interpreted as elements of m but taken into account the context so let's have a look at the multiplicative linear logic interpretation so I choose for the two monad the the substitution two monad l which is generating the three symmetric monoidal category of x and I interpret a term with which is type in a linear context as a morphism a multimorphism with this type and in lambda calculus I choose m which is generating the three category with product over x and I interpret the term into my Cartesian multi-category which is multimorphism taking into account the type the non-linear types of my term t okay so now I know how to describe what is the axiomatization multiplicative linear logic and of lambda calculus but what I really want is to have the interpretation of a mixed linear non-linear calculus so I need to describe what is the correct substitution two monad t for mixed linear non-linear calculus and what are the three categories that are generated that that are the t-algebra so how can I mix the interpreted term with a mixed linear context and non-linear context so I know I have an idea of how to do that concretely because I know how to describe concretely concretely what are the objects of l of x there are sequences and morphisms are just bijections and sequence of morphisms and I know also how to describe n of x which is the three category with product over x and the objects are sequences okay but the morphisms are different they're made of functions and sequences of morphisms now I have an idea of what should be q which is the mixed linear non-linear substitution monad the objects are mixed sequences just has the context where we were looking at and the morphisms combine functions bijections and sequences of morphisms okay so the question now is how to construct q from l and m and for doing that I need to introduce or to study co-lax co-limits on a two category so what on our feed is that imagine we have a map in a two category which I call lambda and I can consider the co-lax co-limit which is a cocoon of this type so I have two maps to see and I have this two cell alpha this co-lax co-limits has two universal aspects one for the one cell and one for the two cells let's have a look on the one cell aspect the universal properties say that if I have another cocoon d with this structure f g and the two cell phi over lambda then I can factorize it so a morphism from c to d and if I take alpha followed by this unique morphism I get this cocoon okay and I have also two two cell aspects which say that if I have two co-cons which are correspond in correspondence then I have a correspondence between the two induced map from c to d okay now I have described this construction I can apply it to the map lambda from l to m remember l is the three symmetric monoidal two monads and n is the three category with product two monads and every category of product is a symmetric monoidal category and I can just compute the three category with product on a symmetric monoidal category that is why I have a map of monads between l and m so I can construct these co-lax co-limits in the two category of symmetric monoidal category because we want that our monad is a substitution monad for context has to to be symmetric monoidal in particular so let's have a look at these co-lax co-limits so I have this map lambda from lx to nx and I compute the the co-limit which is qx together with k l and alpha let's have a look at the concrete description of all these ingredients so we know that qx is made of sequences with two kinds of variables the linear ones on the left hand side and the non-linear ones on the right hand side lambda is taking a linear context so a sequence of linear types to a sequence of non-linear types living in mx k is taken linear types into a sequence of linear and non-linear types so we will put the linear types on the left hand side l is taking non-linear types and we put them into mixed linear non-linear context by putting them on the right hand side now we have these two two cell alpha so that there is typo here it's a morphism which takes a sequence in q it alpha is actually a morphism in in qx which takes sequence with only non-linear types and produce a sequence with the same types but by seeing them linearly so this morphism corresponds to this rule which is which can be deduced from the linear non-linear rule and which say well if i know how to type t with exactly x1 xl exactly one occurrence of x1 and xl then i can type t with non-linear variables even if i use them exactly once okay so now from the deconstruction and using one cell universality and two cell universality i can compute the properties of q of qx so first of all it is a symmetric monoidal category indeed i have computed my my conimit into the two category of symmetric monoidal category so the result is a symmetric monoidal category secondly it is nearly a Cartesian category what do i mean by this is that i can split it through the free category with product sorry here it should be with product so what is f doing it takes a linear non-linear context it puts everything in a non-linear context and then back to qx every types have been made in the non-linear side okay so intuitively f is taking mixed linear and non-linear things and it puts tricks everywhere behind it because it looks it looks at it at every types as a non-linear one and indeed f is a is a common add that is strictly monoidal and which is strictly idempotent so that means that we have a cell which is really important which is beta and which which is morphism in qx from a context with only non-linear variables to a context with both linear variables and non-linear variables again it is an instance of the linear non-linear rule which allows me to move linear variables into a non-linear side of the context okay so now what do i have i have computed a mixed non-linear context on each category x and i have described the structure of qx and from the universality of the co-limits i can prove that q is a two monodome cat and moreover i can describe what are the q-algebra uh what are the q-algebra what are the three uh well sorry what are what are the q-algebra so a q-algebra is a symmetric monoidal category with nearly Cartesian structure meaning that i can split so the Cartesian category and i have some currencies of course so this serum is a nice presentation of a more theoretical one which appears which appears in our paper but which is needed if we want to prove smoothly that q is a two monad and that its q-algebra have this structure okay so we are nearly done uh not really okay what we want to do is to model linear non-linear calculus so we are looking for a multi-category axiomatization that means that we need a q two monad q for describing the context so what we have done is that we have defined the two monad q on cats which describes the linear non-linear context and we have described its q-algebra but what we need to do now is to describe uh to describe what is a q multi-category going and to do that we need to extend q to a pseudo monad on the by category of distributors so how can we do that instead of extended directly q to a pseudo monad which is quite hard we use the equivalence presentation so distributive laws pseudo distributive laws and it is equivalent to prove that the pseudo the pseudo monad of pre-shifts if to pseudo q-algebras but the problem is when we apply the the pre-shift pseudo monad on l-algebra what we get is a pseudo l-algebra so l-algebra is symmetric strict monoidal category and what we get is just symmetric monoidal category and there is no way to have a coordinate here because in the universal property we need to have a unique map and it is not compatible with this weak city so how can we do that so we our idea is to start from our characterization of q-algebras and to deduce a pseudo version of of the q-algebras to see what are pseudo q-algebras and now we need to recover our faculty to to compute co-limits because our proof is based on this universality and on the co-limits so if we want to use the proof techniques that that we have developed we we need to to have a way to to to go back to a strict world and for that we can do power replacements that amounts to strictify the the the pseudo algebras in a world where we can compute co-limits but it's ongoing work and when we will have done that we will be back to describe what is the axiomatization of first mixed linear non-linear calculus and for that we'll need a closed structure that is to make two interpret abstract abstractions and we will follow the work of fiori plonkin and jury and the description of lambda calculus in the address and so the an orthogonal issue is the differential operator because we we don't really need the closed structure today to speak of differentiation so if we want to speak of the differentiation we need a derivation operator so remember in the differential linear logic that is the categorical axiomatization we have an operation transformation that goes from a and so uh trick a to trick linearity to trick a and what we want to have is to to include this derivation transformation transformation into our q multi-category context so a linear non-linear multi-map of type gamma non-linear b to c will have to be transformed by the derivation operator into a linear non-linear map with one occurrence of b which is linear and one occurrence of b which is non-linear and then the last ingredient would be to describe how this derivation operator acts with substitution and this is the channel which will induce an additive structure but what we believe is that we have a more primitive description of we will have a more primitive description of what it happens and a nice nice way to describe the linearity without referring the additive structure so I want to say thank you to to the to have a listen to the end of this talk and if you have questions or if you want to know more you can either ask them on the on slack or go to our archive paper thank you very much