Stuff about product-category
This commit is contained in:
parent
45eafe683f
commit
d726159fa0
|
@ -1,6 +1,29 @@
|
||||||
% Requires: hypperref
|
% Requires: hypperref
|
||||||
\ProvidesPackage{chalmerstitle}
|
\ProvidesPackage{chalmerstitle}
|
||||||
|
|
||||||
|
%% \RequirePackage{kvoptions}
|
||||||
|
|
||||||
|
%% \SetupKeyvalOptions{
|
||||||
|
%% family=ct,
|
||||||
|
%% prefix=ct@
|
||||||
|
%% }
|
||||||
|
|
||||||
|
%% \DeclareStringOption{authoremail}
|
||||||
|
%% \DeclareStringOption{supervisor}
|
||||||
|
%% \DeclareStringOption{supervisoremail}
|
||||||
|
%% \DeclareStringOption{supervisordepartment}
|
||||||
|
%% \DeclareStringOption{cosupervisor}
|
||||||
|
%% \DeclareStringOption{cosupervisoremail}
|
||||||
|
%% \DeclareStringOption{cosupervisordepartment}
|
||||||
|
%% \DeclareStringOption{examiner}
|
||||||
|
%% \DeclareStringOption{examineremail}
|
||||||
|
%% \DeclareStringOption{examinerdepartment}
|
||||||
|
%% \DeclareStringOption{institution}
|
||||||
|
%% \DeclareStringOption{department}
|
||||||
|
%% \DeclareStringOption{researchgroup}
|
||||||
|
%% \DeclareStringOption{subtitle}
|
||||||
|
%% \ProcessKeyvalOptions*
|
||||||
|
|
||||||
\newcommand*{\authoremail}[1]{\gdef\@authoremail{#1}}
|
\newcommand*{\authoremail}[1]{\gdef\@authoremail{#1}}
|
||||||
\newcommand*{\supervisor}[1]{\gdef\@supervisor{#1}}
|
\newcommand*{\supervisor}[1]{\gdef\@supervisor{#1}}
|
||||||
\newcommand*{\supervisoremail}[1]{\gdef\@supervisoremail{#1}}
|
\newcommand*{\supervisoremail}[1]{\gdef\@supervisoremail{#1}}
|
||||||
|
@ -14,6 +37,7 @@
|
||||||
\newcommand*{\institution}[1]{\gdef\@institution{#1}}
|
\newcommand*{\institution}[1]{\gdef\@institution{#1}}
|
||||||
\newcommand*{\department}[1]{\gdef\@department{#1}}
|
\newcommand*{\department}[1]{\gdef\@department{#1}}
|
||||||
\newcommand*{\researchgroup}[1]{\gdef\@researchgroup{#1}}
|
\newcommand*{\researchgroup}[1]{\gdef\@researchgroup{#1}}
|
||||||
|
\newcommand*{\subtitle}[1]{\gdef\@subtitle{#1}}
|
||||||
|
|
||||||
\renewcommand*{\maketitle}{%
|
\renewcommand*{\maketitle}{%
|
||||||
\begin{titlepage}
|
\begin{titlepage}
|
||||||
|
@ -43,17 +67,16 @@
|
||||||
% IMPRINT PAGE (BACK OF TITLE PAGE)
|
% IMPRINT PAGE (BACK OF TITLE PAGE)
|
||||||
\newpage
|
\newpage
|
||||||
\thispagestyle{plain}
|
\thispagestyle{plain}
|
||||||
\vspace*{4.5cm}
|
\textit{\@title}\\
|
||||||
\@title\\
|
|
||||||
\@subtitle\\
|
\@subtitle\\
|
||||||
|
\copyright\ \the\year ~ \MakeUppercase{\@author}
|
||||||
|
\vspace{4.5cm}
|
||||||
|
|
||||||
|
\setlength{\parskip}{0.5cm}
|
||||||
\textbf{Author:}\\
|
\textbf{Author:}\\
|
||||||
\@author\\
|
\@author\\
|
||||||
\href{mailto:\@authoremail>}{\texttt{<\@authoremail>}}
|
\href{mailto:\@authoremail>}{\texttt{<\@authoremail>}}
|
||||||
\setlength{\parskip}{1cm}
|
|
||||||
|
|
||||||
\copyright ~ \MakeUppercase{\@author}, \the\year.
|
|
||||||
|
|
||||||
\setlength{\parskip}{0.5cm}
|
|
||||||
\textbf{Supervisor:}\\
|
\textbf{Supervisor:}\\
|
||||||
\@supervisor\\
|
\@supervisor\\
|
||||||
\href{mailto:\@supervisoremail>}{\texttt{<\@supervisoremail>}}\\
|
\href{mailto:\@supervisoremail>}{\texttt{<\@supervisoremail>}}\\
|
||||||
|
@ -67,20 +90,18 @@
|
||||||
\textbf{Examiner:}\\
|
\textbf{Examiner:}\\
|
||||||
\@examiner\\
|
\@examiner\\
|
||||||
\href{mailto:\@examineremail>}{\texttt{<\@examineremail>}}\\
|
\href{mailto:\@examineremail>}{\texttt{<\@examineremail>}}\\
|
||||||
\@examinerdepartment\setlength{\parskip}{1cm}
|
\@examinerdepartment
|
||||||
|
|
||||||
|
\vfill
|
||||||
Master's Thesis \the\year\\ % Report number currently not in use
|
Master's Thesis \the\year\\ % Report number currently not in use
|
||||||
\@department\\
|
\@department\\
|
||||||
%Division of Division name\\
|
%Division of Division name\\
|
||||||
%Name of research group (if applicable)\\
|
%Name of research group (if applicable)\\
|
||||||
\@institution\\
|
\@institution\\
|
||||||
SE-412 96 Gothenburg\\
|
SE-412 96 Gothenburg\\
|
||||||
Telephone +46 31 772 1000 \setlength{\parskip}{0.5cm}
|
Telephone +46 31 772 1000 \setlength{\parskip}{0.5cm}\\
|
||||||
|
|
||||||
\vfill
|
|
||||||
% Caption for cover page figure if used, possibly with reference to further information in the report
|
% Caption for cover page figure if used, possibly with reference to further information in the report
|
||||||
%% Cover: Wind visualization constructed in Matlab showing a surface of constant wind speed along with streamlines of the flow. \setlength{\parskip}{0.5cm}
|
%% Cover: Wind visualization constructed in Matlab showing a surface of constant wind speed along with streamlines of the flow. \setlength{\parskip}{0.5cm}
|
||||||
|
|
||||||
%Printed by [Name of printing company]\\
|
%Printed by [Name of printing company]\\
|
||||||
Gothenburg, Sweden \the\year
|
Gothenburg, Sweden \the\year
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ $$
|
||||||
$$
|
$$
|
||||||
%
|
%
|
||||||
The two types are logically equivalent, however. One can construct the latter
|
The two types are logically equivalent, however. One can construct the latter
|
||||||
from the formerr simply by ``forgetting'' that $\idToIso$ plays the role
|
from the former simply by ``forgetting'' that $\idToIso$ plays the role
|
||||||
of the equivalence. The other direction is more involved.
|
of the equivalence. The other direction is more involved.
|
||||||
|
|
||||||
With all this in place it is now possible to prove that all the laws are indeed
|
With all this in place it is now possible to prove that all the laws are indeed
|
||||||
|
@ -367,9 +367,10 @@ $$
|
||||||
$$
|
$$
|
||||||
%
|
%
|
||||||
%
|
%
|
||||||
$$
|
\begin{align}
|
||||||
|
\label{eq:coeCod}
|
||||||
\mathit{coeCod} \tp \prod_{f \tp A \to X} \mathit{coe}\ p_{\mathit{cod}}\ f \equiv \iota \lll f
|
\mathit{coeCod} \tp \prod_{f \tp A \to X} \mathit{coe}\ p_{\mathit{cod}}\ f \equiv \iota \lll f
|
||||||
$$
|
\end{align}
|
||||||
%
|
%
|
||||||
I will give the proof of the first theorem here, the second one is analagous.
|
I will give the proof of the first theorem here, the second one is analagous.
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
|
@ -452,7 +453,8 @@ arguments. Or in other words since $\Hom_{A\ B}$ is a set for all $A\ B \tp
|
||||||
\Object$ then so is $\Hom_{B\ A}$.
|
\Object$ then so is $\Hom_{B\ A}$.
|
||||||
|
|
||||||
Now, to show that this category is univalent is not as straight-forward. Lucliy
|
Now, to show that this category is univalent is not as straight-forward. Lucliy
|
||||||
section \ref{sec:equiv} gave us some tools to work with equivalences. We saw that we
|
section \ref{sec:equiv} gave us some tools to work with equivalences.
|
||||||
|
We saw that we
|
||||||
can prove this category univalent by giving an inverse to
|
can prove this category univalent by giving an inverse to
|
||||||
$\idToIso_{\mathit{Op}} \tp (A \equiv B) \to (A \approxeq_{\mathit{Op}} B)$.
|
$\idToIso_{\mathit{Op}} \tp (A \equiv B) \to (A \approxeq_{\mathit{Op}} B)$.
|
||||||
From the original category we have that $\idToIso \tp (A \equiv B) \to (A \cong
|
From the original category we have that $\idToIso \tp (A \equiv B) \to (A \cong
|
||||||
|
@ -692,9 +694,10 @@ then we know that products also are propositions. But before we get to that,
|
||||||
let's recall the definition of products.
|
let's recall the definition of products.
|
||||||
|
|
||||||
\subsection{Products}
|
\subsection{Products}
|
||||||
Given a category $\bC$ and two objects $A$ and $B$ in $bC$ we define the product
|
Given a category $\bC$ and two objects $A$ and $B$ in $\bC$ we define the
|
||||||
of $A$ and $B$ to be an object $A \x B$ in $\bC$ and two arrows $\pi_1 \tp A \x
|
product of $A$ and $B$ to be an object $A \x B$ in $\bC$ and two arrows $\pi_1
|
||||||
B \to A$ and $\pi_2 \tp A \x B \to B$ called the projections of the product. The projections must satisfy the following property:
|
\tp A \x B \to A$ and $\pi_2 \tp A \x B \to B$ called the projections of the
|
||||||
|
product. The projections must satisfy the following property:
|
||||||
|
|
||||||
For all $X \tp Object$, $f \tp \Arrow\ X\ A$ and $g \tp \Arrow\ X\ B$ we have
|
For all $X \tp Object$, $f \tp \Arrow\ X\ A$ and $g \tp \Arrow\ X\ B$ we have
|
||||||
that there exists a unique arrow $\pi \tp \Arrow\ X\ (A \x B)$ satisfying
|
that there exists a unique arrow $\pi \tp \Arrow\ X\ (A \x B)$ satisfying
|
||||||
|
@ -706,8 +709,8 @@ that there exists a unique arrow $\pi \tp \Arrow\ X\ (A \x B)$ satisfying
|
||||||
\pi_1 \lll \pi \equiv f \x \pi_2 \lll \pi \equiv g
|
\pi_1 \lll \pi \equiv f \x \pi_2 \lll \pi \equiv g
|
||||||
%% ump : ∀ {X : Object} (f : ℂ [ X , A ]) (g : ℂ [ X , B ])
|
%% ump : ∀ {X : Object} (f : ℂ [ X , A ]) (g : ℂ [ X , B ])
|
||||||
%% → ∃![ f×g ] (ℂ [ fst ∘ f×g ] ≡ f P.× ℂ [ snd ∘ f×g ] ≡ g)
|
%% → ∃![ f×g ] (ℂ [ fst ∘ f×g ] ≡ f P.× ℂ [ snd ∘ f×g ] ≡ g)
|
||||||
\end{align*}
|
\end{align}
|
||||||
$
|
%
|
||||||
$\pi$ is called the product (arrow) of $f$ and $g$.
|
$\pi$ is called the product (arrow) of $f$ and $g$.
|
||||||
|
|
||||||
\subsection{Pair category}
|
\subsection{Pair category}
|
||||||
|
@ -715,7 +718,7 @@ $\pi$ is called the product (arrow) of $f$ and $g$.
|
||||||
\newcommand\pairA{\mathcal{A}}
|
\newcommand\pairA{\mathcal{A}}
|
||||||
\newcommand\pairB{\mathcal{B}}
|
\newcommand\pairB{\mathcal{B}}
|
||||||
Given a base category $\bC$ and two objects in this category $\pairA$ and
|
Given a base category $\bC$ and two objects in this category $\pairA$ and
|
||||||
$\pairrB$ we can construct the ``pair category'': \TODO{This is a working title,
|
$\pairB$ we can construct the ``pair category'': \TODO{This is a working title,
|
||||||
it's nice to have a name for this thing to refer back to}
|
it's nice to have a name for this thing to refer back to}
|
||||||
|
|
||||||
The type objects in this category will be an object in the underlying category,
|
The type objects in this category will be an object in the underlying category,
|
||||||
|
@ -731,11 +734,9 @@ category will consist of an arrow from the underlying category $\pairf \tp
|
||||||
\Arrow\ A\ B$ satisfying:
|
\Arrow\ A\ B$ satisfying:
|
||||||
%
|
%
|
||||||
\begin{align}
|
\begin{align}
|
||||||
\begin{split}
|
|
||||||
\label{eq:pairArrowLaw}
|
\label{eq:pairArrowLaw}
|
||||||
b_0 \lll f & \equiv a_0 \\
|
b_0 \lll f \equiv a_0 \x
|
||||||
b_1 \lll f & \equiv a_1
|
b_1 \lll f \equiv a_1
|
||||||
\end{split}
|
|
||||||
\end{align}
|
\end{align}
|
||||||
|
|
||||||
The identity morphism is the identity morphism from the underlying category.
|
The identity morphism is the identity morphism from the underlying category.
|
||||||
|
@ -758,6 +759,160 @@ choose $g \lll f$ and we must now verify that it satisfies
|
||||||
a_0
|
a_0
|
||||||
&& \text{$g$ satisfies \ref{eq:pairArrowLaw}} \\
|
&& \text{$g$ satisfies \ref{eq:pairArrowLaw}} \\
|
||||||
\end{align*}
|
\end{align*}
|
||||||
|
%
|
||||||
|
Now we must verify the category-laws. For all the laws we will follow the
|
||||||
|
pattern of using the law from the underlying category, and that the type of
|
||||||
|
arrows form a set. For instance, to prove associativity we must prove that
|
||||||
|
%
|
||||||
|
\begin{align}
|
||||||
|
\label{eq:productAssoc}
|
||||||
|
\overline{h} \lll (\overline{g} \lll \overline{f})
|
||||||
|
\equiv
|
||||||
|
(\overline{h} \lll \overline{g}) \lll \overline{f}
|
||||||
|
\end{align}
|
||||||
|
%
|
||||||
|
Herer $\lll$ refers to the `embellished' composition abd $\overline{f}$,
|
||||||
|
$\overline{g}$ and $\overline{h}$ are triples consisting of arrows from the
|
||||||
|
underlying category ($f$, $g$ and $h$) and a pair of witnesses to
|
||||||
|
\ref{eq:pairArrowLaw}.
|
||||||
|
%% Luckily those winesses are paths in the hom-set of the
|
||||||
|
%% underlying category which is a set, so these are mere propositions.
|
||||||
|
The proof
|
||||||
|
obligations is:
|
||||||
|
%
|
||||||
|
\begin{align}
|
||||||
|
\label{eq:productAssocUnderlying}
|
||||||
|
h \lll (g \lll f)
|
||||||
|
\equiv
|
||||||
|
(h \lll g) \lll f
|
||||||
|
\end{align}
|
||||||
|
%
|
||||||
|
Which is provable by and that the witness to \ref{eq:pairArrowLaw} for the
|
||||||
|
left-hand-side and the right-hand-side are the same. The type of this goal is
|
||||||
|
quite involved, and I will not write it out in full, but it suffices to show the
|
||||||
|
type of the path-space. Note that the arrows in \ref{eq:productAssoc} are arrows
|
||||||
|
from $\mathcal{A} = (A , a_\pairA , a_\pairB)$ to $\mathcal{D} = (D , d_\pairA ,
|
||||||
|
d_\pairB)$ where $a_\pairA$, $a_\pairB$, $d_\pairA$ and $d_\pairB$ are arrows in
|
||||||
|
the underlying category. Given that $p$ is the proof of
|
||||||
|
\ref{eq:productAssocUnderlying} we then have that the witness to
|
||||||
|
\ref{eq:pairArrowLaw} vary over the type:
|
||||||
|
%
|
||||||
|
\begin{align}
|
||||||
|
\label{eq:productPath}
|
||||||
|
λ\ i → d_\pairA \lll p\ i ≡ a_\pairA × d_\pairB \lll p\ i ≡ a_\pairB
|
||||||
|
\end{align}
|
||||||
|
%
|
||||||
|
And these paths are in the type of the hom-set of the underlying category, so
|
||||||
|
they are mere propositions. We cannot apply the fact that arrows in $\bC$ are
|
||||||
|
sets directly, however, since $\isSet$ only talks about non-dependent paths, in
|
||||||
|
stead we generalize \ref{eq:productPath} to:
|
||||||
|
%
|
||||||
|
\begin{align}
|
||||||
|
\label{eq:productEqPrinc}
|
||||||
|
\prod_{f \tp \Arrow\ X\ Y} \isProp\ \left( y_\pairA \lll f ≡ x_\pairA × y_\pairB \lll f ≡ x_\pairB \right)
|
||||||
|
\end{align}
|
||||||
|
%
|
||||||
|
For all objects $X , x_\pairA , x_\pairB$ and $Y , y_\pairA , y_\pairB$, but
|
||||||
|
this follows from pairs preserving homotopical structure and arrows in the
|
||||||
|
underlying category being sets. This gives us an equality principle for arrows
|
||||||
|
in this category that says that to prove two arrows $f, f_0, f_1$ and $g, g_0,
|
||||||
|
$g_1$ equal it suffices to give a proof that $f$ and $g$ are equal.
|
||||||
|
%% %
|
||||||
|
%% $$
|
||||||
|
%% \prod_{(f, f_0, f_1)\; (g,g_0,g_1) \tp \Arrow\ X\ Y} f \equiv g \to (f, f_0, f_1) \equiv (g,g_0,g_1)
|
||||||
|
%% $$
|
||||||
|
%% %
|
||||||
|
And thus we have proven \ref{eq:productAssoc} simply with
|
||||||
|
\ref{eq:productAssocUnderlying}.
|
||||||
|
|
||||||
|
Now we must prove that arrows form a set:
|
||||||
|
%
|
||||||
|
$$
|
||||||
|
\isSet\ (\Arrow\ \mathcal{X}\ \mathcal{Y})
|
||||||
|
$$
|
||||||
|
%
|
||||||
|
Since pairs preserve homotopical structure this reduces to:
|
||||||
|
%
|
||||||
|
$$
|
||||||
|
\isSet\ (\Arrow_\bC\ X\ Y)
|
||||||
|
$$
|
||||||
|
%
|
||||||
|
Which holds. And
|
||||||
|
%
|
||||||
|
$$
|
||||||
|
\prod_{f \tp \Arrow\ X\ Y} \isSet\ \left( y_\pairA \lll f ≡ x_\pairA × y_\pairB \lll f ≡ x_\pairB \right)
|
||||||
|
$$
|
||||||
|
%
|
||||||
|
This we get from \ref{eq:productEqPrinc} and the fact that homotopical structure
|
||||||
|
is cumulative.
|
||||||
|
|
||||||
|
This finishes the proof that this is a valid pre-category.
|
||||||
|
|
||||||
|
\subsubsection{Univalence}
|
||||||
|
To prove that this is a proper category it must be shown that it is univalent.
|
||||||
|
That is, for any two objects $\mathcal{X} = (X, x_\mathcal{A} , x_\mathca{B})$
|
||||||
|
and $\mathcal{Y} = Y, y_\mathcal{A}, y_\mathcal{B}$ I will show:
|
||||||
|
%
|
||||||
|
\begin{align}
|
||||||
|
(\mathcal{X} \equiv \mathcal{Y}) \cong (\mathcal{X} \approxeq \mathcal{Y})
|
||||||
|
\end{align}
|
||||||
|
|
||||||
|
I do this by showing that the following sequence of types are isomorphic.
|
||||||
|
|
||||||
|
The first type is:
|
||||||
|
%
|
||||||
|
\begin{align}
|
||||||
|
\label{eq:univ-0}
|
||||||
|
(X , x_\mathcal{A} , x_\mathcal{B}) ≡ (Y , y_\mathcal{A} , y_\mathcal{B})
|
||||||
|
\end{align}
|
||||||
|
%
|
||||||
|
The next types will be the triple:
|
||||||
|
%
|
||||||
|
\begin{align}
|
||||||
|
\label{eq:univ-1}
|
||||||
|
\begin{split}
|
||||||
|
p \tp & X \equiv Y \\
|
||||||
|
& \Path\ (λ i → \Arrow\ (p\ i)\ \mathcal{A})\ x_\mathcal{A}\ y_\mathcal{A} \\
|
||||||
|
& \Path\ (λ i → \Arrow\ (p\ i)\ \mathcal{B})\ x_\mathcal{B}\ y_\mathcal{B}
|
||||||
|
\end{split}
|
||||||
|
%% \end{split}
|
||||||
|
\end{align}
|
||||||
|
|
||||||
|
The next type is very similar, but in stead of a path we will have an
|
||||||
|
isomorphism, and create a path from this:
|
||||||
|
%
|
||||||
|
\begin{align}
|
||||||
|
\label{eq:univ-2}
|
||||||
|
\begin{split}
|
||||||
|
\var{iso} \tp & X \cong Y \\
|
||||||
|
& \Path\ (λ i → \Arrow\ (\widetilde{p}\ i)\ \mathcal{A})\ x_\mathcal{A}\ y_\mathcal{A} \\
|
||||||
|
& \Path\ (λ i → \Arrow\ (\widetilde{p}\ i)\ \mathcal{B})\ x_\mathcal{B}\ y_\mathcal{B}
|
||||||
|
\end{split}
|
||||||
|
\end{align}
|
||||||
|
%
|
||||||
|
Where $\widetilde{p} \defeq \var{isoToId}\ \var{iso} \tp X \equiv Y$.
|
||||||
|
|
||||||
|
Finally we have the type:
|
||||||
|
%
|
||||||
|
\begin{align}
|
||||||
|
\label{eq:univ-3}
|
||||||
|
(X , x_\mathcal{A} , x_\mathcal{B}) ≊ (Y , y_\mathcal{A} , y_\mathcal{B})
|
||||||
|
\end{align}
|
||||||
|
|
||||||
|
\emph{Proposition} \ref{eq:univ-0} is isomorphic to \ref{eq:univ-1}: This is
|
||||||
|
just an application of the fact that a path between two pairs $a_0, a_1$ and
|
||||||
|
$b_0, b_1$ corresponds to a pair of paths between $a_0,b_0$ and $a_1,b_1$ (check
|
||||||
|
the implementation for the details).
|
||||||
|
|
||||||
|
\emph{Proposition} \ref{eq:univ-1} is isomorphic to \ref{eq:univ-2}:
|
||||||
|
\TODO{Super complicated}
|
||||||
|
|
||||||
|
\emph{Proposition} \ref{eq:univ-2} is isomorphic to \ref{eq:univ-3}:
|
||||||
|
For this I will two corrolaries of \ref{eq:coeCod}:
|
||||||
|
%
|
||||||
|
\begin{align}
|
||||||
|
\label{domain-twist}
|
||||||
|
\end{align}
|
||||||
|
|
||||||
\section{Monads}
|
\section{Monads}
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ which is:
|
||||||
%
|
%
|
||||||
\newcommand{\suc}[1]{\mathit{suc}\ #1}
|
\newcommand{\suc}[1]{\mathit{suc}\ #1}
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
+ & : \bN \to \bN \\
|
+ & : \bN \to \bN \to \bN \\
|
||||||
n + 0 & \defeq n \\
|
n + 0 & \defeq n \\
|
||||||
n + (\suc{m}) & \defeq \suc{(n + m)}
|
n + (\suc{m}) & \defeq \suc{(n + m)}
|
||||||
\end{align*}
|
\end{align*}
|
||||||
|
@ -69,7 +69,7 @@ The proof obligation that this satisfies the identity law of functors
|
||||||
%
|
%
|
||||||
One needs functional extensionality to ``go under'' the function arrow and apply
|
One needs functional extensionality to ``go under'' the function arrow and apply
|
||||||
the (left) identity law of the underlying category to proove $\idFun \comp g
|
the (left) identity law of the underlying category to proove $\idFun \comp g
|
||||||
\equiv g$ and thus closing the.
|
\equiv g$ and thus closing the goal.
|
||||||
%
|
%
|
||||||
\subsection{Equality of isomorphic types}
|
\subsection{Equality of isomorphic types}
|
||||||
%
|
%
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
|
|
||||||
\newcommand{\coloneqq}{\mathrel{\vcenter{\baselineskip0.5ex \lineskiplimit0pt
|
\newcommand{\coloneqq}{\mathrel{\vcenter{\baselineskip0.5ex \lineskiplimit0pt
|
||||||
\hbox{\scriptsize.}\hbox{\scriptsize.}}}%
|
\hbox{\scriptsize.}\hbox{\scriptsize.}}}%
|
||||||
=}
|
=}
|
||||||
|
|
||||||
\newcommand{\defeq}{\coloneqq}
|
\newcommand{\defeq}{\triangleq}
|
||||||
\newcommand{\bN}{\mathbb{N}}
|
\newcommand{\bN}{\mathbb{N}}
|
||||||
\newcommand{\bC}{\mathbb{C}}
|
\newcommand{\bC}{\mathbb{C}}
|
||||||
\newcommand{\bX}{\mathbb{X}}
|
\newcommand{\bX}{\mathbb{X}}
|
||||||
|
|
24
doc/main.tex
24
doc/main.tex
|
@ -4,9 +4,29 @@
|
||||||
\input{packages.tex}
|
\input{packages.tex}
|
||||||
\input{macros.tex}
|
\input{macros.tex}
|
||||||
|
|
||||||
\title{Univalent categories in cubical Agda}
|
\title{Univalent Categories in Cubical Agda}
|
||||||
\subtitle{}
|
|
||||||
\author{Frederik Hanghøj Iversen}
|
\author{Frederik Hanghøj Iversen}
|
||||||
|
|
||||||
|
%% \usepackage[
|
||||||
|
%% subtitle=foo,
|
||||||
|
%% author=Frederik Hanghøj Iversen,
|
||||||
|
%% authoremail=hanghj@student.chalmers.se,
|
||||||
|
%% newcommand=chalmers,=Chalmers University of Technology,
|
||||||
|
%% supervisor=Thierry Coquand,
|
||||||
|
%% supervisoremail=coquand@chalmers.se,
|
||||||
|
%% supervisordepartment=chalmers,
|
||||||
|
%% cosupervisor=Andrea Vezzosi,
|
||||||
|
%% cosupervisoremail=vezzosi@chalmers.se,
|
||||||
|
%% cosupervisordepartment=chalmers,
|
||||||
|
%% examiner=Andreas Abel,
|
||||||
|
%% examineremail=abela@chalmers.se,
|
||||||
|
%% examinerdepartment=chalmers,
|
||||||
|
%% institution=chalmers,
|
||||||
|
%% department=Department of Computer Science and Engineering,
|
||||||
|
%% researchgroup=Programming Logic Group
|
||||||
|
%% ]{chalmerstitle}
|
||||||
|
\usepackage{chalmerstitle}
|
||||||
|
\subtitle{}
|
||||||
\authoremail{hanghj@student.chalmers.se}
|
\authoremail{hanghj@student.chalmers.se}
|
||||||
\newcommand{\chalmers}{Chalmers University of Technology}
|
\newcommand{\chalmers}{Chalmers University of Technology}
|
||||||
\supervisor{Thierry Coquand}
|
\supervisor{Thierry Coquand}
|
||||||
|
|
|
@ -28,15 +28,17 @@
|
||||||
\usepackage{listings}
|
\usepackage{listings}
|
||||||
\usepackage{fancyvrb}
|
\usepackage{fancyvrb}
|
||||||
|
|
||||||
\usepackage{chalmerstitle}
|
|
||||||
|
|
||||||
\usepackage{mathpazo}
|
\usepackage{mathpazo}
|
||||||
\usepackage[scaled=0.95]{helvet}
|
\usepackage[scaled=0.95]{helvet}
|
||||||
\usepackage{courier}
|
\usepackage{courier}
|
||||||
\linespread{1.05} % Palatino looks better with this
|
\linespread{1.05} % Palatino looks better with this
|
||||||
|
|
||||||
|
\usepackage{lmodern}
|
||||||
|
|
||||||
\usepackage{fontspec}
|
\usepackage{fontspec}
|
||||||
\setmonofont[Mapping=tex-text]{FreeMono.otf}
|
\usepackage{sourcecodepro}
|
||||||
|
%% \setmonofont{Latin Modern Mono}
|
||||||
|
%% \setmonofont[Mapping=tex-text]{FreeMono.otf}
|
||||||
%% \setmonofont{FreeMono.otf}
|
%% \setmonofont{FreeMono.otf}
|
||||||
|
|
||||||
|
|
||||||
|
@ -44,3 +46,9 @@
|
||||||
\setlength{\headheight}{15pt}
|
\setlength{\headheight}{15pt}
|
||||||
\renewcommand{\chaptermark}[1]{\markboth{\textsc{Chapter \thechapter. #1}}{}}
|
\renewcommand{\chaptermark}[1]{\markboth{\textsc{Chapter \thechapter. #1}}{}}
|
||||||
\renewcommand{\sectionmark}[1]{\markright{\textsc{\thesection\ #1}}}
|
\renewcommand{\sectionmark}[1]{\markright{\textsc{\thesection\ #1}}}
|
||||||
|
|
||||||
|
% Allows for the use of unicode-letters:
|
||||||
|
\usepackage{unicode-math}
|
||||||
|
|
||||||
|
|
||||||
|
%% \RequirePackage{kvoptions}
|
||||||
|
|
Loading…
Reference in a new issue