Documentation

LeanPool.DomainTheory.Neighborhood.Exercise414

Exercise 4.14 (Scott 1981, PRG-19, Lecture IV) β€” P A has a maximum fixed point #

Need a monotone function f : P A β†’ P A always have a maximum fixed point?

Yes. Contrast this with Exercise 4.12, where a general domain π’Ÿ admits monotone (indeed approximable) maps f : π’Ÿ β†’ π’Ÿ with no greatest fixed point. The reason is that P A β€” the power-set domain, whose elements are arbitrary subsets of A ordered by inclusion β€” is a complete lattice: arbitrary unions and intersections exist. So both halves of the Knaster–Tarski theorem apply.

Both constructions use only monotonicity and the complete-lattice structure of P A; they are entirely choice-free (#print axioms βŠ† {propext, Quot.sound}).

Greatest fixed point β€” the answer to Exercise 4.14. #

def Domain.Neighborhood.Exercise414.gfpSet {A : Type u_1} (f : Set A β†’ Set A) :
Set A

Exercise 4.14 (Scott 1981, PRG-19). The greatest fixed point of a monotone f : P A β†’ P A, constructed as the union of all post-fixed points ⋃ {x ∣ x βŠ† f(x)}.

Equations
Instances For
    theorem Domain.Neighborhood.Exercise414.subset_gfpSet {A : Type u_1} (f : Set A β†’ Set A) {x : Set A} (hx : x βŠ† f x) :

    Every post-fixed point x βŠ† f(x) is contained in gfpSet f.

    theorem Domain.Neighborhood.Exercise414.gfpSet_subset_f {A : Type u_1} (f : Set A β†’ Set A) (hf : Monotone f) :

    gfpSet f βŠ† f (gfpSet f): it is a post-fixed point.

    theorem Domain.Neighborhood.Exercise414.gfpSet_isFixed {A : Type u_1} (f : Set A β†’ Set A) (hf : Monotone f) :
    f (gfpSet f) = gfpSet f

    Exercise 4.14 (Scott 1981, PRG-19). gfpSet f is a fixed point: f(g) = g.

    theorem Domain.Neighborhood.Exercise414.gfpSet_greatest {A : Type u_1} (f : Set A β†’ Set A) {y : Set A} (hy : f y = y) :

    Exercise 4.14 (Scott 1981, PRG-19). gfpSet f is the greatest fixed point: any fixed point y = f(y) satisfies y βŠ† g. Hence f does have a maximum fixed point.

    Least fixed point β€” the dual, realizing Exercise 4.13(2) on P A. #

    def Domain.Neighborhood.Exercise414.lfpSet {A : Type u_1} (f : Set A β†’ Set A) :
    Set A

    Exercise 4.13(2) (Scott 1981, PRG-19). The least fixed point of a monotone f : P A β†’ P A, as the intersection of all pre-fixed points β‹‚ {x ∣ f(x) βŠ† x}.

    Equations
    Instances For
      theorem Domain.Neighborhood.Exercise414.lfpSet_subset {A : Type u_1} (f : Set A β†’ Set A) {x : Set A} (hx : f x βŠ† x) :

      lfpSet f βŠ† x for every pre-fixed point f(x) βŠ† x.

      theorem Domain.Neighborhood.Exercise414.f_subset_lfpSet {A : Type u_1} (f : Set A β†’ Set A) (hf : Monotone f) :

      f (lfpSet f) βŠ† lfpSet f: it is a pre-fixed point.

      theorem Domain.Neighborhood.Exercise414.lfpSet_isFixed {A : Type u_1} (f : Set A β†’ Set A) (hf : Monotone f) :
      f (lfpSet f) = lfpSet f

      Exercise 4.13(2) (Scott 1981, PRG-19). lfpSet f is a fixed point: f(b) = b.

      theorem Domain.Neighborhood.Exercise414.lfpSet_least {A : Type u_1} (f : Set A β†’ Set A) {y : Set A} (hy : f y = y) :

      Exercise 4.13(2) (Scott 1981, PRG-19). lfpSet f is the least fixed point: any fixed point y = f(y) satisfies b βŠ† y.