From 1019ac670218fb5a3650582798cdb1b656958dbf Mon Sep 17 00:00:00 2001 From: Samy Avrillon Date: Sun, 18 Aug 2024 19:52:55 +0200 Subject: [PATCH] Potypos --- Report/M2Report.tex | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/Report/M2Report.tex b/Report/M2Report.tex index d74fa47..dfff323 100644 --- a/Report/M2Report.tex +++ b/Report/M2Report.tex @@ -27,7 +27,7 @@ \subsection*{General Context} - Generalized Algebraic Theories a.k.a. GATs are synctaxic objects introduced in 1986 by Cartmell \cite{CartmellGATs}. They enable us to describe algebraic structures that we can see as a generalization of Type Theory's inductive types. For example, we can describe the models of some type theory using a GAT. + Generalized Algebraic Theories a.k.a. GATs are syntactic objects introduced in 1986 by Cartmell \cite{CartmellGATs}. They enable us to describe algebraic structures that we can see as a generalization of Type Theory's inductive types. For example, we can describe the models of some type theory using a GAT. A GAT is made of a list of \enquote{sorts} that describes sets, usually followed by a list of \enquote{constructors}. @@ -47,7 +47,7 @@ \subsection*{Summary and Future Work} - We formalised semantically this transformation, enabling us to be more general and to avoid the syntactical aspects of GATs. + We formalized semantically this transformation, enabling us to be more general and to avoid the syntactical aspects of GATs. This transformation has been proven, so that studying only GATs with two sorts can be done without loosing generality. A next step could be to add term constructors to our formalization. We could describe their transformation and adapt the properties we stated for sort specification to them. @@ -82,7 +82,7 @@ \end{tabular} \vspace{1em} - A sort specification therefore specifies the differents families of sets contained in a model, and how they relate to each other in terms of indexing. + A sort specification therefore specifies the different families of sets contained in a model, and how they relate to each other in terms of indexing. \paragraph{Term specification} Once we have a sort specification, we can add constructors to it in order to make a complete GAT. Constructors are composed of parameters (the same kind as for sort declarations) and of a codomain which is a sort defined by a previous sort declaration. Those constructors specify elements of the sets contained in the model. @@ -204,7 +204,7 @@ % END OF GENERATED LATEX \end{center} - This category is equivalent to the catgegory $\FamSet$ with an equivalence we will see later (\autoref{SetXSetXEquivalence}) + This category is equivalent to the category $\FamSet$ with an equivalence we will see later (\autoref{SetXSetXEquivalence}) With this formalisation, a model of this sort specification is a functor $X : \TT \to \Set$, such that \begin{itemize} @@ -613,7 +613,7 @@ A(x) := f^{-1}(\{x\}) = \text{the preimage by f of the singleton $\{x\}$} \] - Conversly, a familiy of sets $A : X \to \Set$ is transformed into the following object of $\Set/X$ + Conversely, a family of sets $A : X \to \Set$ is transformed into the following object of $\Set/X$ \begin{center} % YADE DIAGRAM EquivSetXSetX.json % GENERATED LATEX @@ -675,7 +675,7 @@ \label{sec:constructingCategory} In this part, i will show how we construct recursively both categories $\CC_i$ and $\BB_i$, along with the functor $R_{i-1}^i : \BB_i \to \BB_{i-1}$. We will use the loop invariants that we expressed in the introduction of this section. - In order to construct the categories, we need some object describing the sorts we are adding to the categories. This object is a given functor $H_i : \CC_{i-1} \to \Set$. Those functors are the same that Altenkirsh and al. \cite{Altenkirch2018} used in their paper to describe a specification of sorts. They are such that, for $X : \CC_{i-1}$ a model, they describe the set $H_iX$ of parameter range for the added sort. We gave an example of those functors in section \nameref{sec:Examples} if you want to understand how they work. There is also a way of obtaining them directly from the syntax, described in section \nameref{sec:HiFromSyntax}. + In order to construct the categories, we need some object describing the sorts we are adding to the categories. This object is a given functor $H_i : \CC_{i-1} \to \Set$. Those functors are the same that Altenkirch and al. \cite{Altenkirch2018} used in their paper to describe a specification of sorts. They are such that, for $X : \CC_{i-1}$ a model, they describe the set $H_iX$ of parameter range for the added sort. We gave an example of those functors in section \nameref{sec:Examples} if you want to understand how they work. There is also a way of obtaining them directly from the syntax, described in section \nameref{sec:HiFromSyntax}. We suppose that those $H_i$ functors are given. \subsubsection{Constructing $\CC_i$} @@ -686,7 +686,7 @@ \] and where $H_i$ is the specific functor described above. - This way of constructing the category has formerly been described by Altenkirsch and al. \cite{Altenkirch2018}, with the only difference of the equivalence $\Set/H_i(X) \simeq \Set^{H_i(X)}$. + This way of constructing the category has formerly been described by Altenkirch and al. \cite{Altenkirch2018}, with the only difference of the equivalence $\Set/H_i(X) \simeq \Set^{H_i(X)}$. \subsubsection{Constructing $\BB_i$} @@ -911,7 +911,7 @@ \subsection{Fibration of the category $\CC_i$} - In the formal proof, we defined $\CC_i$ as an inductive Grothendieck construction as in Altenkirsch and al. papers \cite{Altenkirch2018}. + In the formal proof, we defined $\CC_i$ as an inductive Grothendieck construction as in Altenkirch and al. papers \cite{Altenkirch2018}. But there is an other way \cite{Fiore2008} of building the category $\CC_i$ which is equivalent to the one presented above. @@ -924,11 +924,6 @@ We will then construct the category $S_i$ by adding a single object $\alpha_i$ to the category $S_{i-1}$, 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$. - Avec le formalisme de la construction de Grothendieck, on peut formaliser la construction de la nouvelle catégorie comme cela: - \[ - S_i = S_{i-1} \times - \] - The final category is simply $S = \bigcup S_i$. In our type theory example, the category $S$ is constructed as follows: