% !TeX spellcheck = en_US \documentclass[10pt,a4paper]{article} \input{./header.tex} \title{Categorical semantics of the reduction of GATs to two-sorted GATs. \\[1ex] \large Notes on my 4.5-month internship at the Laboratoire d'Informatique de l'École Polytechnique (Palaiseau, France)} \hypersetup{pdftitle={Categorical semantics of the reduction of GATs to two-sorted GATs}} \author{Samy Avrillon, supervised by \\[1ex] Ambroise Lafont (LIX, Palaiseau, France)} \begin{document} \doparttoc \maketitle \hsep \tableofcontents \newpage \section{Introduction} \lipsum[7-9] \section{Content} Plan \begin{enumerate} \item Présentation de ce qu'est un GAT, simple exemple \item Présentation de la 2-sortification d'un GAT \item Présentation de la catégorification de Fiore \item Présentation de la catégorification de Altenkirsch -> Construction des $\BB_i$ récursive \item Schéma de construction récursif de l'adjonction \item Formulation de H1 et H3 \item (ANNEXE?) Def de W et de E \item (ANNEXE?) Preuve de l'adjonction / de la reflexion \item (ANNEXE?) Preuve des propriétés \item Définition infinie de $\BB_i$ -> Foncteur $R_0^iG_i$ -> Reflexions sur les catégories pas directes \end{enumerate} \section{Sort specification} A Generalized Algebraic Theory (or GAT) and inductive-inductive types are syntaxes describing models. Both are composed of a sort specification, and eventually a list of constructors. In this document, we will not ask ourselves about the specificities of both syntaxes. A \enquote{vague} interpretation of them is enough to understand the constructions that follows. A sort specification is a list of \emph{sort constructors} that are defined with \emph{parameters} with $\Set$ as its codomain. Here is an example of a classical sort specification for Type Theory. \[ \Con : \Set \\ \]\[ \Ty : (\Gamma : \Con) \to \Set \\ \]\[ \Tm : (\Gamma : \Delta) \to (A : \Ty \Delta) \to \Set \] This specification is to be read as follows: \begin{center} There is one sort that is $\Con$ For every element $\Gamma$ of the sort $\Con$, there is a sort $\Ty \Gamma$ For every element $\Gamma$ of the sort $\Con$, and every element $A$ of the sort $\Ty \Gamma$, there is a sort $\Tm \Gamma\;F$ \end{center} We can also add constructors to a sort specification. For example, for the previous sort specification, one can add the following constructors: \[ \operatorname{unit} : (\Gamma : \Con) \to \Ty \Gamma \] \[ \verb*|_| = \verb*|_|: (\Gamma : \Con) \to (A : \Ty \Gamma) \to \Tm \Gamma A \to \Tm \Gamma A \to \Ty \Gamma \] Constructors construct terms and not sorts. A sort specification with or without constructor describes a class of models, which are in the intuitive sense of a model (a model implements \enquote{sort constructors}, regular constructors). A known process is that one can transform a specification of sorts, into a specification of sorts with two sorts and constructors. The two sorts are always the same: \[ \mathcal{O} : \square \] \[ \underline{\;\bullet\;} : \mathcal{O} \to \square \] Where $\mathcal{O}$ describes the \enquote{sort of sorts}, and $\underline{\;\bullet\;}$ give for every \enquote{sort object} the sort of the \enquote{objects of that sort}. Then, we replace all occurrences of $\Set$ to $\mathcal{O}$, and we apply underline to every sort constructor parameter. For example, the first Type Theory of sort specification becomes that which follows: \[ \Con : \mathcal{O} \\ \]\[ \Ty : (\Gamma : \underline{\Con}) \to \mathcal{O} \\ \]\[ \Tm : (\Gamma : \underline{\Con}) \to (A : \underline{\Ty \Delta}) \to \mathcal{O} \] It is known that this new sorts and constructors specification is equivalent to the former one. Fiore \cite{Fiore2008} describes \emph{sort specifications} as countable simple direct categories. To every object, we associate a sort, which is built using parameters pointing out of them. We often write this category $S$, and for a sort $a$ in it, the parameters needed to construct the sort are indexed by $(a/S)*$. As an example, here is the category version of the above specification of sorts. We also add the equality $\Gamma \circ A = \Delta$. This equality describes that the $\Gamma$-parameter i.e. the first parameter of the $\Ty$ sort constructor is the variable $\Delta$. Without this equality, $\Gamma \circ A$ would be another arrow going from $\Tm$, and therefore another parameter on type $\Con$. \begin{center} % YADE DIAGRAM B1.json % GENERATED LATEX \input{graphs/B1.tex} % END OF GENERATED LATEX \end{center} The category of models over a specification of sorts is then the category of presheaves over the category of Fiore $\left[S,\Set\right]$. Altenkirsch \cite{Altenkirch2018} has another method to directly construct the category of models of a specification of sorts. His method is more general, but it does not give a \enquote{Tiny and simple} category as Fiore does. The other advantage of Altenkirsch's method is that they give a way of also describing the models of a constructor specification. What we will do is to try to make an adjunction between Fiore's category of models $\left[S,\Set\right]$, and Altenkirsch's category of models of the two-sorted GAT. We will describe how the two categories are constructed in detail. \subsection{Constructing the categories} We will construct both categories $S$ and $\BB$ recursively, addings new sorts one by one. \subsubsection{Fiore's category} At the same time, we construct the simple category recursively $\emptyset = S_0,S_1,S_2,...$. In order to construct the $i$-th sort, we use a finite functor $\Gamma_i : \left[S_{i-1} \to \Set\right]$ describing entirely the sort constructor. This functor is to be understood as $\Gamma_i(a)$ is the set of parameters of type $a$ for our new sort. In the above example, we would have $\Gamma_\Ty(\Con) = \{"\Gamma"\} = 1$ and $\Gamma_\Tm(\Con) = \{\Delta\}$,$\Gamma_\Tm(\Ty) = \{"A"\}$,$\Gamma_\Tm(\Gamma) = \left["A" \mapsto "\Delta"\right]$. Then, to construct $S_i$, we add one object $i$ to $S_{i-1}$, along with morphisms $x : i \to a$ for every $x \in \Gamma_i(a)$ for every $a$ in $S_{i-1}$. We also add equalities $s \circ x = x'$ for every $s : b \to a$ and $x \in \Gamma_i(a)$ and $x' \in \Gamma_i(b)$ where $\Gamma_i(s)(x') = x$. \begin{remark} We have that $\Hom_{S_i}(a,b) = \Gamma_b(a)$ or $(a/S_i)* \equiv \Gamma_a$.TODO C'est sûr la deuxième partie ? \end{remark} \subsubsection{Altenkirsch's category} To start our series of category, we need the category of models of the two-sort specification of sorts ($\mathcal{O}$ and $\underline{\;\bullet\;}$). We do it Fiore's way and we get a simple category that we name $\TT$ with two elements and only one non-trivial arrow between them. \begin{center} % YADE DIAGRAM G0.json % GENERATED LATEX \input{graphs/G0.tex} % END OF GENERATED LATEX \end{center} The category of models $\TSet$ is also written $\BB_0$ as it is the first step of Altenkirsch's method of adding constructors. \begin{remark} Following Altenkirsch's construction of category of models for a sort specification, we end up on the category of families of sets $(X : \Set, Y : X \to \Set)$. This category is equivalent to $\TSet$ which allows us to give a clearer definition of functors. \end{remark} Then, we recursively add constructors, constructing categories $\BB_1$,$\BB_2$, etc. For the $i$-th constructor, we define the category $\BB_i$ as : \[ \BB_i := \left(X : \BB_{i-1}, \Cstr_i : \Hom_{\BB_{i-1}} (G_{i-1}\Gamma_i,X) \to (R_0^{i-1}X)_\UU \right) \] where $\Gamma_i$ is the functor $S_{i-1} \to \Set$ that describe the sort constructor being processed, and $G_{i-1}$ is the left part of the adjunction $\left[S_{i-1}, \Set\right] \to \BB_{i-1}$ that we are defining recursively at the same time. A morphism $(X,\Cstr_i) \to (X',\Cstr'_i)$ in $\BB_i$ is a morphism $f : X \to X'$ in $\BB_{i-1}$ such that the following diagram commutes. \begin{center} % YADE DIAGRAM D1.json % GENERATED LATEX \input{graphs/D1.tex} % END OF GENERATED LATEX \end{center} Identities and compositions are that of the category $\BB_{i-1}$, and categorical equalities are trivially derived from the diagram above. We also define a functor $R_{i-1}^i : \BB_i \to \BB_{i-1}$ that sends objects and morphisms to their first component. This functor is a \emph{right adjunct} of another functor we call $L_{i-1}^i$. As we can compose the adjunctions $R_0^1$,$R_1^2$,...,$R_{i-1}^i$, we will create the two following syntactic sugars for the composed adjunctions. \[ R_i^j = R_{i}^{i+1} \circ R_{i+1}^j = R_{i}^{j-1} \circ R_{j-1}^{j} = R_{i}^{i+1} \circ ... \circ R_{j-1}^{j} \] \[ L_i^j = L_{j-1}^{j} \circ L_{i}^{j-1} = L_{i+1}^{j} \circ L_{i}^{i+1} = L_{j-1}^{j} \circ ... \circ L_{i}^{i+1} \] We will also denote $\eta_i^j : \mathbf{1} \to R_i^j L_i^j$ and $\varepsilon_i^j : L_i^j R_i^j \to \mathbf{1}$ to be the unit and counit of the adjunction $R_i^j \vdash L_i^j$. We know that this category has a coproduct, that we will denote $\oplus_i$ or just $\oplus$ when there is no ambiguity. We will also denote as $\inj_1^i : X \to X \oplus Y$ (resp. $\inj_2^i : Y \to X \oplus Y$) the first (resp. second) injector of the coproduct of $\BB_i$. For every morphisms $f : X \to Z$ and $g : Y \to Z$, we will denote with $\{f;g\}$ the unique morphism from $X \oplus Y$ to $Z$ such that $\{f;g\} \circ \inj^i_1 = f$ and $\{f;g\} \circ \inj^i_2 = g$. \begin{remark} This adjunction and the existence of a coproduct comes from seeing $\BB_i$ being a category of algebras in $\BB_{i-1}$ over the arrow $inj_1 : G_{i-1}\Gamma_i \to G_{i-1}\Gamma_i \oplus L_0^{i-1} y\UU$. \end{remark} \subsubsection{Summary} Here is a graph summarizing the categories and functors. We have constructed two chains of categories $\BB_0$,$\BB_1$,... and $S_0$,$S_1$,... The categories $\BB_{i-1}$ and $\BB_{i}$ are in an adjunction written $R_{i-1}^i \vdash L_{i-1}^i$. We will give in the next part the construction of the adjunction $F_i \vdash G_i$ at the step $i$. The functor $G_{i-1}$ is used in the definition of $\BB_i$, so the two recurrences have to be done at the same time. \begin{center} % YADE DIAGRAM G1.json % GENERATED LATEX \input{graphs/G1.tex} % END OF GENERATED LATEX \end{center} \subsection{Constructing the adjunction} \subsubsection{Hypotheses} In order to build and prove the adjunction, we will state hypotheses that we will progressively prove during our building of $\BB_i$, $F_i$, and $G_i$. \begin{property}[H1] \[ \simpleArrow{R_{i-1}^i X \oplus L_0^{i-1} Y}{\left\{R_{i-1}^i \inj_1^i ; R_{i-1}^i \inj_2^i \circ \eta_{i-1}^i\right\}}{R_{i-1}^i(X \oplus_i L_0^i Y)} \] is an equivalence. \end{property} \begin{property}[H1r] \[ \simpleArrow{ R_{0}^i X \oplus_{i-1} Y}{\left\{R_{i-1}^i \inj_1^i ; \eta_{i-1}^i\right\}}{R_{i-1}^i(X \oplus_i L_0^i Y)} \] is an equivalence. This property is proven easily by recursion over previous property H1. \end{property} \begin{property}[H3] \[ \simpleArrow{F_i X}{F(\inj_1^i)}{F_i(X \oplus L_0^i Y)} \] is an equivalence. \end{property} \begin{property}[H3'] \[ \simpleArrow{\Hom(G_i\Gamma, X)}{(inj_1^i \circ \dash)}{\Hom(G_i\Gamma,X \oplus L_0^i Y)} \] is an equivalence. This proven with the adjunction property of $F_i \vdash G_i$ and H3, as w have that \[ \Hom(G_i \Gamma, X) \cong \Hom(\Gamma, F_i X) \cong \Hom(\Gamma, F_i(X \oplus L_0^i Y)) \cong \Hom(G_i \Gamma, X \oplus L_0^i Y) \] \end{property} \subsubsection{Decomposing the proof} In order to use all the power of the recurrence, we will build the $F_i \vdash G_i$ adjunction using the $F_{i-1} \vdash G_{i-1}$ adjunction, following the diagram below. \begin{center} % YADE DIAGRAM G2.json % GENERATED LATEX \input{graphs/G2.tex} % END OF GENERATED LATEX \end{center} The category $\left[S_i, \Set\right]$ is seen as the category $\left[S_{i-1},\Set\right]$ to which we have added an object along with morphisms described by $\Gamma_i$. The morphisms we added to the object $X$ have the shape of the slice category of the set $\Hom(\Gamma_i,X)$. The first part $G_{i-1} \times \id \dashv F_{i-1} \times \id$ is proven and defined as an adjunction from the last step of the recurrence. We will now define the two functors. \subsubsection{W definition} We define a functor $W : \displaystyle\sum_{X : \BB_{i-1}} (\Set/\Hom_{\BB_{i-1}}(G_{i-1}\Gamma_i,X)) \to \BB_{i}$ \[ W(X,Y) := \left(X \oplus L_0^{i-1} \Hbar_{\Hom(G_{i-1}\Gamma_i,\dash)}(X,Y), \widetilde{\inj_2} \right) \] With $\widetilde{\inj_2}$ being defined by \[ \begin{array}{lcl} \Hom(G_{i-1}\Gamma_i,X \oplus L_0^{i-1} \Hbar_\bullet(X,Y)) & \to^{\text{H3'}} & \Hom(G_{i-1}\Gamma_i,X)\\ & = & \Hbar_\bullet(X,Y)_\UU \\ & \to^{\inj_2^0} & \left(R_0^{i-1}X \oplus \Hbar_\bullet(X,Y)\right)_\UU \\ & \to^{\text{H1r}} & \left(R_0^{i-1}(X \oplus L_0^{i-1}\Hbar_\bullet(X,Y))\right)_\UU \end{array} \] The action on a morphism $(g,h)$ from $(X,Y)$ to $(X',Y')$ is the following: \[ W(g,h) := \left(g \oplus L_0^{i-1} \Hbar_{\Hom(G_{i-1}\Gamma_i,\dash)}(g,h)\right) \] It is indeed a morphism from $\BB_{i}$ as it makes the following diagram commute. \begin{center} % YADE DIAGRAM D2.json % GENERATED LATEX \input{graphs/D2.tex} % END OF GENERATED LATEX \end{center} \subsubsection{E definition} We define $E : \BB_{i} \to \displaystyle\sum_{X : \BB_{i-1}} (\Set/\Hom_{\BB_{i-1}}(G_{i-1}\Gamma_i,X))$ \[ E(X) = (R_{i-1}^i X, (A,h)) \] Where $(A,h)$ is defined as the following pullback: \begin{center} % YADE DIAGRAM D3a.json % GENERATED LATEX \input{graphs/D3a.tex} % END OF GENERATED LATEX \end{center} The action on a morphism $f$ from $X$ to $X'$ is defined as $E(f) = (R_{i-1}^i f, !)$, with $!$ being the only morphism making the following diagram commute (thanks to the pullback property): \begin{center} % YADE DIAGRAM D3b.json % GENERATED LATEX \input{graphs/D3b.tex} % END OF GENERATED LATEX \end{center} \subsubsection{Proof of the adjunction} We prove that $(W,E)$ make an adjunction showing that there is a natural isomorphism between $\Hom$ sets in both categories. We want to construct for each $(X,Y)$ in $\displaystyle\prod_{X : \BB_{i-1}} (\Set/\Hom_{\BB_{i-1}}(G_{i-1}\Gamma_i,X))$ and $Z$ in $\BB_i$, an isomorphism $\phi_{XYZ}$. \[ \phi_{XYZ} : \Hom(W(X,Y),Z) \to \Hom((X,Y),E(Z)) \] I will give the construction of the isomorphisms and its inverse, the proofs are given in \autoref{apx:phi-WE-isnat}. \paragraph{Constructing $\phi_{XYZ}$} Let $f$ be in $\Hom(W(X,Y),Z)$. We want to construct $\phi_{XYZ}(f) : (X,Y) \to E(Z)$. The first component of $\phi_{XYZ}(f)$ is $R_{i-1}^i f \circ inj_1^{i-1} : X \to R_{i-1}^i Z$, with $R_{i-1}^i f$ being a morphism of $\BB_{i-1}$ from $R_{i-1}^i(W(X,Y)) = X \oplus_{i-1} L_0^{i-1}$ to $R_{i-1}^i Z$. The second component is defined through the universal property of the pullback defined by $E(Z)$ according to the following diagram: \begin{center} % YADE DIAGRAM D6.json % GENERATED LATEX \input{graphs/D6.tex} % END OF GENERATED LATEX \end{center} \paragraph{Constructing $\phi^{-1}_{XYZ}$} Now, we take $(g,h)$ a morphism from $(X,Y)$ to $E(Z)$. We define $\phi^{-1}_{XYZ}(g,h)$ as a morphism of $\BB_i$ from $W(X,Y)$ to $Z$, i.e. a morphism of $\BB_{i-1}$ from $X \oplus_{i-1} L_0^{i-1} \Hbar (X,Y)$ to $R_0^{i-1}(Z)$ that makes a certain diagram commute: \[ \phi^{-1}_{XYZ}(g,h) := \left\{g ; \varepsilon_0^i \circ L_0^{i-1} \square \right\} \] Where $\square$ is a morphism $\Hbar (X,Y) \to R_0^i Z$ defined by the following diagram: \begin{center} % YADE DIAGRAM D7.json % GENERATED LATEX \input{graphs/D7.tex} % END OF GENERATED LATEX \end{center} This is indeed a morphism of $\BB_i$ from $W(X,Y)$ to $Z$ as it makes the following diagram commute \begin{center} % YADE DIAGRAM D8.json % GENERATED LATEX \input{graphs/D8.tex} % END OF GENERATED LATEX \end{center} We show in \autoref{apx:phi-WE-isnat} that $\phi_{XYZ}$ and $\phi_{XYZ}^{-1}$ do indeed make a natural isomorphism. \subsection{$F \vdash G$ make a reflexion} \subsection{Proof of H1 - Sum definition} We will define the sums of the form $X \oplus_i L_0^i Y$ in $\BB_i$. \[ X \oplus_i L_0^i Y := \left(R_{i-1}^i \oplus_{i-1} L_0^{i-1} Y, (R_0^{i-1} \inj_1^{i-1})_\UU \circ \Cstr_i^X \circ (\inj_1^{i-1} \circ \dash)^{-1}\right) \] Here, $(\inj_1^{i-1} \circ \dash)^{-1}$ is the inverse of the isomorphism of hypothesis H3', and The constructor goes as follows: \[ \Hom_{\BB_{i-1}}(G_{i-1}\Gamma_i,R_{i-1}^i X \oplus_{i-1} L_0^{i-1} Y) \equiv \Hom_{\BB_{i-1}}(G_{i-1}\Gamma_i,R_{i-1}^i X) \to (R_0^{i-1} X)_\UU \to (R_0^i (R_{i-1}^i X \oplus_{i-1} L_0^{i-1} Y))_\UU \] The first injector $X \to X \oplus_i L_0^i Y$ is defined as follows: \[ \inj_1^i := \inj_1^{i-1} : R_{i-1}^i X \to R_{i-1}^i (X \oplus_i L_0^i Y) = R_{i-1}^i X \oplus_{i-1} L_0^{i-1} Y \] It is a morphism of $\BB_i$ as it makes the following diagram commute: \begin{center} % YADE DIAGRAM D4.json % GENERATED LATEX \input{graphs/D4.tex} % END OF GENERATED LATEX \end{center} The second injector is defined as follows: \[ inj_2^i := (\varepsilon_i \oplus_i \id_{L_0^i Y}) \circ L_{i-1}^i \inj_2^{i-1} \] Where $\varepsilon_i$ is the counit of the adjunction $R_{i-1}^i \vdash L_{i-1}^i$, going from $L_{i-1}^i R_{i-1}^i X$ to $X$. This goes from $L_0^i Y = L_{i-1}^i L_0^{i-1} Y$ to $L_{i-1}^i(R_{i-1}^i X \oplus_{i-1} L_0^{i-1} Y)$, which is equivalent to $L_{i-1}^i R_{i-1}^i X \oplus_i L_0^i Y)$ as $L_{i-1}^i$ is a left-adjunct functor and therefore it preserves colimits; then goes to $X \oplus_i L_0^i Y$. We will now show that this definition is actually a definition of the coproduct in $\BB_i$. To that extent, we take two objects $X$ and $Z$ in $\BB_i$, $Y$ in $\TSet$ and two morphisms of $\BB_i$ $\varphi_1 : X \to Z$ and $\varphi_2 : L_0^i Y \to Z$. We define $\{\varphi_1 ; \varphi_2\}_{i } = \{R_{i-1}^i \varphi_1 ; R_{i-1}^i \varphi_2 \circ \eta^i_{L_0^{i-1} Y}\}_{i-1}$ a morphism of $\BB_i$ as it makes the following diagram commute: \begin{center} % YADE DIAGRAM D5.json % GENERATED LATEX \input{graphs/D5.tex} % END OF GENERATED LATEX \end{center} \todo{Justifier $R_{i-1}^i(\varepsilon_i \oplus_i \id_{L_0^i Y}) = R_{i-1}^i \varepsilon_i \oplus_{i-1} \id_{L_0^{i-1} Y}$ (with H1 ?)} \subsection{Proof of H3} \subsection{Infinite construction of $\BB_i$} \[ \BB_i := \left(X : \TSet, \Cstr : (a : S_{i-1}) \to \Hom_{\BB_{a-1}}(G_{a-1}\Gamma_a,R_{a-1}^i(\this)) \to X(\UU)\right) \] A morphism from $(X,\Cstr)$ to $(X', \Cstr')$ is a morphism from $X$ to $X'$ in $\TSet$ (i.e. a natural transformation $X \implies X'$) which makes the following diagram commute, for all $a$ in $S_{i-1}$. \begin{center} % YADE DIAGRAM D1.json % GENERATED LATEX \input{graphs/D1.tex} % END OF GENERATED LATEX \end{center} Identities and compositions are that of the base category $\TSet$, and categorical equalities are trivially derived from the diagram above. The diagram expresses as \[ \forall \gamma \in \Hom_{G_{a-1}\Gamma_a,X}, \quad \Cstr'_a(f \circ \gamma) = f_\UU(\Cstr_a \gamma) \] \todo{Define properly the use of \this} \subsection{$G$ and $F$ infinite constructions} \[ G_i(Y) = \left(\sum_{a\in S_i}H_{Y(a)}\left(\lim_{(a/S_i)*}\overline{Y_a}\right), λa.λ\eta.(a,u (\inj_2 \star))\right) \] where $u : \left(Y(a) \oplus 1, \inj_1\right) \to (\lim_{(a/S_i)*} \overline{Y_a})$ so that $\varphi_{b,f} u (\star) = \eta_\El^b(f)$ \[ F_i(X,\Cstr)(a) = X(p)^{-1}\left(\Cstr_a\left(\Hom_{\BB_{a-1}}(G_{a-1}\Gamma_a,X)\right)\right) \] \[ F_i(X,\Cstr)(f : a \to b)(X(p)(x); x \in \Cstr_a(\eta)) = \eta_\El^b(f) \] \todo{Show that those are the same functors as those defined recursively. Prove the adjunction/reflection infinitely ?} \subsection{$H$ functors} For every set $X$, we define the functor $H_X : (X/\Set) \to \TSet$ \[ H_X(Y,f) = \TSetObject{X}{f}{Y} \] Dually, we make another functor $\Hbar_X : (\Set/X) \to \TSet$ \[ \Hbar_X(Y,f) = \TSetObject{Y}{f}{X} \] The morphisms translate as-is, and composition and identity relies on that of $(X/\Set)$ or $(\Set/X)$. \todo{(small) Show that it is actually a functor (should be trivial), potentially add a diagram} \subsection{Overview} We use the specification of sorts definition of Fiore \cite{Fiore2008}. A specification of sorts is given by a sequence of functors $\Gamma_i : S_{i-1} \to \Set$. We construct the category $S_{i+1}$ by adding a single object $\alpha_{i+1}$ to the category $S_{i}$, along with morphisms $f : \alpha_j \to \alpha_{i+1}$ for $f \in \Gamma_{i+1}(\alpha_j)$ and $j \leq i$. The morphisms follow the composition condition, describing that every pair of morphisms $f : \alpha_j \to \alpha_{i+1}$ and $g : \alpha_k \to \alpha_{i+1}$ (i.e. $f\in\Gamma_{i+1}(\alpha_k)$ and $g\in\Gamma_{i+1}(\alpha_j)$) and for every morphism of $S_{i}$ $h : \alpha_j \to \alpha_k$, we have $\Gamma_{i+1}(h)(f) \circ f = g$. We have define a sequence of direct categories $\emptyset = S_0 \subset S_1 \subset S_2 \subset \dots$ (with inclusions functors $I_i : S_{i+1} \to S_i$). We define the \enquote{final} direct category as $S = \bigcup S_i$ This definition is an isomorphism, so we can define a GAT categorically as any locally finite direct category. Then the semantics of the GAT is described as the category of presheaves over $S$, written $[S, \Set]$. Altenkirsch has another way of constructing the semantics of a specification of sorts \cite{Altenkirch2018}, and he also describes a way to describe constructors. So we can construct the base category, which is that of families of sets. \section{Summary} \lipsum[2-3] \section{Bibliography} \begingroup \renewcommand{\section}[2]{}% \printbibliography \endgroup \newpage \addappheadtotoc \appendix \addtocontents{toc}{\protect\setcounter{tocdepth}{-1}} \appendixpage \section{$W \dashv E$ adjunction} \label{apx:phi-WE-isnat} \subsection{Composition $\phi_{XYZ} \circ \phi_{XYZ}^{-1}$} The first component of $\phi_{XYZ} (\phi_{XYZ}^{-1}(g,h))$ is \[ R_{i-1}^i(\left\{g ; \varepsilon_0^i \circ L_0^{i-1} \square \right\}) \circ \inj_1^{i-1} = \left\{g ; \varepsilon_0^i \circ L_0^{i-1} \square \right\} \circ \inj_1^{i-1} = g \] The second component of $\phi_{XYZ} (\phi_{XYZ}^{-1}(g,h))$ follows the following diagram \begin{center} % YADE DIAGRAM D9.json % GENERATED LATEX \input{graphs/D9.tex} % END OF GENERATED LATEX \end{center} The diagram commutes as the following equality holds: \[ \left(\left\{g ; \varepsilon_0^i \circ L_0^{i-1} \square \right\} \circ \inj^{i-1}_2\right)_\El = \left(\varepsilon_0^i \circ L_0^{i-1} \square\right)_\El = (\varepsilon_0^i)_\El \circ (L_0^{i-1} \square)_\El = \square_El = \pi_1 \circ h \] \todo{Justify $(\varepsilon_0^i)_\El = id_{\BB_i}$ and $(L_0^i(f))_\El = f_\El$} So, as the square is a pullback, we get the complete equality \[ \phi_{XYZ} (\phi_{XYZ}^{-1}(g,h)) = (g,h) \] \subsection{Composition $\phi_{XYZ}^{-1} \circ \phi_{XYZ}$} Now, the converse composition is \[ \phi_{XYZ}^{-1} (\phi_{XYZ}(f)) = \left\{R_{i-1}^i f \circ \inj_1^{i-1} ; \varepsilon_0^i \circ L_0^{i-1} \square \right\} \] where $\square$ follows the following diagram \begin{center} % YADE DIAGRAM D10.json % GENERATED LATEX \input{graphs/D10.tex} % END OF GENERATED LATEX \end{center} We want to show that $\phi_{XYZ}^{-1} (\phi_{XYZ}(f))$. By definition of $\{;\}$ in $\BB_1$, it suffices to show that $\varepsilon_0^i \circ L_0^{i-1} \square = R_{i-1}^i f \circ \inj_1^{i-1}$. So it suffices to show that \[ \square = R_0^{i-1}(R_{i-1}^i f \circ \inj_2^{i-1}) \circ \eta_0^{i-1} = R_0^i f \circ \left(R_0^{i-1} \inj_2^{i-1} \circ \eta_0^{i-1}\right) = R_0^i f \circ \inj_2^0 \] The two required equalities are proved by the diagram above: \begin{align*} \square_\El = \left(R_0^i f \circ \inj_2^0\right)_\El \\ \square_\UU = \left(R_0^i f \circ \inj_2^0\right)_\UU \end{align*} \todo{Expliciter à un endroit que $\Cstr^{W(X,Y)} = inj_2^\Set \circ \left(\inj_1^{i-1} \circ \dash\right)$ (déduit de la définition et de la forme de l'iso H3' et H1r=id)} \todo{Show $R_0^{i-1} \inj_2^{i-1} \circ \eta_0^{i-1} = \inj_2^0$} \subsection{Naturality} We want to show that the following diagram commutes, for any objects $X$,$Y$,$Z$,$X'$,$Y'$,$Z'$ and morphisms $f$,$g$,$h$. \begin{center} % YADE DIAGRAM D10.0.json % GENERATED LATEX \input{graphs/D10.0.tex} % END OF GENERATED LATEX \end{center} We take a morphism $\ii$ in $\Hom\left(W(X,Y),Z\right)$. We want to show that it is sent by the above diagram to the same morphism of $\Hom\left((X,Y),E(Z)\right)$. We first look at the first component of the result morphism. \[\begin{array}{rcl} \phi_{XYZ}(f \circ \ii \circ W(g,h))_1 &=& R_{i-1}^i\left(f \circ \ii \circ (g \oplus L_0^{i-1} \Hbar(g,h))^+\right) \circ \inj_1^{i-1} \\ &=& R_{i-1}^i f \circ R_{i-1}^i \ii \circ \left\{\inj_1^{i-1} \circ g; \dots\right\} \circ \inj_1^{i-1} \\ &=& R_{i-1}^i f \circ R_{i-1}^i \ii \circ \inj_1^{i-1} \circ g \\ &=& \left[E(f) \circ \phi_{X'Y'Z'}(\ii) \circ (g,h)\right]_1 \end{array}\] The second components are defined as described by the following diagram \begin{center} % YADE DIAGRAM D11.json % GENERATED LATEX \input{graphs/D11.tex} % END OF GENERATED LATEX \end{center} The second projection of $\phi_{XYZ}(f \circ \ii \circ W(g,h))$ is defined by the pullback of $E(Z')$ commuting with the two path highlighted by the blue line. And that of $E(f) \circ \phi_{X'Y'Z'}(\ii) \circ (g,h)$ is defined by the circled path. As the diagram commutes and by pullback property, we get the equality. \end{document}