Lecture IV (§4) — fixed points and recursion: Theorems 4.1 and 4.2 #
Following Dana Scott, Lectures on a Mathematical Theory of Computation, PRG-19 (1981), Lecture IV, Fixed points and recursion. The heart of the matter is the Fixed-point Theorem:
Theorem 4.1 — every approximable mapping
f : 𝒟 → 𝒟has a least elementx ∈ |𝒟|withf(x) = x. Scott constructsx = {X ∈ 𝒟 ∣ Δ fⁿ X for some n}, the family of neighbourhoods reachable from the masterΔalong finitely manyf-steps. We model then-fold compositionfⁿbyiterMap f n(f⁰ = I_𝒟,f^{n+1} = f ∘ fⁿ) and the fixed point byfixElement f. The fixed-point equation istoElementMap_fixElement; minimality among pre-fixed points (f(z) ⊆ z ⟹ x ⊆ z) isfixElement_le_of_toElementMap_le.Theorem 4.2 — the operator
fix : (𝒟 → 𝒟) → 𝒟is itself approximable. We build it asfixMap V : ApproximableMap (funSpace V V) Vvia the extension-from-finite-elements principle (Exercise 2.8,ofMono), sending the finite element↑Ftofix(↑F)where↑F = leastMapis the least map of the neighbourhoodF(heretoApproxMap (↑F)). The defining computationfixMap.toElementMap φ = fix(toApproxMap φ)is Scott's equation (∗)fix(f) = ⋃ {fix(↑F) ∣ f ∈ [F]}(fixMap_toElementMap), whose non-trivial half — every finitef-chain factors through one finite approximantF ∈ φ— isexists_principal_iterMap. Then (i)fix(f) = f(fix(f))(fixMap_fixed); (ii)f(x) ⊆ x ⟹ fix(f) ⊆ x(fixMap_least); (iii)fix(f) = ⊔ₙ fⁿ(⊥)(fixMap_eq_iSup, withiterElem_eq_iterategiving the faithful⊔ₙ fⁿ(⊥)form); and uniqueness (fixMap_unique).
All data constructions (iterMap, fixElement, iterElem, fixMap) are
choice-free
(#print axioms ⊆ {propext, Quot.sound}); the uniqueness lemma fixMap_unique
pulls
Classical.choice only through the project's ext_of_toElementMap, as permitted.
The iterated map fⁿ. #
Theorem 4.1 (Scott 1981, PRG-19). The n-fold composition fⁿ of an
endomap with itself:
f⁰ = I_𝒟 and f^{n+1} = f ∘ fⁿ.
Equations
Instances For
Composition is monotone in both arguments.
The iterate is monotone in the map: f ⊑ g ⟹ fⁿ ⊑ gⁿ (Scott's "fⁿ ⊆ gⁿ").
f commutes with its own iterate: f ∘ fⁿ = fⁿ ∘ f. Proved by induction
using associativity
and the identity laws.
Scott's "a sequence for an X ∈ x can always be extended": if Δ fⁿ X, then
Δ f^{n+1} X
(prepend a Δ-step, using Δ f Δ).
Monotonicity of the reachability relation in the number of steps: n ≤ m and
Δ fⁿ X imply
Δ fᵐ X.
Theorem 4.1 — the least fixed point. #
Theorem 4.1 (Scott 1981, PRG-19). The least fixed point of f, Scott's
x = {X ∈ 𝒟 ∣ Δ fⁿ X for some n}. The three filter conditions are exactly
Scott's: Δ ∈ x (the
n = 0 witness I_𝒟); closure under intersection follows from intersectivity
(inter_right) of
the single iterate f^{max n m} reached by extending the shorter chain; upward
closure is mono.
Equations
Instances For
Theorem 4.1 (Scott 1981, PRG-19). fixElement f is a fixed point: f(x) = x.
f(x) ⊆ x appends an f-step (Δ f^{n+1} X from Δ fⁿ X' f X); x ⊆ f(x)
reads off the last
step of the chain (the empty chain forces X = Δ, handled by
master_mem/master_rel).
Theorem 4.1 (Scott 1981, PRG-19). fixElement f is the least pre-fixed
point: if
f(z) ⊆ z, then x ⊆ z. (Scott's induction: Δ ∈ z, and X ∈ z, X f Y give
Y ∈ f(z) ⊆ z,
so Δ fⁿ X implies X ∈ z.) In particular x is the least element with f(x) = x.
The least fixed point is monotone in the map: f ⊑ g ⟹ fix(f) ⊑ fix(g)
(immediate from
iterMap_mono_map; underlies the approximability of fix in 4.2).
Theorem 4.2(iii) — the iterates fⁿ(⊥). #
The n-th approximant fⁿ(⊥) of the least fixed point.
Equations
- f.iterElem n = (f.iterMap n).toElementMap V.bot
Instances For
Y ∈ fⁿ(⊥) ↔ Δ fⁿ Y: the n-th approximant is the family of neighbourhoods
reachable from
Δ in exactly the n steps recorded by fⁿ.
The approximants form an increasing chain: n ≤ m ⟹ fⁿ(⊥) ⊑ fᵐ(⊥).
fⁿ(⊥) agrees with the iterated elementwise function (f(·))^[n] ⊥ — Scott's
fⁿ(⊥).
Theorem 4.2(iii) (Scott 1981, PRG-19). fix(f) = ⊔ₙ fⁿ(⊥), here as the
directed union of
the increasing chain of approximants.
Theorem 4.2 (Scott 1981, PRG-19). The fixed-point operator fix : (𝒟 → 𝒟) → 𝒟 as an
approximable mapping. Built by the extension principle (Exercise 2.8, ofMono):
on the finite
element ↑F it returns fix(↑F), where ↑F = toApproxMap (principal hF) is the
least map of the
neighbourhood F (Proposition 3.9). Monotonicity of ↑F ↦ fix(↑F) is
fixElement_mono composed
with the order-iso funSpaceEquiv.
Equations
- One or more equations did not get rendered due to their size.
Instances For
On a finite element ↑F, fix returns fix(↑F) (the least fixed point of
the least map of
F).
Theorem 4.2 (Scott 1981, PRG-19) — Scott's equation (∗), hard half. A
finite f-chain
Δ (toApproxMap φ)ⁿ X factors through a single finite approximant F ∈ φ:
there is a
neighbourhood W ∈ φ whose least map already realizes the same chain Δ (↑W)ⁿ X.
The witness W
is accumulated as the intersection of the (finitely many) step-neighbourhoods used
by the chain,
which lies in φ because φ is a filter.
Theorem 4.2 (Scott 1981, PRG-19) — Scott's equation (∗). The elementwise
action of fix is
the least fixed point of the corresponding map: fix.toElementMap φ = fix(toApproxMap φ). The
forward inclusion (⊆ x) is exists_principal_iterMap; the reverse is
monotonicity of fix along
↑W ⊑ toApproxMap φ.
Theorem 4.2(i) (Scott 1981, PRG-19). fix(f) = f(fix(f)): the value of
fix is a fixed
point of the argument. (Equivalently eval(f, fix(f)) = fix(f) by
evalMap_apply.)
Theorem 4.2(ii) (Scott 1981, PRG-19). f(x) ⊆ x ⟹ fix(f) ⊆ x: fix lands
in the least
pre-fixed point.
Theorem 4.2(iii) (Scott 1981, PRG-19). fix(f) = ⊔ₙ fⁿ(⊥) (as a directed
union).
fix applied to (the filter of) an approximable map f returns the least
fixed point of f.
This is the bridge to the "for any f : 𝒟 → 𝒟" form of Theorem 4.2, using the
Theorem 3.10
isomorphism toApproxMap (toFilter f) = f.
Theorem 4.2 (Scott 1981, PRG-19) — uniqueness. Any approximable operator
fax satisfying
(i) and (ii) coincides with fix. (Scott: from (i)(ii) one proves fix(f) ⊆ fax(f) and
fax(f) ⊆ fix(f).)