-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpreamble.tex
More file actions
121 lines (98 loc) · 4.99 KB
/
preamble.tex
File metadata and controls
121 lines (98 loc) · 4.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
\usepackage{graphicx}
\usepackage[explicit]{titlesec}
\usepackage[utf8]{inputenc}
\usepackage[backend=biber, style=numeric, sorting=ydnt]{biblatex}
\usepackage[dvipsnames]{xcolor}
\usepackage{amsmath}
\usepackage{semantic}
\usepackage{minted}
\usemintedstyle{colorful}
\usepackage{stmaryrd}
\usepackage{wasysym}
\DeclareMathAlphabet{\mathdcal}{U}{dutchcal}{m}{n}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{yhmath}
\usepackage[edges]{forest}
\usetikzlibrary{calc, arrows}
\usepackage[labelfont=bf]{caption}
\usepackage[labelfont=bf]{subcaption}
\usepackage[normalem]{ulem}
\makeatletter
\def\uwave{\bgroup \markoverwith{\lower3.5\p@\hbox{\sixly \textcolor{red}{\char58}}}\ULon}
\font\sixly=lasy6 % does not re-load if already loaded, so no memory problem.
\makeatother
\usepackage{soul}
\usepackage{tikz}
\usetikzlibrary{3d, shapes.geometric, positioning, chains, trees, arrows.meta, calc, backgrounds}
\usepackage{pgfplots}
\usepackage{svg}
\usepackage {siunitx}
\newcommand{\hlc}[2][yellow]{{%
\colorlet{foo}{#1}%
\sethlcolor{foo}\hl{#2}}%
}
\newcommand{\error}[1]{\hlc[pink!50]{#1}}
\newcommand{\hlcmaths}[2][yellow!50]{\colorbox{#1}{$\displaystyle #2$}}
\newcommand{\code}[1]{\text{\mintinline{reason}{#1}}}
\newcommand{\codeE}[1]{\text{\mintinline[mathescape=||]{reason}{#1}}}
\newcommand{\dyn}{{\color{teal}\texttt{?}}}
\newcommand{\casthl}[4][yellow!50]{\ensuremath{\code{#4}^{\text{\hlc[#1]{${\langle$\code{#2}$ \Rightarrow $\code{#3}$\rangle}$}}}}}
\newcommand{\cast}[3]{\casthl[red!0]{#1}{#2}{#3}}
\newcommand{\casterror}[3]{\casthl[pink!50]{#1}{#2}{#3}}
\newcommand{\hole}[1][]{{\color{teal}\llparenthesis} #1 {\color{teal}\rrparenthesis}}
\newcommand{\gap}{{\color{teal}\Box}}
\newcommand{\cmark}{{\color{blue}\Circle}}
\newcommand{\scast}[2]{{\color{blue}\langle} #1 {\color{blue}\Rightarrow} #2 {\color{blue}\rangle}}
\newcommand{\scasterror}[2]{{\color{red}\langle} #1 {\color{red}\Rightarrow} \dyn {\color{red}\nRightarrow} #2 {\color{red}\rangle}}
\newcommand{\scastcast}[3]{{\color{blue}\langle} #1 {\color{blue}\Rightarrow} #2 {\color{blue}\Rightarrow} #3 {\color{blue}\rangle}}
\newcommand{\synthesis}[3][\Gamma]{#1 \vdash #2 {\color{BrickRed}\ \Rightarrow}\ #3}
\newcommand{\synthesissliceindexed}[3][\Gamma]{#1 \vdash #2 \dashv_{\color{BrickRed}\Rightarrow}#3}
\newcommand{\synthesisslice}[4][\Gamma]{#1 \vdash #2 {\color{BrickRed}\ \Rightarrow}\ #3 \mid #4}
\newcommand{\contributionslice}[4][\Gamma]{#1 \vdash #2 {\color{BrickRed}\ \Rightarrow}\ #3 \mid_{\text{C}} #4}
\newcommand{\analysis}[3][\Gamma]{#1 \vdash #2 {\color{BlueViolet}\ \Leftarrow}\ #3}
\newcommand{\typeassignment}[3][\Delta;\Gamma]{#1 \vdash #2 : #3}
\newcommand{\analysisslice}[5][\Gamma]{#1; #2 \vdash #3 {\color{BlueViolet}\ \Leftarrow}\ #4 \mid #5}
\newcommand{\contributionanalysisslice}[6][\Gamma]{#1; #2 \vdash #3 {\color{BlueViolet}\ \Leftarrow}\ #4 \mid_{\text{C}} #5 \mid #6}
\newcommand{\analysissliceindexed}[4][\Gamma]{#1 \vdash #2 {\color{BlueViolet}\Leftarrow} #3 \mid #4}
%\newcommand{\typeassignment}[3][\Delta;\Gamma]{#1 \vdash #2 : #3}
\newcommand{\elaborationSynthesis}[5][\Gamma]{#1 \vdash #2 {\color{BrickRed}\ \Rightarrow\ } #3 \leadsto #4 \dashv #5}
\newcommand{\elaborationAnalysis}[6][\Gamma]{#1 \vdash #2 {\color{BlueViolet}\ \Leftarrow\ } #3 \leadsto #4 : #5 \dashv #6}
\newcommand{\match}[1]{\blacktriangleright_{#1}}
\newcommand{\funmatch}{\blacktriangleright_\rightarrow}
\newcommand{\typematch}{\blacktriangleright_{\text{type}}}
\newcommand{\ground}[1][\tau]{#1\text{ ground}}
\newcommand{\groundmatch}{\blacktriangleright_{\text{ground}}}
\newcommand{\final}[1][d]{#1\text{ final}}
\newcommand{\val}[1][d]{#1\text{ val}}
\newcommand{\boxedval}[1][d]{#1\text{ boxedval}}
\newcommand{\indet}[1][d]{#1\text{ indet}}
\newcommand{\contextualsub}[1][d/u]{\llbracket #1 \rrbracket}
\newcommand{\synthesisSlice}[4][\Gamma]{#1 \vdash #2 {\color{BrickRed}\ \Rightarrow}\ #3\ \mid #4}
\newcommand{\analysisSlice}[4][\Gamma]{#1 \vdash #2 {\color{BlueViolet}\ \Leftarrow}\ #3\ \mid #4}
\newcommand{\elaborationSynthesisSlice}[6][\Gamma]{#1 \vdash #2 {\color{BrickRed}\ \Rightarrow\ } #3 \mid #4 \leadsto #5 \dashv #6}
\newcommand{\elaborationAnalysisSlice}[9][\Gamma]{#1;\ #2 \vdash #3 {\color{BlueViolet}\ \Leftarrow\ } #4 \mid #5 \leadsto #6 : #7 \mid #8 \dashv #9}
\newcommand{\type}[1]{\llbracket #1 \rrbracket}
\addbibresource{References/refs.bib}
\makeindex
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
linkcolor=blue,
filecolor=magenta,
urlcolor=cyan,
citecolor=magenta,
pdftitle={\theauthor: \thetitle},
pdfpagemode=FullScreen,
}
\usepackage{cleveref}
\usepackage{fvextra} \DefineVerbatimEnvironment{Highlighting}{Verbatim}{breaklines,commandchars=\\\{\}}
\usepackage{centernot}
\newtheorem{conjecture}{Conjecture}
\newtheorem{definition}{Definition}
\newtheorem{proposition}{Proposition}
\urlstyle{same}
\newcommand{\secref}[1]{\S\ref{#1}}
\immediate\write18{texcount -inc -sum=1,0,0,0,0,0,0 -0 \jobname.tex > wordcount.aux }
\newcommand{\wordcount}{\input{wordcount.aux}}
\setsecnumdepth{subsection}