mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
212 lines
6.8 KiB
TeX
212 lines
6.8 KiB
TeX
\documentclass[a4paper,11pt,numbers=noenddot]{scrbook}
|
|
|
|
\usepackage[top=2cm,lmargin=1in,rmargin=1in,bottom=3cm,hmarginratio=1:1]{geometry}
|
|
\usepackage[ngerman, main=british]{babel}
|
|
\babeltags{german=ngerman}
|
|
\usepackage{minted}
|
|
\setminted[agda]{
|
|
linenos=true,
|
|
breaklines=true,
|
|
encoding=utf8,
|
|
fontsize=\small,
|
|
frame=lines,
|
|
autogobble
|
|
}
|
|
\usepackage[dvipsnames]{xcolor} % Coloured text etc.
|
|
\usepackage{amssymb}
|
|
\usepackage{amsthm}
|
|
\usepackage{thmtools}
|
|
\usepackage{fancyvrb}
|
|
\usepackage{mathtools}
|
|
\usepackage{amsmath}
|
|
\usepackage{mathabx}
|
|
\usepackage{mathpartir}
|
|
% mathpartir uses \atop, amsmath overrides it to throw a warning tho, so we override it back to the original!
|
|
\makeatletter
|
|
\let\atop\@@atop
|
|
\makeatother
|
|
|
|
\usepackage{tikz}
|
|
\usetikzlibrary{cd, babel, quotes}
|
|
\usepackage{quiver}
|
|
\usepackage{stmaryrd} % for \llbracket and \rrbracket
|
|
\usepackage{ifthen}
|
|
\usepackage{xspace}
|
|
\usepackage{hyperref}
|
|
\usepackage{makeidx}
|
|
\usepackage{graphicx}
|
|
\usepackage{fvextra}
|
|
\usepackage[style=ieee, sorting=ynt, language=british]{biblatex} % advanced citations, british to make dates DD-MM-YYYY
|
|
\usepackage[english=british]{csquotes} % biblatex recommended to load this
|
|
\usepackage{etoolbox,xpatch}
|
|
|
|
\makeatletter
|
|
\AtBeginEnvironment{minted}{\dontdofcolorbox}\def\dontdofcolorbox{\renewcommand\fcolorbox[4][]{##4}}\xpatchcmd{\inputminted}{\minted@fvset}{\minted@fvset\dontdofcolorbox}{}{}\xpatchcmd{\mintinline}{\minted@fvset}{\minted@fvset\dontdofcolorbox}{}{} % see https://tex.stackexchange.com/a/401250/
|
|
\makeatother
|
|
\usepackage{scrhack}
|
|
|
|
\usepackage{multicol}
|
|
\addbibresource{bib.bib}
|
|
%\usepackage[right]{showlabels}
|
|
%\usepackage[justific=raggedright,totoc]{idxlayout}
|
|
\usepackage[type=CC, modifier=by-sa,version=4.0]{doclicense}
|
|
|
|
\addto\extrasenglish{
|
|
\renewcommand{\chapterautorefname}{Section}
|
|
\renewcommand{\sectionautorefname}{Section}
|
|
\renewcommand{\subsectionautorefname}{Subsection}
|
|
}
|
|
|
|
\newcommand\chap[1]{%
|
|
\chapter*{#1}%
|
|
\chaptermark{#1}%
|
|
\addcontentsline{toc}{chapter}{#1}}
|
|
|
|
\declaretheorem[name=Definition,style=definition,numberwithin=chapter]{definition}
|
|
\declaretheorem[name=Example,style=definition,sibling=definition]{example}
|
|
\declaretheorem[style=definition,numbered=no]{exercise}
|
|
\declaretheorem[name=Remark,style=definition,sibling=definition]{remark}
|
|
\declaretheorem[name=Assumption,style=definition,sibling=definition]{assumption}
|
|
\declaretheorem[name=Observation,style=definition,sibling=definition]{observation}
|
|
\declaretheorem[name=Theorem,sibling=definition]{theorem}
|
|
\declaretheorem[sibling=definition]{corollary}
|
|
\declaretheorem[name=Fact,sibling=definition]{fact}
|
|
\declaretheorem[sibling=definition]{lemma}
|
|
\declaretheorem[sibling=lemma]{proposition}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% %
|
|
% Spacing settings %
|
|
% %
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\setlength{\parindent}{0pt}
|
|
\setlength{\parskip}{6pt}
|
|
\setlength{\marginparsep}{0cm}
|
|
|
|
\title{Implementing Categorical Notions of Partiality and Delay in Agda}
|
|
|
|
\author{Leon Vatthauer}
|
|
|
|
\makeatletter
|
|
\hypersetup{
|
|
pdfauthor={\@author},
|
|
pdftitle={\@title},
|
|
% kill those ugly red rectangles around links
|
|
hidelinks,
|
|
}
|
|
\newcommand*{\theauthor}{\@author}
|
|
\makeatother
|
|
|
|
|
|
\usepackage{noto-mono}
|
|
\usepackage{unicode-math}
|
|
% \setmainfont{STIX-Regular}
|
|
% \setmathfont{STIX Two Math Regular}
|
|
|
|
\usepackage{mathrsfs}
|
|
\usepackage[colorinlistoftodos,prependcaption,textsize=tiny]{todonotes}
|
|
\usepackage{xargs}
|
|
\usepackage{xstring}
|
|
|
|
% https://unicodeplus.com/U+3016
|
|
\newcommand*{\lbparen}{〖}
|
|
\newcommand*{\rbparen}{〗}
|
|
|
|
% category C
|
|
\newcommand*{\C}{\ensuremath{\mathscr{C}}}
|
|
\newcommand*{\D}{\ensuremath{\mathscr{D}}}
|
|
% objects of category
|
|
\newcommand*{\obj}[1]{\ensuremath{\vert #1 \vert}}
|
|
% category of elgot algebras on #1
|
|
\newcommand*{\elgotalgs}[1]{\ensuremath{\mathit{ElgotAlgs}(#1)}}
|
|
% category of monads on #1
|
|
\newcommand*{\monads}[1]{\ensuremath{\mathit{Monads}(#1)}}
|
|
\newcommand*{\strongmonads}[1]{\ensuremath{\mathit{StrongMonads}(#1)}}
|
|
% category of pre-Elgot monads on #1
|
|
\newcommand*{\preelgot}[1]{\ensuremath{\mathit{PreElgot}(#1)}}
|
|
\newcommand*{\strongpreelgot}[1]{\ensuremath{\mathit{StrongPreElgot}(#1)}}
|
|
\newcommand*{\setoids}{\ensuremath{\mathit{Setoids}}}
|
|
% free objects
|
|
\newcommand*{\freee}[1]{\ensuremath{#1^\star}}
|
|
\newcommand*{\free}[1]{
|
|
\ensuremath{
|
|
\IfSubStr{#1}{\circ}
|
|
{{\freee{(#1)}}}
|
|
{\IfSubStr{#1}{\;}
|
|
{\freee{(#1)}}
|
|
{\freee{#1}}
|
|
}
|
|
}
|
|
}
|
|
% right stability
|
|
\newcommand*{\rss}[1]{\ensuremath{#1^\blacktriangleright}}
|
|
\newcommand*{\rs}[1]{
|
|
\ensuremath{
|
|
\IfSubStr{#1}{\circ}{{\rss{(#1)}}}{\rss{#1}}
|
|
}
|
|
}
|
|
% left stability
|
|
\newcommand*{\lss}[1]{\ensuremath{#1^\blacktriangleleft}}
|
|
\newcommand*{\ls}[1]{
|
|
\ensuremath{
|
|
\IfSubStr{#1}{\circ}{{\lss{(#1)}}}{\lss{#1}}
|
|
}
|
|
}
|
|
% terminal coalgebra
|
|
\newcommand*{\coalg}[1]{\ensuremath{\lbparen#1\rbparen}}
|
|
|
|
\begin{document}
|
|
\pagestyle{plain}
|
|
\input{src/titlepage}%
|
|
\chapter*{Disclaimer}
|
|
\begin{german}
|
|
Ich versichere, dass ich die Arbeit ohne fremde Hilfe und ohne Benutzung anderer als der angegebenen Quellen angefertigt habe und dass die Arbeit in gleicher oder ähnlicher Form noch keiner anderen Prüfungsbehörde vorgelegen hat und von dieser als Teil einer Prüfungsleistung angenommen wurde.
|
|
Alle Ausführungen, die wörtlich oder sinngemäß übernommen wurden, sind als solche gekennzeichnet.
|
|
|
|
\vspace{5em}
|
|
Erlangen, \today{} \rule{7cm}{1pt}\\
|
|
\phantom{Erlangen, \today{}} \theauthor{}
|
|
\end{german}
|
|
|
|
\chapter*{Licensing}
|
|
\doclicenseThis{}
|
|
\tableofcontents
|
|
|
|
\listoftodos
|
|
|
|
\newcommandx{\unsure}[2][1=]{\todo[inline,linecolor=red,backgroundcolor=red!25,bordercolor=red,#1]{#2}}
|
|
\newcommandx{\change}[2][1=]{\todo[linecolor=blue,backgroundcolor=blue!25,bordercolor=blue,#1]{#2}}
|
|
\newcommandx{\info}[2][1=]{\todo[inline,linecolor=OliveGreen,backgroundcolor=OliveGreen!25,bordercolor=OliveGreen,#1]{#2}}
|
|
\newcommandx{\improvement}[2][1=]{\todo[inline,linecolor=Plum,backgroundcolor=Plum!25,bordercolor=Plum,#1]{#2}}
|
|
|
|
|
|
% for creating custom labels like (Fixpoint)
|
|
\makeatletter
|
|
\newcommand{\customlabel}[2]{%
|
|
\protected@write \@auxout {}{\string \newlabel {#1}{{#2}{\thepage}{#2}{#1}{}} }%
|
|
\hypertarget{#1}{#2}%
|
|
}
|
|
\makeatother
|
|
|
|
|
|
% \include{src/examples}
|
|
\include{src/00_introduction}
|
|
\include{src/01_preliminaries}
|
|
\include{src/02_agda-categories}
|
|
\include{src/03_partiality-monads}
|
|
\include{src/04_iteration}
|
|
\include{src/05_setoids}
|
|
\include{src/10_conclusion}
|
|
|
|
\todo[inline]{Symbolverzeichnis, siehe: https://www.namsu.de/Extra/pakete/Listofsymbols.pdf}
|
|
\todo[inline]{Add fullstop behind every proof}
|
|
|
|
\appendix
|
|
% \include{src/A1_contributions}
|
|
|
|
\medskip
|
|
|
|
\printbibliography[heading=bibintoc]{}
|
|
\end{document}
|
|
|
|
% vim: tw=80 nospell spelllang=en nocul
|