2024-03-07 11:00:04 +01:00
\documentclass [a4paper,11pt,numbers=noenddot,draft] { scrbook}
2023-12-05 11:34:05 +01:00
\usepackage [top=2cm,lmargin=1in,rmargin=1in,bottom=3cm,hmarginratio=1:1] { geometry}
2024-02-24 13:12:32 +01:00
\usepackage [ngerman, main=british] { babel}
2023-12-05 11:34:05 +01:00
\babeltags { german=ngerman}
2024-02-04 20:38:41 +01:00
\usepackage { minted}
\setminted [agda] {
linenos=true,
breaklines=true,
encoding=utf8,
fontsize=\small ,
2024-02-15 21:12:04 +01:00
frame=lines,
autogobble
2024-02-04 20:38:41 +01:00
}
2024-02-21 14:28:38 +01:00
\usepackage [dvipsnames] { xcolor} % Coloured text etc.
2023-12-05 11:34:05 +01:00
\usepackage { amssymb}
\usepackage { amsthm}
\usepackage { thmtools}
2024-03-07 18:19:24 +01:00
\usepackage { thmtools}
2023-12-05 11:34:05 +01:00
\usepackage { fancyvrb}
\usepackage { mathtools}
\usepackage { amsmath}
2024-02-24 13:12:32 +01:00
\usepackage { mathabx}
2024-02-09 13:27:14 +01:00
\usepackage { mathpartir}
2024-03-07 11:00:04 +01:00
% packages for draft version
\usepackage { lineno}
\usepackage [colorinlistoftodos,prependcaption,textsize=tiny,obeyDraft] { todonotes}
2024-03-07 18:19:24 +01:00
\usepackage { ifdraft}
2024-03-07 11:00:04 +01:00
2024-02-09 13:27:14 +01:00
% mathpartir uses \atop, amsmath overrides it to throw a warning tho, so we override it back to the original!
\makeatletter
\let \atop \@ @atop
\makeatother
2024-02-04 20:38:41 +01:00
\usepackage { tikz}
\usetikzlibrary { cd, babel, quotes}
\usepackage { quiver}
2024-02-14 16:59:30 +01:00
\usepackage { stmaryrd} % for \llbracket and \rrbracket
2023-12-05 11:34:05 +01:00
\usepackage { ifthen}
\usepackage { xspace}
\usepackage { hyperref}
\usepackage { makeidx}
\usepackage { graphicx}
2024-01-08 18:04:14 +01:00
\usepackage { fvextra}
2024-02-24 13:12:32 +01:00
\usepackage [style=ieee, sorting=ynt, language=british] { biblatex} % advanced citations, british to make dates DD-MM-YYYY
2024-02-21 14:28:38 +01:00
\usepackage [english=british] { csquotes} % biblatex recommended to load this
2024-01-08 18:04:14 +01:00
\usepackage { etoolbox,xpatch}
\makeatletter
2024-02-21 14:28:38 +01:00
\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/
2024-01-08 18:04:14 +01:00
\makeatother
\usepackage { scrhack}
2023-12-16 18:08:57 +01:00
\usepackage { multicol}
2023-12-05 11:34:05 +01:00
\addbibresource { bib.bib}
%\usepackage[right]{showlabels}
%\usepackage[justific=raggedright,totoc]{idxlayout}
\usepackage [type=CC, modifier=by-sa,version=4.0] { doclicense}
2024-02-21 14:28:38 +01:00
\addto \extrasenglish {
2023-12-05 11:34:05 +01:00
\renewcommand { \chapterautorefname } { Section}
\renewcommand { \sectionautorefname } { Section}
\renewcommand { \subsectionautorefname } { Subsection}
2024-02-21 14:28:38 +01:00
}
2023-12-05 11:34:05 +01:00
\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}
2024-02-09 13:27:14 +01:00
\title { Implementing Categorical Notions of Partiality and Delay in Agda}
2023-12-05 11:34:05 +01:00
\author { Leon Vatthauer}
\makeatletter
\hypersetup {
pdfauthor={ \@ author} ,
pdftitle={ \@ title} ,
% kill those ugly red rectangles around links
hidelinks,
}
\newcommand * { \theauthor } { \@ author}
\makeatother
2024-02-05 14:04:41 +01:00
2024-01-11 13:44:49 +01:00
\usepackage { noto-mono}
2024-03-06 14:11:27 +01:00
\usepackage { unicode-math}
2024-03-06 16:29:43 +01:00
% \setmainfont{STIX-Regular}
% \setmathfont{STIX Two Math Regular}
2024-03-05 18:49:45 +01:00
\usepackage { mathrsfs}
2024-02-11 13:01:07 +01:00
\usepackage { xargs}
2024-02-24 13:12:32 +01:00
\usepackage { xstring}
2024-03-06 14:11:27 +01:00
2024-03-06 16:29:43 +01:00
% https://unicodeplus.com/U+3016
\newcommand * { \lbparen } { 〖}
\newcommand * { \rbparen } { 〗}
2024-03-06 14:11:27 +01:00
2024-02-15 13:34:44 +01:00
% category C
2024-03-05 18:49:45 +01:00
\newcommand * { \C } { \ensuremath { \mathscr { C} } }
\newcommand * { \D } { \ensuremath { \mathscr { D} } }
2024-02-15 13:34:44 +01:00
% 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)} }
2024-03-04 18:00:12 +01:00
\newcommand * { \strongmonads } [1]{ \ensuremath { \mathit { StrongMonads} (#1)} }
2024-02-15 13:34:44 +01:00
% category of pre-Elgot monads on #1
\newcommand * { \preelgot } [1]{ \ensuremath { \mathit { PreElgot} (#1)} }
2024-03-04 18:00:12 +01:00
\newcommand * { \strongpreelgot } [1]{ \ensuremath { \mathit { StrongPreElgot} (#1)} }
2024-02-15 13:34:44 +01:00
\newcommand * { \setoids } { \ensuremath { \mathit { Setoids} } }
2024-02-24 13:12:32 +01:00
% free objects
2024-03-06 16:29:43 +01:00
\newcommand * { \freee } [1]{ \ensuremath { #1^ \star } }
2024-02-24 13:12:32 +01:00
\newcommand * { \free } [1]{
\ensuremath {
2024-03-06 16:29:43 +01:00
\IfSubStr { #1} { \circ }
{ { \freee { (#1)} } }
{ \IfSubStr { #1} { \; }
{ \freee { (#1)} }
{ \freee { #1} }
}
2024-02-24 13:12:32 +01:00
}
}
2024-03-05 18:49:45 +01:00
% 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} }
}
}
2024-02-24 13:12:32 +01:00
% terminal coalgebra
2024-03-06 14:11:27 +01:00
\newcommand * { \coalg } [1]{ \ensuremath { \lbparen #1\rbparen } }
2024-02-15 13:34:44 +01:00
2023-12-05 11:34:05 +01:00
\begin { document}
\pagestyle { plain}
\input { src/titlepage} %
\chapter * { Disclaimer}
\begin { german}
2024-03-09 10:46:41 +01:00
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.
2023-12-05 11:34:05 +01:00
2024-03-09 10:46:41 +01:00
\vspace { 5em}
Erlangen, \today { } \rule { 7cm} { 1pt} \\
\phantom { Erlangen, \today { } } \theauthor { }
2023-12-05 11:34:05 +01:00
\end { german}
\chapter * { Licensing}
\doclicenseThis { }
\tableofcontents
2024-01-08 18:04:14 +01:00
2024-03-09 10:46:41 +01:00
\listoftodos \
2024-02-11 13:01:07 +01:00
\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} }
2024-03-06 14:11:27 +01:00
2024-03-04 18:00:12 +01:00
% for creating custom labels like (Fixpoint)
\makeatletter
\newcommand { \customlabel } [2]{ %
2024-03-09 10:46:41 +01:00
\protected @write \@ auxout { } { \string \newlabel { #1} { { #2} { \thepage } { #2} { #1} { } } } %
\hypertarget { #1} { #2} %
2024-03-04 18:00:12 +01:00
}
\makeatother
2024-03-07 18:19:24 +01:00
\ifdraft { \linenumbers }
2024-01-08 18:04:14 +01:00
2023-12-05 11:34:05 +01:00
% \include{src/examples}
\include { src/00_ introduction}
\include { src/01_ preliminaries}
2024-02-04 20:38:41 +01:00
\include { src/02_ agda-categories}
\include { src/03_ partiality-monads}
\include { src/04_ iteration}
\include { src/05_ setoids}
2023-12-05 11:34:05 +01:00
\include { src/10_ conclusion}
2024-03-05 18:49:45 +01:00
\todo [inline] { Symbolverzeichnis, siehe: https://www.namsu.de/Extra/pakete/Listofsymbols.pdf}
\todo [inline] { Add fullstop behind every proof}
2024-03-07 18:19:24 +01:00
\todo [inline] { (Re-) move list of definitions}
2024-03-05 18:49:45 +01:00
2023-12-05 11:34:05 +01:00
\appendix
2024-02-04 20:38:41 +01:00
% \include{src/A1_contributions}
2023-12-05 11:34:05 +01:00
\medskip
\printbibliography [heading=bibintoc] { }
2024-03-07 18:19:24 +01:00
% https://tex.stackexchange.com/questions/74857/toc-like-list-of-definitions-using-theorem-environments
\renewcommand * { \listtheoremname } { List of Definitions}
\listoftheorems [ignoreall,show={definition}]
2023-12-05 11:34:05 +01:00
\end { document}