-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy paththesis.tex
More file actions
141 lines (112 loc) · 4.62 KB
/
Copy paththesis.tex
File metadata and controls
141 lines (112 loc) · 4.62 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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
%%%%%
%%
%% thesis.tex --- Mechanized Finite Domain Decision Procedures
%%
%% Built on the University of Cambridge cam-thesis class (v0.2).
%% Structure: one folder per chapter under chapters/, each acting as a
%% self-contained paper repo (chapter tex + plots/ + images/).
%% Package loading lives in packages.sty; thesis-wide macros in macros.sty.
%%%%%
\PassOptionsToPackage{dvipsnames}{xcolor}
% Available documentclass options:
%
% <all `report` document class options, e.g.: `a5paper`>
% withindex - enables the index. New index entries can be added through `\index{my entry}`
% glossary - enables the glossary.
% techreport - typesets the thesis in the technical report format.
% firstyr - formats the document as a first-year report.
% times - uses the `Times` font.
% backrefs - add back references in the Bibliography section
%
% For more info see `README.md`
%% cam-thesis.cls loads microtype itself, so expansion has to be passed in
%% before the class runs; \microtypesetup after the fact is too late to affect
%% fonts the class has already selected.
\PassOptionsToPackage{expansion=alltext}{microtype}
\documentclass[withindex,glossary]{cam-thesis}
% Citations using numbers
\usepackage[numbers]{natbib}
\usepackage{packages}
\usepackage{macros}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Thesis meta-information
%%
\title{Mechanized Decision Procedures for Compiler Verification}
\author{Siddharth Bhat}
\college{Churchill College}
\collegeshield{CollegeShields/Churchill}
%% Submission date [optional]:
% \submissiondate{November, 2042}
%% Declaration date:
\date{July 2026}
%% PDF meta-info:
\subjectline{Computer Science}
\keywords{decision procedures, bitvectors, floating point, Lean, SMT, compiler verification}
% Minted setup (Lean/MLIR/xDSL environments and custom lexers) lives in macros.sty.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Abstract and acknowledgements (separate files under frontmatter/):
%%
\abstract{\input{frontmatter/abstract}}
\acknowledgements{\input{frontmatter/acknowledgements}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Glossary [optional]:
%%
\newglossaryentry{HOL}{
name=HOL,
description={Higher-order logic}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Contents:
%%
\begin{document}
%% Title page, abstract, declaration, acknowledgements, table of contents:
%% The frontmatter carries no margin captions and no marginal chapter numbers,
%% so the wide caption margin of the body would just read as an off-centre
%% text block -- most visibly on the title page. Set these pages on symmetric
%% margins (the same numbers as the ToC geometry in packages.sty); the
%% asymmetric wide-margin layout starts with the introduction.
\newgeometry{a4paper, twoside=false, left=20mm, right=20mm, top=25mm,
bottom=25mm, marginparwidth=12mm, marginparsep=4mm}
\frontmatter{}
\restoregeometry
%% Running heads. cam-thesis.cls leaves the body on \pagestyle{plain} -- a bare
%% outer page number and nothing else. classicthesis has already configured
%% scrlayer-scrpage for its own headline style (spaced small caps: chapter
%% title on the verso, numbered section title on the recto, with the page
%% number hung outboard in the margin); it just is not switched on. Do that
%% here rather than in the class, which is upstream code.
%%
%% `plain' stays in force on chapter-opening pages via scrheadings' plain
%% variant, so the \ofoot page number there is unaffected.
\pagestyle{scrheadings}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Thesis body: one folder per chapter.
%%
\input{chapters/introduction/introduction}
\input{chapters/background/background}
\input{chapters/lean-mlir/lean-mlir}
\input{chapters/background-bv/background-bv}
\input{chapters/parametric-bv/pbv-preamble}
\input{chapters/single-width-bv/mono-width-bv}
\input{chapters/multi-width-bv/multi-width-bv}
\input{chapters/floating-point/floating-point}
\input{chapters/future-work/future-work}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Appendix:
%%
\appendix
% \input{chapters/appendix-artefacts/artefacts}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% References:
%%
\renewcommand{\bibname}{References}
\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{References}
\bibliographystyle{plainnat}
\bibliography{thesis}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Index:
%%
\printthesisindex
\end{document}