Exercise 4.13 (Scott 1981, PRG-19, Lecture IV) ā eliminating the circularity #
The proof of Theorem 4.1 uses the integers (the chain fāæ(ā„)), whereas the proof
of Theorem 4.6
uses 4.1 ā a hint of circularity. Scott shows it can be eliminated:
(1) If a domain š has an element a where, for f : š ā š, the relation
f(a) ā a holds,
then the least fixed point can be defined without the integers, purely by a
greatest-lower-bound:
fix(f) = ā {x ā |š| ⣠f(x) ā x},
and fix(f) ā a. Here b = ā{ā¦} is a well-defined element by Exercise 1.18
(sInf, the
intersection of a non-empty family of filters). The argument uses only the
monotonicity of
f : |š| ā |š| ā no directed sups, no integers:
f(b) ā xwheneverf(x) ā x(sinceb ā xsof(b) ā f(x) ā x), hencef(b) ā b;- then
f(f(b)) ā f(b), sob ā f(b)too; thusb = f(b); bis least among pre-fixed points, in particular the least fixed point.
This is monoFix / monoFix_isFixed / monoFix_least / monoFix_le_preFix
below. It is entirely
choice-free (#print axioms ā {propext, Quot.sound}).
(2) The argument uses only monotonicity, and (1) always applies to
power-set domains P A
(take a = A, the top element, where f(A) ā A is automatic) ā see Exercise
4.14.
(3) With (1) one re-establishes the recursion principle behind 4.6 directly:
for any structured
set āØZ, z, Ā·ā© there is a unique s : ā ā Z with s(0) = z and s(nāŗ) = s(n)Ā·
(exists_unique_nat_rec). This is the choice-free primitive recursion theorem;
combined with (1)
it removes the circularity (one no longer needs 4.1 to build the iteration).
(4) Specializing (3) to āØā, 0, āŗā© recovers the very iteration n ⦠fāæ
used in 4.1
(nat_iterate_unique), closing the loop without circularity.
(1) The least fixed point of a monotone map via intersection. #
Exercise 4.13(1) (Scott 1981, PRG-19). The least fixed point of a
monotone f defined
purely as the greatest lower bound of the pre-fixed points, ā {x ⣠f(x) ā x}.
Well-defined as an
element by Exercise 1.18 (sInf); the non-emptiness witness is any a with f(a) ā a.
Equations
Instances For
Exercise 4.13(1) (Scott 1981, PRG-19). monoFix f ha is a fixed point:
f(b) = b. (After
f(b) ā b, monotonicity gives f(f(b)) ā f(b), so f(b) is itself a pre-fixed
point, whence
b ā f(b).)
Exercise 4.13(1) (Scott 1981, PRG-19). monoFix f ha is the least fixed
point: any y
with f(y) = y satisfies b ā y.
(3) The primitive-recursion theorem (choice-free), behind 4.6. #
Exercise 4.13(3) (Scott 1981, PRG-19). For any structured set āØZ, z, Ā·ā©
(z : Z,
op : Z ā Z) there is a unique s : ā ā Z with s(0) = z and s(nāŗ) = (s n)Ā·. This is the
choice-free recursion principle (Nat.rec); together with 4.13(1) it eliminates
the circularity in
the proofs of 4.1 and 4.6.
(4) Specialization to āØā, 0, āŗā©. #
Exercise 4.13(4) (Scott 1981, PRG-19). Specializing 4.13(3) to the
structured set
āØā, 0, āŗā©: the unique function s with s(0) = 0 and s(nāŗ) = (s n)āŗ is the
identity. This
is the iteration n ⦠f⿠underlying Theorem 4.1, now justified without
circularity.