Merge branch 'dev'

This commit is contained in:
Frederik Hanghøj Iversen 2018-05-31 01:07:31 +02:00
commit 33f7e2ebbb
11 changed files with 44 additions and 28 deletions

View file

@ -4,8 +4,10 @@ build: src/**.agda
clean: clean:
find src -name "*.agdai" -type f -delete find src -name "*.agdai" -type f -delete
html: html: src/**.agda
agda --html src/Cat.agda agda --html src/Cat.agda
upload: html upload: html
scp -r html/ remote11.chalmers.se:www/cat/doc/ scp -r html/ remote11.chalmers.se:www/cat/doc/
.PHONY: upload clean

1
doc/.gitignore vendored
View file

@ -4,6 +4,7 @@
*.log *.log
*.out *.out
*.pdf *.pdf
!assets/**
*.bbl *.bbl
*.blg *.blg
*.toc *.toc

View file

@ -1,3 +1,13 @@
Presentation
====
Find one clear goal.
Remember crowd-control.
Leave out:
lemPropF
Talk about structure of library: Talk about structure of library:
=== ===

View file

@ -1,18 +1,18 @@
\chapter*{Abstract} \chapter*{Abstract}
The usual notion of propositional equality in intensional type-theory The usual notion of propositional equality in intensional type-theory
is restrictive. For instance it does not admit functional is restrictive. For instance it does not admit functional
extensionality nor univalence. This poses a severe limitation on both extensionality nor univalence. This poses a severe limitation on both
what is \emph{provable} and the \emph{re-usability} of proofs. Recent what is \emph{provable} and the \emph{re-usability} of proofs. Recent
developments have however resulted in cubical type theory which developments have however resulted in cubical type theory which
permits a constructive proof of these two important notions. The permits a constructive proof of these two important notions. The
programming language Agda has been extended with capabilities for programming language Agda has been extended with capabilities for
working in such a cubical setting. This thesis will explore the working in such a cubical setting. This thesis will explore the
usefulness of this extension in the context of category theory. usefulness of this extension in the context of category theory.
The thesis will motivate the need for univalence and explain why The thesis will motivate the need for univalence and explain why
propositional equality in cubical Agda is more expressive than in propositional equality in cubical Agda is more expressive than in
standard Agda. Alternative approaches to Cubical Agda will be standard Agda. Alternative approaches to Cubical Agda will be
presented and their pros and cons will be explained. As an example of presented and their pros and cons will be explained. As an example of
the application of univalence two formulations of monads will be the application of univalence two formulations of monads will be
presented: Namely monads in the monoidal form and monads in the presented: Namely monads in the monoidal form and monads in the
Kleisli form and under the univalent interpretation it will be shown Kleisli form and under the univalent interpretation it will be shown
@ -20,5 +20,5 @@ how these are equal.
Finally the thesis will explain the challenges that a developer will Finally the thesis will explain the challenges that a developer will
face when working with cubical Agda and give some techniques to face when working with cubical Agda and give some techniques to
overcome these difficulties. It will also try to suggest how further overcome these difficulties. It will also try to suggest how further
work can help alleviate some of these challenges. work can help alleviate some of these challenges.

View file

@ -1 +0,0 @@
\chapter*{Acknowledgements}

View file

@ -7,7 +7,7 @@ can conjure up various proofs. I also want to recognize the support
of Knud Højgaards Fond who graciously sponsored me with a 20.000 DKK of Knud Højgaards Fond who graciously sponsored me with a 20.000 DKK
scholarship which helped toward sponsoring the two years I have spent scholarship which helped toward sponsoring the two years I have spent
studying abroad. I would also like to give a warm thanks to my fellow studying abroad. I would also like to give a warm thanks to my fellow
students Pierre Kraft and Nachiappan Villiappan who have made the time students Pierre~Kraft and Nachiappan~Valliappan who have made the time
spent working on the thesis way more enjoyable. Lastly I would like to spent working on the thesis way more enjoyable. Lastly I would like to
give a special thanks to Valentina Méndez who have been a great moral give a special thanks to Valentina~Méndez who have been a great moral
support throughout the whole process. support throughout the whole process.

BIN
doc/assets/logo_eng.pdf Normal file

Binary file not shown.

View file

@ -80,7 +80,7 @@ Master's thesis in Computer Science
\vfill \vfill
\centering \centering
\includegraphics[width=0.2\pdfpagewidth]{logo_eng.pdf} \includegraphics[width=0.2\pdfpagewidth]{assets/logo_eng.pdf}
\vspace{5mm} \vspace{5mm}
\textsc{Department of Computer Science and Engineering}\\ \textsc{Department of Computer Science and Engineering}\\

View file

@ -75,8 +75,8 @@ some limitations inherent in ITT and -- by extension -- Agda.
Consider the functions: Consider the functions:
% %
\begin{align*}% \begin{align*}%
\var{zeroLeft} & \defeq \lambda\; (n \tp \bN) \to (0 + n \tp \bN) \\ \var{zeroLeft} & \defeq λ\; (n \tp \bN) \to (0 + n \tp \bN) \\
\var{zeroRight} & \defeq \lambda\; (n \tp \bN) \to (n + 0 \tp \bN) \var{zeroRight} & \defeq λ\; (n \tp \bN) \to (n + 0 \tp \bN)
\end{align*}% \end{align*}%
% %
The term $n + 0$ is \nomenindex{definitionally} equal to $n$, which we The term $n + 0$ is \nomenindex{definitionally} equal to $n$, which we

View file

@ -4,8 +4,12 @@
%% \usecolortheme[named=seagull]{structure} %% \usecolortheme[named=seagull]{structure}
\input{packages.tex} \input{packages.tex}
\input{macros.tex} \input{macros.tex}
\title[Univalent Categories]{Univalent Categories\\ \footnotesize A formalization of category theory in Cubical Agda}
\title{Univalent Categories}
\subtitle{A formalization of category theory in Cubical Agda}
\newcommand{\myname}{Frederik Hangh{\o}j Iversen} \newcommand{\myname}{Frederik Hangh{\o}j Iversen}
\author[\myname]{ \author[\myname]{
\myname\\ \myname\\
@ -74,14 +78,14 @@
\framesubtitle{Definition} \framesubtitle{Definition}
Heterogeneous paths Heterogeneous paths
\begin{equation*} \begin{equation*}
\Path \tp (P \tp I → \MCU) → P\ 0 → P\ 1 → \MCU \Path \tp (P \tp \I\MCU) → P\ 0 → P\ 1 → \MCU
\end{equation*} \end{equation*}
\pause \pause
For $P \tp I → \MCU$, $A \tp \MCU$ and $a_0, a_1 \tp A$ For $P \tp \I\MCU$, $A \tp \MCU$ and $a_0, a_1 \tp A$
inhabitants of $\Path\ P\ a_0\ a_1$ are like functions inhabitants of $\Path\ P\ a_0\ a_1$ are like functions
% %
$$ $$
p \tp_{i \tp I} P\ i p \tp_{i \tp \I} P\ i
$$ $$
% %
Which satisfy $p\ 0 & = a_0$ and $p\ 1 & = a_1$ Which satisfy $p\ 0 & = a_0$ and $p\ 1 & = a_1$
@ -255,13 +259,13 @@
\end{align*} \end{align*}
where where
$$ $$
\phi\ f ≜ \identity \phi\ f ≜
( \lll f ≡ f ) ( \identity \lll f ≡ f )
× ×
( f \lll \identity ≡ f) ( f \lll \identity ≡ f)
$$ $$
\pause \pause
Let $\approxeq$ denote ismorphism of objects. We can then construct Let $\approxeq$ denote isomorphism of objects. We can then construct
the identity isomorphism in any category: the identity isomorphism in any category:
$$ $$
\identity , \identity , \var{isIdentity} \tp A \approxeq A \identity , \identity , \var{isIdentity} \tp A \approxeq A
@ -326,7 +330,7 @@
Use $\lemPropF$ for the latter. Use $\lemPropF$ for the latter.
\pause \pause
% %
Univalence is indexed by an identity proof. So $A ≜ Univalence is indexed by an identity proof. So $A ≜
IsIdentity\ identity$ and $B ≜ \var{Univalent}$. IsIdentity\ identity$ and $B ≜ \var{Univalent}$.
\pause \pause
% %
@ -379,7 +383,7 @@
\end{align*} \end{align*}
\pause \pause
% %
Induction will be based at $A$. Let $\widetilde{B}$ and $\widetilde{p} Induction will be based at $A$. Let $\widetilde{B}$ and $\widetilde{p}
\tp A ≡ \widetilde{B}$ be given. \tp A ≡ \widetilde{B}$ be given.
% %
\pause \pause
@ -582,7 +586,7 @@
\end{align*} \end{align*}
\pause \pause
% %
Let $\fmap$ be the map on arrows of $\EndoR$. Likewise Let $\fmap$ be the map on arrows of $\EndoR$. Likewise
$\pure$ and $\join$ are the maps of the natural transformations $\pure$ and $\join$ are the maps of the natural transformations
$\pureNT$ and $\joinNT$ respectively. $\pureNT$ and $\joinNT$ respectively.
% %
@ -643,7 +647,7 @@
\join\bind\ \identity \join\bind\ \identity
$$ $$
\pause \pause
The laws are logically equivalent. So we get: The laws are logically equivalent. So we get:
% %
$$ $$
\var{Monoidal}\var{Kleisli} \var{Monoidal}\var{Kleisli}

View file

@ -37,7 +37,7 @@ Master's thesis in Computer Science
\vfill \vfill
\centering \centering
\includegraphics[width=0.2\pdfpagewidth]{logo_eng.pdf} \includegraphics[width=0.2\pdfpagewidth]{assets/logo_eng.pdf}
\vspace{5mm} \vspace{5mm}
\textsc{Department of Computer Science and Engineering}\\ \textsc{Department of Computer Science and Engineering}\\