11.3.1 Construction of Cauchy reals
The construction of the Cauchy reals βπΌ as a higher inductive type is a bit more subtle than that of the free algebraic structures considered in \autorefsec:free-algebras.
We intend to include a βtake the limitβ constructor whose input is a Cauchy sequence
of reals, but the notion of βCauchy sequence of realsβ depends on having some way to measure the βdistanceβ between real numbers.
In general, of course, the distance between two real numbers will be another real number, leading to a potentially problematic circularity.
However, what we actually need for the notion of Cauchy sequence of reals is not the general notion of βdistanceβ, but a way to say that βthe distance between two real numbers is less than Ο΅β for any Ο΅:β+.
This can be represented by a family of binary relations, which we will denote βΌΟ΅:βπΌββπΌβπ―πππ.
The intended meaning of xβΌΟ΅y is |x-y|<Ο΅, but since we do not have notions of subtraction, absolute value
, or inequality available yet (we are only just defining βπΌ, after all), we will have to define these relations βΌΟ΅ at the same time as we define βπΌ itself.
And since βΌΟ΅ is a type family indexed by two copies of βπΌ, we cannot do this with an ordinary mutual (higher) inductive definition; instead we have to use a higher inductive-inductive definition.
Recall from \autorefsec:generalizations that the ordinary notion of inductive-inductive definition allows us to define a type and a type family indexed by it by simultaneous induction
.
Of course, the βhigherβ version of this allows both the type and the family to have path constructors as well as point constructors.
We will not attempt to formulate any general theory of higher inductive-inductive definitions, but hopefully the description we will give of βπΌ and βΌΟ΅ will make the idea transparent.
Remark 11.3.1.
We might also consider a higher inductive-recursive definition, in which βΌΟ΅ is defined using the recursion principle of Rc, simultaneously with the inductive definition of Rc. We choose the inductive-inductive route instead for two reasons. Firstly, higher inductive-recursive definitions seem to be more difficult to justify in homotopical semantics. Secondly, and more importantly, the inductive-inductive definition yields a more powerful induction principle, which we will need in order to develop even the basic theory of Cauchy reals.
Finally, as we did for the discussion of Cauchy completeness of the Dedekind reals in \autorefsec:RD-cauchy-complete, we will work with Cauchy approximations (\autorefdefn:cauchy-approximation) instead of Cauchy sequences. Of course, our Cauchy approximations will now consist of Cauchy reals, rather than Dedekind reals or rational numbers.
Definition 11.3.2.
Let Rc and the relation βΌ:Q+ΓRcΓRcβU be the following higher inductive-inductive type family. The type Rc of Cauchy reals is generated by the following constructors:
-
β’
rational points: for any q:β there is a real ππΊπ(q).
-
β’
limit points
: for any x:β+ββπΌ such that
β(Ξ΄,Ο΅:β+).xΞ΄βΌΞ΄+Ο΅xΟ΅ (11.3.2) there is a point π ππ(x):βπΌ. We call x a Cauchy approximation.
-
β’
paths: for u,v:βπΌ such that
β(Ο΅:β+).uβΌΟ΅v (11.3.3) then there is a path πΎπβπΌ(u,v):u=βπΌv.
Simultaneously, the type family βΌ:RcβRcβQ+βU is generated by the following constructors. Here q and r denote rational numbers; Ξ΄, Ο΅, and Ξ· denote positive rationals; u and v denote Cauchy reals; and x and y denote Cauchy approximations:
-
β’
for any q,r,Ο΅, if -Ο΅<q-r<Ο΅, then ππΊπ(q)βΌΟ΅ππΊπ(r),
-
β’
for any q,y,Ο΅,Ξ΄, if ππΊπ(q)βΌΟ΅-Ξ΄yΞ΄, then ππΊπ(q)βΌΟ΅π ππ(y),
-
β’
for any x,r,Ο΅,Ξ΄, if xΞ΄βΌΟ΅-Ξ΄ππΊπ(r), then π ππ(x)βΌΟ΅ππΊπ(r),
-
β’
for any x,y,Ο΅,Ξ΄,Ξ·, if xΞ΄βΌΟ΅-Ξ΄-Ξ·yΞ·, then π ππ(x)βΌΟ΅π ππ(y),
-
β’
for any u,v,Ο΅, if ΞΎ,ΞΆ:uβΌΟ΅v, then ΞΎ=ΞΆ (propositional truncation).
The first constructor of βπΌ says that any rational number can be regarded as a real number. The second says that from any Cauchy approximation to a real number, we can obtain a new real number called its βlimitβ. And the third expresses the idea that if two Cauchy approximations coincide, then their limits are equal.
The first four constructors of βΌ specify when two rational numbers are close, when a rational is close to a limit, and when two limits are close. In the case of two rational numbers, this is just the usual notion of Ο΅-closeness for rational numbers, whereas the other cases can be derived by noting that each approximant xΞ΄ is supposed to be within Ξ΄ of the limit π ππ(x).
We remind ourselves of proof-relevance: a real number obtained from π ππ is represented not just by a Cauchy approximation x, but also a proof p of (11.3.2), so we should technically have written π ππ(x,p) instead of just π ππ(x). A similar observation also applies to πΎπβπΌ and (11.3.3), but we shall write just πΎπβπΌ:u=v instead of πΎπβπΌ(u,v,p):u=v. These abuses of notation are mitigated by the fact that we are omitting mere propositions and information that is readily guessed. Likewise, the last constructor of βΌΟ΅ justifies our leaving the other four nameless.
We are immediately able to populate βπΌ with many real numbers. For suppose x:βββ is a traditional Cauchy sequence of rational numbers, and let M:β+ββ be its
modulus of convergence. Then ππΊπβxβM:β+ββπΌ is a Cauchy
approximation, using the first constructor of βΌ to produce the necessary witness.
Thus, π
ππ(ππΊπβxβm) is a real number. Various famous
real numbers β2, Ο, e, β¦ are all limits of such Cauchy sequences of
rationals.
Title | 11.3.1 Construction of Cauchy reals |
---|---|
\metatable |