Index: doc/theses/rob_schluntz/intro.tex
===================================================================
--- doc/theses/rob_schluntz/intro.tex	(revision 728df66bde6df9b1ca4ad068be30ea89605f46a3)
+++ doc/theses/rob_schluntz/intro.tex	(revision 90152a4860529aff7214be01cd22abd37012cd19)
@@ -290,5 +290,5 @@
 \end{cfacode}
 Every if- and iteration-statement in C compares the condition with @0@, and every increment and decrement operator is semantically equivalent to adding or subtracting the value @1@ and storing the result.
-Due to these rewrite rules, the values @0@ and @1@ have the types \zero and \one in \CFA, which allow for overloading various operations that connect to @0@ and @1@ \footnote{In the original design of \CFA, @0@ and @1@ were overloadable names \cite[p.~7]{cforall}.}.
+Due to these rewrite rules, the values @0@ and @1@ have the types \zero and \one in \CFA, which allow for overloading various operations that connect to @0@ and @1@ \footnote{In the original design of \CFA, @0@ and @1@ were overloadable names \cite[p.~7]{cforall-refrat}.}.
 The types \zero and \one have special built-in implicit conversions to the various integral types, and a conversion to pointer types for @0@, which allows standard C code involving @0@ and @1@ to work as normal.
 \begin{cfacode}
