natural deduction metalanguage, practical foundations
type theory (dependent, intensional, observational type theory, homotopy type theory)
computational trinitarianism =
propositions as types +programs as proofs +relation type theory/category theory
In full linear logic/linear type theory there is assumed a (comonadic) modality denoted “!” and called the exponential modality, whose role is, roughly, to give linear types also a non-linear interpretation. This is also called the “of course”-modality or the storage modality, and sometimes the “bang”-operation.
In classical linear logic (meaning with involutive de Morgan duality), the de Morgan dual of “!” is denoted “?” and called the “why not”-modality.
In categorical semantics of linear type theory the !-modality typically appears as a kind of Fock space construction. If one views linear logic as quantum logic (as discussed there), then this means that the !-modality produces free second quantization.
Everyone agrees that ! should be a comonad (and ? should be a monad), but there are different ways to proceed from there. The goal is to capture the syntactic rules allowing assumptions of the form $!A$ to be duplicated and discarded.
The original definition from Seely, adapted to the intuitionistic case and modernized, is:
Let $C$ be an symmetric monoidal category with cartesian products. A Seely comonad on $C$ is a comonad that is a strong monoidal functor from the cartesian monoidal structure to the symmetric monoidal structure, i.e. we have $!(A\times B)\cong !A \otimes !B$ and $!1\cong I$ coherently. (There is also an additional coherence axiom that should be imposed; see Mellies, section 7.3.)
(Note that in linear logic, the cartesian monoidal structure $\times$ is sometimes denoted by $\&$.) This implies that the Kleisli category of ! (i.e.\ the category of cofree !-coalgebras) is cartesian monoidal. If $C$ is closed symmetric monoidal then the Kleisli category of a cartesian closed category, which is a categorical version of the translation of intuitionistic logic into linear logic.
Of course, the above definition depends on the existence of the cartesian product. A different definition that doesn’t require the existence of $\times$ was given by Benton, Bierman, de Paiva, and Hyland:
Let $C$ be a symmetric monoidal category; a linear exponential comonad on $C$ is a lax monoidal comonad such that every cofree !-coalgebra naturally carries the structure of a comonoid object in the category of coalgebras (i.e. the cofree-coalgebra functor lifts to the category of comonoids in the category of coalgebras).
It follows automatically that all !-coalgebras are comonoids, and therefore that the category of all !-coalgebras (not just the cofree ones) is cartesian monoidal. Note that for a comonad on a poset, every coalgebra is free; thus the world of pure propositional “logic” doesn’t tell us whether to consider the Kleisli category or the Eilenberg-Moore category for the translation.
A more even-handed approach is the following (see Benton and Mellies), based on the observation that both Kleisli and Eilenberg-Moore categories are instances of adjunctions.
A linear-nonlinear adjunction is a monoidal adjunction $F : M \rightleftarrows L : G$ in which $L$ is symmetric monoidal and $M$ is cartesian monoidal. The induced !-modality is the comonad $F G$ on $L$.
This includes both of the previous definitions where $M$ is taken respectively to be the Kleisli category or the Eilenberg-Moore category of !. Conversely, in any linear-nonlinear adjunction the induced comonad $F G$ can be shown to be a linear exponential comonad. Moreover, if $!$ is a linear exponential comonad on a symmetric monoidal category $C$ with finite products, then the cofree !-coalgebra functor is a right adjoint and hence preserves cartesian products; but the cartesian products of coalgebras are the tensor product in $C$, so we have $!(A\times B) \cong !A \otimes !B$, the Seely condition.
For “classical” linear logic, we want $C$ to be not just (closed) symmetric monoidal but $\ast$-autonomous. If an $\ast$-autonomous category has a linear exponential comonad $!$ one can derive a ? from the ! by de Morgan duality, $?A = (!(A^*))^*$. The resulting relationship between ! and ? was axiomatized in a way not requiring the de Morgan duality by Blute, Cockett, and Seely:
Let $C$ be a linearly distributive category with tensor product $\otimes$ and cotensor product $\parr$. A (!,?)-modality on $C$ consists of:
Here a functor $F$ is strong with respect to a lax monoidal functor $G$ if there is a natural transformation $F A \otimes G B \to F(A\otimes G B)$ satisfying some natural axioms, and we similarly require compatibility of the monad and comonad structure transformations. BCS showed that if $C$ is in fact $\ast$-autonomous, it follows from the above definition that $?A = (!(A^*))^*$ as expected.
Suppose $F : M \rightleftarrows C : G$ is a linear-nonlinear adjunction, where $C$ is closed symmetric monoidal with finite limits and colimits, and $\bot\in C$ is an object. Then there is an induced linear-nonlinear adjunction $M \rightleftarrows Chu(C,\bot)$ where $Chu(C,\bot)$ is the Chu construction $Chu(C,\bot)$, which is $\ast$-autonomous with finite limits and colimits. Hence $Chu(C,\bot)$ admits a !-modality.
The embedding of $C$ in $Chu(C,\bot)$ as $A \mapsto (A, [A,\bot], ev)$ is coreflective: the coreflection of $(B^+, B^-, e_B)$ is $(B^+, [B^+,\bot], ev)$. Moreover, this subcategory is closed under the tensor product of $Chu(C,\bot)$, i.e. the embedding $C\hookrightarrow Chu(C,\bot)$ is strong monoidal, hence the adjunction is a monoidal adjunction. Therefore, the composite adjunction $M \rightleftarrows C \rightleftarrows Chu(C,\bot)$ is again a linear-nonlinear-adjunction.
Since a Chu construction is $\ast$-autonomous, this !-modality implies a dual ?-modality.
If $C$ is a cartesian closed category with finite limits and colimits and $\bot\in C$ is an object, then there is a linear-nonlinear adjunction $C \rightleftarrows Chu(C,\bot)$, and hence $Chu(C,\bot)$ admits a !-modality.
Apply the previous theorem to the identity adjunction $C\rightleftarrows C$.
Note that the !-modality obtained from the corollary is idempotent, while that obtained from the theorem is idempotent if and only if the original one was. Other ways of constructing !-modalities, such as by cofree coalgebras, may produce examples that are not idempotent.
Girard’s original presentation of linear logic involved rules that explicitly assumed the presence of $!$ on hypotheses or on entire contexts, such as weakening and contraction:
and “promotion”:
If this is translated into a natural deduction style term calculus, the resulting rules are more complicated than those of most type formers. This can be avoided using adjoint type theory with two context zones, one “nonlinear” one where contraction and weakening are permitted (and admissible) and one “linear” one where they are not, with $!$ as a modality relating the two zones.
Such a “modal” presentation of linear logic was first introduced by Girard in his work on LU? and then developed by a number of other people such as Plotkin, Wadler, Benton, and Barber. See the references for details.
This presentation also generalizes naturally to dependent linear type theory, with the nonlinear type theory being dependent, and the linear types depending on the nonlinear ones but nothing depending on linear types. In this context, the $!$-modality decomposes into “context extension” and a “dependent sum”.
The semantics of ! as a comonad is discussed in:
R. A. G. Seely, Linear logic, $\ast$-autonomous categories and cofree coalgebras, Contemporary Mathematics 92, 1989. (pdf, ps.gz)
Nick Benton, Gavin Bierman, Valeria de Paiva, Martin Hyland, Linear lambda-Calculus and Categorical Models Revisited (1992), citeseer
R. F. Blute , J. R. B. Cockett and R. A. G. Seely. ! and ? – Storage as tensorial strength doi, pdf
Paul-André Melliès, Categorical semantics of linear logic, 2009. pdf
Martin Hyland and Andreas Schalk, Glueing and orthogonality for models of linear logic, pdf
Construction of such comonads based on cofree comonoids can be found in (among other places):
Mellies and Tabareau and Tasson, An explicit formula for the free exponential modality of linear logic. Mathematical Structures in Computer Science, 28(7), 1253-1286. doi:10.1017/S0960129516000426
Sergey Slavnov, On Banach spaces of sequences and free linear logic exponential modality, Math. Struct. Comp. Sci. 29 (2019) 215-242, arxiv
The relation to Fock space is discussed in:
Richard Blute, Prakash Panangaden, R. A. G. Seely, Fock Space: A Model of Linear Exponential Types (1994) (web, pdf)
Marcelo Fiore, Differential Structure in Models of Multiplicative Biadditive Intuitionistic Linear Logic, Lecture Notes in Computer Science Volume 4583, 2007, pp 163-177 (pdf)
Jamie Vicary, A categorical framework for the quantum harmonic oscillator, International Journal of Theoretical Physics December 2008, Volume 47, Issue 12, pp 3408-3447 (arXiv:0706.0711)
(in the context of finite quantum mechanics in terms of dagger-compact categories)
The interpretation of $\Omega^\infty \Sigma^\infty_+$ as an exponential in the context of Goodwillie calculus is due to
based on
The modal approach to a term calculus for the $!$-modality can be found in:
Jean-Yves Girard. On the unity of logic. Annals of Pure and Applied Logic, 59:201-217, 1993.
G. Plotkin. Type theory and recursion. In Proceedings of the Eigth Symposium of Logic in Computer Science, Montreal , page 374. IEEE Computer Society Press, 1993.
N. Benton. A mixed linear and non-linear logic; proofs, terms and models. In Proceedings of Computer Science Logic ‘94, number 933 in LNCS. Verlag, June 1995.
Philip Wadler. A syntax for linear logic. In Ninth International Coference on the Mathematical Foundations of Programming Semantics , volume 802 of LNCS . Springer Verlag, April 1993
Andrew Barber, Dual Intuitionistic Linear Logic, Technical Report ECS-LFCS-96-347, University of Edinburgh, Edinburgh (1996), web
A quantum programming language based on this linear/non-linear type theory adunction is QWIRE:
theoretical background:
applied to verified programming after implementation in Coq:
and using ambient homotopy type theory: