Skip to content

Commit 1ec2c70

Browse files
committed
add some good remarks and a partial bibliography
1 parent 67d36a7 commit 1ec2c70

File tree

3 files changed

+54
-3
lines changed

3 files changed

+54
-3
lines changed

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "doc/references"]
2+
path = doc/references
3+
url = [email protected]:jonsterling/bibtex-references.git

doc/references

Submodule references added at fd17974

doc/syntax.tex

+50-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
\documentclass{article}
2+
\usepackage[colorlinks]{hyperref}
3+
\usepackage{natbib}
24

3-
% for dumb dingbats
45
\usepackage{fontawesome}
56
\usepackage{dingbat}
67

@@ -13,6 +14,7 @@
1314
\usepackage{mathpartir}
1415
\usepackage[dvipsnames]{xcolor}
1516
\usepackage{fullpage}
17+
\usepackage{manfnt}
1618

1719
\usepackage{mathtools}
1820

@@ -134,7 +136,7 @@
134136
\section{Defunctionalized NbE}
135137

136138
We develop evaluation and quotation judgments for Cartesian Cubical
137-
Type Theory inspired by normalization-by-evaluation (NbE), in its
139+
Type Theory inspired by normalization by evaluation (NbE), in its
138140
\emph{defunctionalized} variant. Often NbE is presented using domain
139141
models and binding is represented using meta-level functions, and
140142
evaluation and quotation are intertwined. My perspective is that the
@@ -144,6 +146,9 @@ \section{Defunctionalized NbE}
144146
semantic domain. In this style of NbE, the evaluation function is
145147
called from the quotation function, but not vice versa.
146148

149+
The state of the art in the science of normalization by evaluation is found in
150+
Andreas Abel's habilitation thesis~\citep{abel:2013}; other relevant sources are included in the bibliography of these notes.
151+
147152
\paragraph{Why NbE?}
148153

149154
The old practice of regarding computation as a kind of rewriting
@@ -156,6 +161,11 @@ \section{Defunctionalized NbE}
156161
terms of negative type must explain not only reduction, but also
157162
expansion.
158163

164+
\textbf{I want to clarify that my main goal is not to acquire a normalization
165+
function.} I am trying to decide definitional equivalence, and the simplest way
166+
to do this algorithmically follows the structure of NbE very closely
167+
(regardless of whether it is instantiated to yield a normalization function).
168+
159169

160170
\section{Thinnings}
161171

@@ -232,7 +242,7 @@ \section{Terms}
232242

233243
\begin{remark}
234244
This is a matter of some subtlety in the context of
235-
\emph{normalization-by-evaluation} in which the evaluation and
245+
\emph{normalization by evaluation} in which the evaluation and
236246
quotation phases of computation are distinguished: while we do not
237247
evaluate underneath a variable binder, during the quotation phase we
238248
\emph{do} instantiate such a variable binder with a semantic
@@ -729,6 +739,37 @@ \section{Semantic Domain}
729739
thinnings $\IsThin{f}{m}{n}$; the
730740
reindexing action is renaming.
731741

742+
\begin{remark}[Reification and reflection]
743+
744+
In modern NbE, eta expansion is divided into two phases called
745+
``reification'' and ``reflection'', which occur entirely at the level of the
746+
semantic domain. Reflection $\uparrow$ embeds the neutral values into the
747+
canonical values, and reification $\downarrow$ embeds the canonical values
748+
into the normal values.
749+
%
750+
In this presentation so far, we have not yet phrased things in terms of
751+
reification and ``normal values''; I will change this shortly.
752+
753+
\end{remark}
754+
755+
756+
\begin{remark}[Extension with singleton and extension types]
757+
758+
Reflection of neutral values into canonical values is present in the semantic
759+
domain as a ``free'' constructor, rather than as an operation. This is
760+
because reflection is calculated lazily.
761+
762+
To extend with constructs like singleton-type (and extension types), it is
763+
necessary to impose an equational law on reflection: basically, reflecting a
764+
neutral of singleton type should project out a canonical value from the
765+
singleton type.
766+
767+
There are a couple of ways to enact this equation. One is to change
768+
reflection into a ``smart operation''; another way, however, would be to add
769+
cases to each of the rules that match suspended reflections, and perform the
770+
expansion in-line. It's not yet clear to me which style is best.
771+
772+
\end{remark}
732773

733774

734775
\section{Evaluation}
@@ -1566,4 +1607,10 @@ \subsection{Quotation and Definitional Equivalence}
15661607
}
15671608
\end{mathparpagebreakable}
15681609

1610+
1611+
\nocite{abel-coquand-pagano:2009, abel-vezzosi-winterhalter:2017, abcfhl:2017, cchm:2017, altenkirch-mcbride:2006, altenkirch-mcbride-swierstra:2007, stone-harper:2006}
1612+
1613+
\bibliographystyle{plainnat}
1614+
\bibliography{references/refs}
1615+
15691616
\end{document}

0 commit comments

Comments
 (0)