# Fixed point construction on complete lattices #

This file sets up the basic theory of fixed points of a monotone function in a complete lattice.

## Main definitions #

• OrderHom.lfp: The least fixed point of a bundled monotone function.
• OrderHom.gfp: The greatest fixed point of a bundled monotone function.
• OrderHom.prevFixed: The greatest fixed point of a bundled monotone function smaller than or equal to a given element.
• OrderHom.nextFixed: The least fixed point of a bundled monotone function greater than or equal to a given element.
• fixedPoints.completeLattice: The Knaster-Tarski theorem: fixed points of a monotone self-map of a complete lattice form themselves a complete lattice.

## Tags #

fixed point, complete lattice, monotone function

def OrderHom.lfp {α : Type u} [] :
(α →o α) →o α

Least fixed point of a monotone function

Equations
• OrderHom.lfp = { toFun := fun (f : α →o α) => sInf {a : α | f a a}, monotone' := }
Instances For
def OrderHom.gfp {α : Type u} [] :
(α →o α) →o α

Greatest fixed point of a monotone function

Equations
• OrderHom.gfp = { toFun := fun (f : α →o α) => sSup {a : α | a f a}, monotone' := }
Instances For
theorem OrderHom.lfp_le {α : Type u} [] (f : α →o α) {a : α} (h : f a a) :
OrderHom.lfp f a
theorem OrderHom.lfp_le_fixed {α : Type u} [] (f : α →o α) {a : α} (h : f a = a) :
OrderHom.lfp f a
theorem OrderHom.le_lfp {α : Type u} [] (f : α →o α) {a : α} (h : ∀ (b : α), f b ba b) :
a OrderHom.lfp f
theorem OrderHom.map_le_lfp {α : Type u} [] (f : α →o α) {a : α} (ha : a OrderHom.lfp f) :
f a OrderHom.lfp f
@[simp]
theorem OrderHom.map_lfp {α : Type u} [] (f : α →o α) :
f (OrderHom.lfp f) = OrderHom.lfp f
theorem OrderHom.isFixedPt_lfp {α : Type u} [] (f : α →o α) :
Function.IsFixedPt (f) (OrderHom.lfp f)
theorem OrderHom.lfp_le_map {α : Type u} [] (f : α →o α) {a : α} (ha : OrderHom.lfp f a) :
OrderHom.lfp f f a
theorem OrderHom.isLeast_lfp_le {α : Type u} [] (f : α →o α) :
IsLeast {a : α | f a a} (OrderHom.lfp f)
theorem OrderHom.isLeast_lfp {α : Type u} [] (f : α →o α) :
IsLeast () (OrderHom.lfp f)
theorem OrderHom.lfp_induction {α : Type u} [] (f : α →o α) {p : αProp} (step : ∀ (a : α), p aa OrderHom.lfp fp (f a)) (hSup : ∀ (s : Set α), (as, p a)p (sSup s)) :
p (OrderHom.lfp f)
theorem OrderHom.le_gfp {α : Type u} [] (f : α →o α) {a : α} (h : a f a) :
a OrderHom.gfp f
theorem OrderHom.gfp_le {α : Type u} [] (f : α →o α) {a : α} (h : bf b, b a) :
OrderHom.gfp f a
theorem OrderHom.isFixedPt_gfp {α : Type u} [] (f : α →o α) :
Function.IsFixedPt (f) (OrderHom.gfp f)
@[simp]
theorem OrderHom.map_gfp {α : Type u} [] (f : α →o α) :
f (OrderHom.gfp f) = OrderHom.gfp f
theorem OrderHom.map_le_gfp {α : Type u} [] (f : α →o α) {a : α} (ha : a OrderHom.gfp f) :
f a OrderHom.gfp f
theorem OrderHom.gfp_le_map {α : Type u} [] (f : α →o α) {a : α} (ha : OrderHom.gfp f a) :
OrderHom.gfp f f a
theorem OrderHom.isGreatest_gfp_le {α : Type u} [] (f : α →o α) :
IsGreatest {a : α | a f a} (OrderHom.gfp f)
theorem OrderHom.isGreatest_gfp {α : Type u} [] (f : α →o α) :
IsGreatest () (OrderHom.gfp f)
theorem OrderHom.gfp_induction {α : Type u} [] (f : α →o α) {p : αProp} (step : ∀ (a : α), p aOrderHom.gfp f ap (f a)) (hInf : ∀ (s : Set α), (as, p a)p (sInf s)) :
p (OrderHom.gfp f)
theorem OrderHom.map_lfp_comp {α : Type u} {β : Type v} [] [] (f : β →o α) (g : α →o β) :
f (OrderHom.lfp (g.comp f)) = OrderHom.lfp (f.comp g)
theorem OrderHom.map_gfp_comp {α : Type u} {β : Type v} [] [] (f : β →o α) (g : α →o β) :
f (OrderHom.gfp (g.comp f)) = OrderHom.gfp (f.comp g)
theorem OrderHom.lfp_lfp {α : Type u} [] (h : α →o α →o α) :
OrderHom.lfp (OrderHom.lfp.comp h) = OrderHom.lfp h.onDiag
theorem OrderHom.gfp_gfp {α : Type u} [] (h : α →o α →o α) :
OrderHom.gfp (OrderHom.gfp.comp h) = OrderHom.gfp h.onDiag
theorem OrderHom.gfp_const_inf_le {α : Type u} [] (f : α →o α) (x : α) :
OrderHom.gfp (() x f) x
def OrderHom.prevFixed {α : Type u} [] (f : α →o α) (x : α) (hx : f x x) :
()

Previous fixed point of a monotone map. If f is a monotone self-map of a complete lattice and x is a point such that f x ≤ x, then f.prevFixed x hx is the greatest fixed point of f that is less than or equal to x.

Equations
• f.prevFixed x hx = OrderHom.gfp (() x f),
Instances For
def OrderHom.nextFixed {α : Type u} [] (f : α →o α) (x : α) (hx : x f x) :
()

Next fixed point of a monotone map. If f is a monotone self-map of a complete lattice and x is a point such that x ≤ f x, then f.nextFixed x hx is the least fixed point of f that is greater than or equal to x.

Equations
• f.nextFixed x hx = let __src := (OrderHom.dual f).prevFixed x hx; OrderHom.lfp (() x f),
Instances For
theorem OrderHom.prevFixed_le {α : Type u} [] (f : α →o α) {x : α} (hx : f x x) :
(f.prevFixed x hx) x
theorem OrderHom.le_nextFixed {α : Type u} [] (f : α →o α) {x : α} (hx : x f x) :
x (f.nextFixed x hx)
theorem OrderHom.nextFixed_le {α : Type u} [] (f : α →o α) {x : α} (hx : x f x) {y : ()} (h : x y) :
f.nextFixed x hx y
@[simp]
theorem OrderHom.nextFixed_le_iff {α : Type u} [] (f : α →o α) {x : α} (hx : x f x) {y : ()} :
f.nextFixed x hx y x y
@[simp]
theorem OrderHom.le_prevFixed_iff {α : Type u} [] (f : α →o α) {x : α} (hx : f x x) {y : ()} :
y f.prevFixed x hx y x
theorem OrderHom.le_prevFixed {α : Type u} [] (f : α →o α) {x : α} (hx : f x x) {y : ()} (h : y x) :
y f.prevFixed x hx
theorem OrderHom.le_map_sup_fixedPoints {α : Type u} [] (f : α →o α) (x : ()) (y : ()) :
x y f (x y)
theorem OrderHom.map_inf_fixedPoints_le {α : Type u} [] (f : α →o α) (x : ()) (y : ()) :
f (x y) x y
theorem OrderHom.le_map_sSup_subset_fixedPoints {α : Type u} [] (f : α →o α) (A : Set α) (hA : ) :
sSup A f (sSup A)
theorem OrderHom.map_sInf_subset_fixedPoints_le {α : Type u} [] (f : α →o α) (A : Set α) (hA : ) :
f (sInf A) sInf A
Equations
Equations
Equations
Equations
instance fixedPoints.completeLattice {α : Type u} [] (f : α →o α) :

Knaster-Tarski Theorem: The fixed points of f form a complete lattice.

Equations
• One or more equations did not get rendered due to their size.