M2Internship/Report/M2Diapo.tex

262 lines
7.9 KiB
TeX

% !TeX spellcheck = en_US
\documentclass[12pt,xcolor={dvipsnames},aspectratio=169]{beamer}
\input{./headerDiapo.tex}
\title[Semantics of 2-sortification]{Categorical semantics of the reduction of GATs to two-sorted GATs.
\\[1ex] \large Notes on my 4.5-month internship at the LIX}
\hypersetup{pdftitle={Categorical semantics of the reduction of GATs to two-sorted GATs}}
\author[Samy Avrillon]{Samy Avrillon, supervised by
\\[1ex] Ambroise Lafont (LIX, Palaiseau, France)}
\date{}
\begin{document}
\begin{frame}[plain]
\maketitle
\end{frame}
\section*{Table of contents}
\begin{frame}{Plan of the presentation}
\tableofcontents[hidesubsections]
\end{frame}
\section{Introduction}
\subsection{What is a GAT ?}
\begin{frame}{What is a GAT ?}
\begin{itemize}
\item A syntactic object
\item Defines a set of models
\item Defines a category of models
\end{itemize}
\end{frame}
\begin{frame}{A GAT for Type Theory}
\renewcommand\to{{\;\rightarrow\;}}
\begin{center}
\renewcommand\arraystretch{1.5}
\begin{tabular}{|c|c|c|}
\hline
$\Con : \Set$ &
$\Ty : (\Gamma : \Con) \to \Set$ &
$\Tm : (\Delta : \Con) \to (A : \Ty\;\Delta) \to \Set$ \\\hline
\end{tabular}
\end{center}
\pause
\begin{columns}
\begin{column}{0.60\textwidth}
\begin{center}
\begin{tcolorbox}[boxsep=-5pt]
\renewcommand\arraystretch{1.25}
\begin{tabular}{l}
$\triangleright: (\Gamma:\Con)\to(A:\Ty\;\Gamma)\to\Con$ \\
$\diamond: \Con$ \\
$\operatorname{var} : (\Gamma:\Con) \to (A:\Ty\;\Gamma) \to \Tm\;(\Gamma\triangleright A)\;A$ \\
$\implies : (\Gamma:\Con) \to \Ty\;\Gamma \to \Ty\;\Gamma \to \Ty\;\Gamma$ \\
$\operatorname{app} : (\Gamma : \Con) \to (A\;B :\Ty\;\Gamma) \to$\\
\qquad$\Tm\;\Gamma\;(A\implies B)\to\Tm\;\Gamma\; A \to \Tm\;\Gamma\; B$
\end{tabular}
\end{tcolorbox}
\end{center}
\end{column}
\begin{column}{0.4\textwidth}
\[\begin{array}{c}
\Gamma : \Con\\
A,B : \Ty\;\Gamma\\
t : \Tm (\Gamma \triangleright (A \implies B)) A\\
{\mathbf{\top}}\\
\operatorname{app}\;\operatorname{var}\;t : \Tm\;(\Gamma\triangleright(A\implies B))\;A
\end{array}\]
\end{column}
\end{columns}
\end{frame}
\begin{frame}{2-sortification}
\renewcommand\arraystretch{1.5}
\begin{center}
\renewcommand\arraystretch{1.5}
\begin{tabular}{|c|c|}
\hline
$\mathcal{O} : \Set$ &
$\El : \mathcal{O} \to \Set$ \\\hline
\end{tabular}
\end{center}
\todo{Cette partie}
\end{frame}
\begin{frame}{Category of Models \& Generalization}
\begin{tabular}{lcp{0.5\textwidth}}
$\boxed{\bullet}$ & $\CC_0 :=$ &
$\one$ \\
$\boxed{\Con : \Set}$ & $\CC_1 := $&
\only<1>{$\left[X_\Con\right]$}
\only<2>{$\left[X_\Con : \Set\right]$}
\only<3>{$(\bullet : \CC_0) \times \left(\Set\right)$}
\only<4>{$\left(X : \CC_0\right) \times \Set^{H_1(X)}$} \\
$\boxed{\Ty : (\Gamma : \Con) \to \Set}$ & $\CC_2 := $&
\only<1>{$\left[X_\Con, \left(X_\Ty(\Gamma)\right)_{\Gamma \in X_\Con}\right]$}
\only<2>{$\left[X_\Con : \Set, X_\Ty : \Set^{X_\Con}\right]$}
\only<3>{$\left(X_\Con : \CC_1\right) \times \left(\Set^{X_\Con}\right)$}
\only<4>{$\left(X : \CC_1\right) \times \Set^{H_2(X)}$} \\
$\boxed{\Tm : (\Delta : \Con) \to (A : \Ty\;\Delta) \to \Set}$ & $\CC_3 :=$&
\only<1>{$\left[X_\Con, \left(X_\Ty(\Gamma)\right)_{\Gamma \in X_\Con},\right.$}
\only<2>{$\left[X_\Con : \Set, X_\Ty : \Set^{X_\Con},\right.$}
\only<3>{$\left((X_\Con,X_\Ty) : \CC_2\right) \times$}
\only<4>{$\left(X : \CC_2\right) \times \Set^{H_3(X)}$} \\ &&
\only<1>{$\left.\left(\left(X_\Tm(\Delta,A)\right)_{A \in \Ty(\Delta)}\right)_{\Delta \in X_\Con} \right]$}
\only<2>{\quad$\left.X_\Tm : \Set^{\prod_{\Delta:X_\Con}X_\Ty(\Delta)}\right]$}
\only<3>{\quad$\left(\Set^{\prod_{\Delta:X_\Con}X_\Ty(\Delta)}\right)$}
\end{tabular}
\pause[3]
\[\begin{array}{rcl}
H_1(\bullet) &=& 1_\Set \\
H_2(X_\Con) &=& X_\Con \\
H_3(X_\Con,X_\Ty) &=& \displaystyle\prod_{\Delta:X_\Con}X_\Ty(\Delta)
\end{array}\]
\end{frame}
\begin{frame}{Category of Models of transformed GAT}
\[
\begin{array}{|c|}
\hline
\mathcal{O} : \Set \\
\El : \mathcal{O} \to \Set \\
\hline
\end{array}
\]
\[
\BB_0 := \left(X_\UU : \Set, X_\El : \Set^{X_\UU}\right)
\uncover<2->{\ensuremath{\simeq \left(X_\UU : \Set, X_\El : \Set/X_\UU\right)}}
\uncover<3->{\ensuremath{\equiv \TSet}}
\]
\pause
\[
\TT := \simpleUpDownArrow{El}{p}{\UU}
\]
\pause
\begin{center}
\begin{tabular}{ll}
$X_\UU$:& Sortes \\
$X_\El$:& Objets\\
$X_p(x)$:& Sorte de l'objet \\
\end{tabular}
\end{center}
\end{frame}
\begin{frame}{Adding transformed sort declarations}
\begin{center}
\begin{tabular}{ll}
$X_\UU$:& Sortes \\
$X_\El$:& Objets\\
$X_p(x)$:& Sorte de l'objet \\
\end{tabular}
\end{center}
\begin{center}
\begin{tabular}{lrp{0.4\textwidth}}
$\boxed{\mathcal{O} : \Set\quad\El : \mathcal{O} \to \Set}$ & $\BB_0 =$ &
$X : \TSet$ \\
$\boxed{\Con : \mathcal{O}}$ & $\Cstr_\Con :$ &
\only<1>{$X_\UU$}
\only<2>{$H_1F_0(X) \to X_\UU$} \\
$\boxed{\Ty : (\Gamma : \underline{\Con}) \to \mathcal{O}}$ & $\Cstr_\Ty :$&
\only<1>{$\left(\Gamma \in X_\El\middle|X_p(\Gamma) = \Cstr_\Con\right) \to X_\UU $}
\only<2>{$H_2F_1(X,\Cstr_\Con) \to X_\UU$} \\
$\boxed{\Tm : (\Delta : \underline{\Con}) \to (A : \underline{\Ty\;\Delta}) \to \mathcal{O}}$ & $\Cstr_\Tm : $ &
\only<1>{$\begin{array}{c}\left(\Delta \in X_\El\middle|X_p(\Delta) = \Cstr_\Con\right) \to\\ \left(A \in X_\El\middle|X_p(A) = \Cstr_\Ty(\Delta)\right) \to\\ X_\UU\end{array}$}
\only<2>{$H_3F_2(X,\Cstr_\Con,\Cstr_\Ty) \to X_\UU$}
\end{tabular}
\end{center}
\end{frame}
\begin{frame}{Constructing the functors}
\[
\begin{array}{l|l}
Y : \mathbf{\CC_3} & X : \mathbf{\BB_3} \\\hline
& X : \TSet\\
Y_\Con : \Set & \Cstr_\Con : X_\UU \\
\left(Y_\Ty(\Gamma)\right)_{\Gamma \in Y_\Con} &
\Cstr_\Ty : H_2 F_{1} (X,\Cstr_\Con) \to X_\UU \\
\left(\left(Y_\Tm(\Delta,A)\right)_{A \in Y_\Ty(\Delta)}\right)_{\Delta \in Y_\Con} &
\Cstr_\Tm : H_3 F_{2} (X,\Cstr_\Con,\Cstr_\Ty) \to X_\UU \\
\end{array}
\]
\begin{center}
\begin{tabular}{ll}
$X_\UU$:& Sortes \\
$X_\El$:& Objets\\
$X_p(x)$:& Sorte de l'objet \\
\end{tabular}
\end{center}
\end{frame}
\begin{frame}{Constructing $G_3$}
\only<1>{
\[\begin{array}{ccl}
X_\El & = & \text{«objets»}\\
\labeledupdownarrow{p}&& \labeledupdownarrow{\text{«sorte de l'objet»}}\\
X_\UU & = & \text{«sortes»}
\end{array}\]
}
\pause
\[\begin{array}{ccccccc}
X_\El & = &
Y_\Con & \oplus &
\displaystyle\coprod_{\Gamma \in Y_\Con}Y_\Ty(\Gamma) & \oplus &
\displaystyle\coprod_{\Delta \in Y_\Con}\coprod_{A \in Y_\Ty(\Delta)}Y_\Ty(\Delta,A)\\
\labeledupdownarrow{p}&&\labeledupdownarrow{}&&\labeledupdownarrow{\operatorname{proj}_1}&&\labeledupdownarrow{\operatorname{proj}_{2,1}}\\
X_\UU & = &
1 & \oplus &
Y_\Con & \oplus&
\displaystyle\coprod_{\Delta \in Y_\Con}Y_\Ty(\Delta)
\end{array}\]
\pause
\[\begin{array}{lcl}
\Cstr^X_\Con &=& \inj_1(\star)\\
\Cstr^X_\Ty(\Gamma) &=& \inj_2(\Gamma) \\
\Cstr^X_\Tm(\Delta,A) &=& \inj_3(\Delta,A)
\end{array}\]
\end{frame}
\begin{frame}{Constructing $F_3$}
\begin{center}
\begin{tabular}{ll}
$X_\UU$:& Sortes \\
$X_\El$:& Objets\\
$X_p(x)$:& Sorte de l'objet \\
\end{tabular}
\end{center}
\renewcommand\arraystretch{1.8}
\[
\begin{array}{l|l}
X : \mathbf{\BB_3} & Y = F_3(X): \mathbf{\CC_3}\\\hline
X : \TSet &\\
\Cstr_\Con : X_\UU & Y_\Con =
\uncover<2->{\ensuremath{X_p^{-1}(\left\{\Cstr^X_\Con\right\}) \subseteq X_\El}}\\
\Cstr_\Ty : H_2 F_{1} (X,\Cstr_\Con) \to X_\UU &
Y_\Ty(\Gamma) =
\uncover<3->{\ensuremath{X_p^{-1}(\{\Cstr^X_\Ty(\Gamma)\})}}\\
\Cstr_\Tm : H_3 F_{2} (X,\Cstr_\Con,\Cstr_\Ty) \to X_\UU &
Y_\Tm(\Delta,A) =
\uncover<4->{\ensuremath{X_p^{-1}(\Cstr^X_\Tm(\Delta,A))}} \\
\end{array}
\]
\end{frame}
\end{document}