Skip to content

Commit 7877ac6

Browse files
committed
last proof reading
Time to sleep!
1 parent addc8c4 commit 7877ac6

23 files changed

+1101
-903
lines changed

Manuscript/Todo.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
- hack continued floats for references
2-
- once chapter 6 is written: refer to it in the note on names at the beginning of chapter 3
3-
- title caps
2+
- once chapter 6 is written: refer to it in the note on names at the beginning of chapter 3

Manuscript/appendix.tex

Lines changed: 37 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,70 @@
1-
\chapter{On Names for Type Systems}
1+
\chapter{Names for Type Systems}
22
\label{chap:names}
33

44
\subsection*{MLTT and CIC}
55

6-
Dependent type theory is a vast field, and as in any other field there are numerous
7-
variations in the objects considered, both due to advances in their understanding,
8-
and to diverging purposes and techniques. In the end, when
9-
choosing a particular type system to investigate, there are many more parameters to
10-
fix than names available for them, so that the same name is bound to be used for
11-
different systems.
6+
% Dependent type theory is a vast field, and as in any other field there are numerous
7+
% variations in the objects considered, both due to advances in their understanding,
8+
% and to diverging purposes and techniques. In the end, when
9+
% choosing a particular type system to investigate, there are many more parameters to
10+
% fix than names available for them, so that the same name is bound to be used for
11+
% different systems.
1212

13-
In the dependently typed setting, I think we can safely delineate two main schools,
13+
In the field of dependently types, I think we can safely delineate two main schools,
1414
with different histories and cultures. The first goes back to Martin-Löf –
1515
in particular \sidetextcite{MartinLoef1972} –, and is strongly linked to the \kl{Agda}
16-
proof assistant. The second is tied to the proof assistant \kl{Coq}, in the filiation of
16+
proof assistant. The second is related to the proof assistant \kl{Coq}, in the filiation of
1717
Coquand and Huet – since \sidetextcite{Coquand1988}.
1818
The umbrella name “MLTT”, for Martin-Löf Type Theory is the one usually used for systems
1919
in the first school, while ones in the second tend to use “CIC” – Calculus of Inductive
2020
Constructions –, or variants thereof.
2121

22-
This separation is not a strict one, and researchers from both schools interact, exchange
22+
This separation is of course not a strict one,
23+
and researchers from both schools interact, exchange
2324
theoretical and implementation ideas, and move forward together. But still, this cultural
2425
difference is not anecdotal, as seemingly small differences between the approaches on both
25-
sides lead to wildly different behaviours between the systems, so that some techniques
26+
sides lead to wildly different behaviours between the systems, so that some techniques
2627
that are very successful on one side can prove unusable on the other.
2728

28-
I tried to prompt the community of proof assistants%
29+
I tried to probe the community of proof assistants%
2930
\sidenote{Using a \href{https://proofassistants.stackexchange.com/questions/267/what-are-the-differences-between-mltt-and-cic}{question} on the proof assistant
30-
stack exchange.}
31-
which led to quite different answers. I tried to summarize them in \cref{fig:mltt-cic},
31+
Stack Exchange.}
32+
as to what they consider the more important differences between the two schools,
33+
which led to quite different answers,
3234
although this is very approximate: \kl{Agda} has a general scheme for inductive types
3335
(including cubical ones in the cubical library) while many articles on \kl{CIC} only
34-
consider a few example inductive types – as was the case in parts of this thesis, etc.
35-
The one feature which is maybe the more prominent in the distinction between MLTT and
36-
CIC is the presence of an impredicative sort of propositions, which immensely augments the
37-
logical power of the theory, and makes it much harder to prove normalization.
36+
consider a few example inductive types – as was the case in parts of this thesis –, etc.
37+
So this should be read as “this tradition is more prone to taking that approach”.
38+
The results are summarized in \cref{fig:mltt-cic}.
3839

3940
\begin{figure*}[h]
4041
\begin{tabular}{cccccc}
41-
\rule{0pt}{4ex} & Philosophy & Universes & Inductive Types & Pattern-matching & Conversion \\
42+
\rule{0pt}{4ex} & Universes & Inductive Types & Pattern-matching & Philosophy & Conversion \\
4243
\hline
43-
MLTT \rule{0pt}{4ex} & Constructivism & Predicative hierarchy & $0$, $1$, $W$ and $Id$ & Top-level clauses & Typed \\
44-
CIC \rule{0pt}{4ex} & None/Formalism & Impredicative $\Prop$ & General scheme & First-class terms & Untyped
44+
MLTT \rule{0pt}{4ex} & Predicative hierarchy & $0$, $1$, $W$ and $Id$ & Top-level clauses & Constructivism & Typed \\
45+
CIC \rule{0pt}{4ex} & Impredicative $\Prop$ & General scheme & First-class terms & None/Formalism & Untyped
4546
\end{tabular}
4647
\caption{General characteristics of MLTT and CIC}
4748
\label{fig:mltt-cic}
4849
\end{figure*}
4950

5051
\subsection*{Why “CIC”?}
5152

