Documentation

LeanPool.DomainTheory.Neighborhood.Exercise509

Exercise 5.9 (Scott 1981, PRG-19, Lecture V) #

Suppose f, g : 𝒟 → 𝒟 are approximable and f ∘ g = g ∘ f. Then:

Construction. Let a = fix(f). Commutation makes g(a) a fixed point of f (f(g(a)) = g(f(a)) = g(a)), so a ⊑ g(a), and Exercise 4.7 produces the least fixed point of g above a, namely x = ⊔ₙ gⁿ(a). Each gⁿ(a) is again a fixed point of f (induction + commutation), and f preserves the directed union, so f(x) = x: x is a common fixed point. Any common fixed point w satisfies a = fix(f) ⊑ w and g(w) ⊑ w, so x ⊑ w by Exercise 4.7's leastness.

For the second part, commutation gives g(fⁿ(⊥)) = fⁿ⁺¹(⊥) once g(⊥) = f(⊥), so g(fix f) = ⊔ₙ fⁿ⁺¹(⊥) = fix f; symmetrically f(fix g) = fix g, whence fix f = fix g by leastness.

All maps and elements are choice-free; the equalities use only the order on |𝒟|.

Commutation f ∘ g = g ∘ f read elementwise: f(g(x)) = g(f(x)).

theorem Domain.Neighborhood.ApproximableMap.commuting_least_common_fixed {α : Type u_1} {V : NeighborhoodSystem α} {f g : ApproximableMap V V} (hcomm : f.comp g = g.comp f) :
∃ (x : V.Element), f.toElementMap x = x g.toElementMap x = x ∀ (w : V.Element), f.toElementMap w = wg.toElementMap w = wx w

Exercise 5.9 (Scott 1981, PRG-19). Commuting approximable maps have a least common fixed point x = f(x) = g(x).

f.iterElem (n+1) = f(fⁿ(⊥)).

Exercise 5.9 (Scott 1981, PRG-19). If f, g commute and f(⊥) = g(⊥), then fix(f) = fix(g).

(f²)ⁿ(⊥) = f^{2n}(⊥).

Exercise 5.9 (Scott 1981, PRG-19). In particular fix(f) = fix(f²): the -chain f^{2n}(⊥) is cofinal in the f-chain fⁿ(⊥), so the two least fixed points coincide.