52-
Despite the inclusion of propositions, I chose to use the name \kl{CIC} in this thesis, for
53-
multiple reasons. First, regarding all other columns in the table, the system fits more
53+
The one feature which came out maybe as the more prominent in the distinction between MLTT and
54+
CIC is the presence of an impredicative sort of propositions, which immensely augments the
55+
logical power of the theory, and makes it much harder to prove normalization.
56+
Despite the exclusion of propositions by default, I still chose to use the name \kl{CIC}
57+
in this thesis, for multiple reasons.
58+
59+
First, regarding all other columns in the table, the system fits more
5460
in the bottom line than the top one. In particular, the general spirit of studying
5561
conversion using tools from rewriting theory which appears as a repeated pattern throughout
5662
the thesis is incompatible – or, at the very least, must be heavily amended –
5763
with a typed conversion.
5864
Moreover, apart from \arefpart{gradual}, the absence of
5965
treatment of $\Prop$ on the paper presentation was done mostly due to simplification concerns
60-
than to theoretical issues, as the formalization of \kl{PCUIC} as a whole illustrates.
61-
This also applies to \cref{chap:bidir-gradual-elab}, even though the models quickly presented
66+
than to theoretical limitations, as the formalization of \kl{PCUIC} as a whole illustrates.
67+
This also applies to \cref{chap:bidir-gradual-elab}, even though the models presented
6268
in \cref{chap:beyond-gcic} do not scale to $\Prop$, meaning that the target
6369
of \cref{chap:bidir-gradual-elab} would then be on a precarious foundation.
6470

@@ -67,14 +73,15 @@ \subsection*{Why “CIC”?}
6773
\kl{Agda}/MLTT and \kl{Coq}/CIC. The former have used the bidirectional ideas for a long
6874
time in order to allow for a lightweight syntax using Curry-style abstractions,
6975
at the cost of losing completeness of typing on non-normal forms.%
70-
\sidenote{This was a deliberate trade-off, at least in the case of \kl{Agda}
76+
\sidenote{This is a deliberate trade-off, at least in the case of \kl{Agda}
7177
\cite[p.~19]{Norell2007}.}%
7278
\margincite{Norell2007}
7379
The latter insist on keeping enough annotations in the kernel syntax by using Church-style
74-
abstractions, and using a mechanism of implicit arguments to lighten the weight of
75-
for users.
76-
This means that the completeness theorem \cref{thm:compl-ccomega} does \emph{not} apply
77-
to any of the standard presentations of MLTT, while it does to CIC’s, as this thesis shows.
80+
abstractions to let every term infer,
81+
and use a mechanism of implicit arguments during elaboration to lighten the weight of for users.
82+
This means that the completeness theorem as stated in \cref{thm:compl-ccomega}
83+
does \emph{not} hold in any of the standard presentations of MLTT,
84+
while it does to CIC’s, as this thesis shows.
7885

7986
% \chapter{\kl{MetaCoq} Contributors}
8087
% \label{chap:meta-contrib}

Manuscript/beyond-gcic.tex

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ \subsection{The monotone model}
188188

189189

190190

191-
\section{What is the issue with indices? Gradual vectors and equalities}
191+
\section{The issue with indices: gradual vectors and equalities}
192192
[Gradual vectors and equalities]
193193
\label{sec:indices-issue}
194194

@@ -319,7 +319,7 @@ \subsection{Solutions for vectors}
319319
but is too permissive with invalid index assertions. It fails very late when such invalid
320320
assertions are made, meaning that error-reporting is bad.
321321

322-
\paragraph{Direct support}
322+
\paragraph{Direct support.}
323323

324324
In contrast to the two previously-exposed encodings that both have serious shortcomings,
325325
extending \kl{CCIC} with direct support for indexed inductive types can provide a
@@ -447,7 +447,7 @@ \section{A Reasonably Gradual Type Theory}
447447
in this regard has not been developed. In particular, there is no clear characterization
448448
of a class of terms for which \kl{graduality} holds.
449449

450-
\paragraph{A Refined Stratification of Precision}
450+
\paragraph{A refined stratification of precision}
451451
%
452452
\AP However, by refining the stratification of
453453
\kl{precision} we can develop a full account of graduality for an extension
@@ -473,7 +473,7 @@ \section{A Reasonably Gradual Type Theory}
473473
that conservatively extends \kl{CIC}, is normalizing,
474474
and satisfies graduality for a large and well-defined class of terms.
475475

476-
\paragraph{Internalizing Precision, Reasonably}
476+
\paragraph{Internalizing precision, reasonably}
477477
While we could study graduality for \kl{CCICPrec} externally,
478478
we observe that we can exploit the expressiveness of the type-theoretic setting to
479479
internalize precision and its associated reasoning.
@@ -527,7 +527,7 @@ \section{A Reasonably Gradual Type Theory}
527527
define an internal notion of precision that is extensional and whose proofs
528528
cannot be trivialized with exceptional terms.
529529

530-
\paragraph{Applications of Internal Precision}
530+
\paragraph{Applications of internal precision}
531531

532532
In addition to supporting reasoning about the graduality of terms in a theory
533533
that is not globally gradual, \kl{internal precision} makes it possible

0 commit comments

Comments
 (0)