Fixed points of normal functions #
We prove various statements about the fixed points of normal ordinal functions. We state them in three forms: as statements about type-indexed families of normal functions, as statements about ordinal-indexed families of normal functions, and as statements about a single normal function. For the most part, the first case encompasses the others.
Moreover, we prove some lemmas about the fixed points of specific normal functions.
Main definitions and results #
nfpFamily
,nfpBFamily
,nfp
: the next fixed point of a (family of) normal function(s).fp_family_unbounded
,fp_bfamily_unbounded
,fp_unbounded
: the (common) fixed points of a (family of) normal function(s) are unbounded in the ordinals.deriv_add_eq_mul_omega0_add
: a characterization of the derivative of addition.deriv_mul_eq_opow_omega0_mul
: a characterization of the derivative of multiplication.
Fixed points of type-indexed families of ordinals #
The next common fixed point, at least a
, for a family of normal functions.
This is defined for any family of functions, as the supremum of all values reachable by applying
finitely many functions in the family to a
.
Ordinal.nfpFamily_fp
shows this is a fixed point, Ordinal.le_nfpFamily
shows it's at
least a
, and Ordinal.nfpFamily_le_fp
shows this is the least ordinal with these properties.
Equations
- Ordinal.nfpFamily f a = ⨆ (i : List ι), List.foldr f a i
Instances For
A generalization of the fixed point lemma for normal functions: any family of normal functions has an unbounded set of common fixed points.
The derivative of a family of normal functions is the sequence of their common fixed points.
This is defined for all functions such that Ordinal.derivFamily_zero
,
Ordinal.derivFamily_succ
, and Ordinal.derivFamily_limit
are satisfied.
Equations
- One or more equations did not get rendered due to their size.
Instances For
For a family of normal functions, Ordinal.derivFamily
enumerates the common fixed points.
Fixed points of ordinal-indexed families of ordinals #
The next common fixed point, at least a
, for a family of normal functions indexed by ordinals.
This is defined as Ordinal.nfpFamily
of the type-indexed family associated to f
.
Equations
- o.nfpBFamily f = Ordinal.nfpFamily (o.familyOfBFamily f)
Instances For
A generalization of the fixed point lemma for normal functions: any family of normal functions has an unbounded set of common fixed points.
The derivative of a family of normal functions is the sequence of their common fixed points.
This is defined as Ordinal.derivFamily
of the type-indexed family associated to f
.
Equations
- o.derivBFamily f = Ordinal.derivFamily (o.familyOfBFamily f)
Instances For
For a family of normal functions, Ordinal.derivBFamily
enumerates the common fixed points.
Fixed points of a single function #
The next fixed point function, the least fixed point of the normal function f
, at least a
.
This is defined as ordinal.nfpFamily
applied to a family consisting only of f
.
Equations
- Ordinal.nfp f = Ordinal.nfpFamily fun (x : Unit) => f
Instances For
The fixed point lemma for normal functions: any normal function has an unbounded set of fixed points.
The derivative of a normal function f
is the sequence of fixed points of f
.
This is defined as Ordinal.derivFamily
applied to a trivial family consisting only of f
.
Equations
- Ordinal.deriv f = Ordinal.derivFamily fun (x : Unit) => f
Instances For
Ordinal.deriv
enumerates the fixed points of a normal function.
Fixed points of addition #
Alias of Ordinal.nfp_add_eq_mul_omega0
.
Alias of Ordinal.add_eq_right_iff_mul_omega0_le
.
Alias of Ordinal.add_le_right_iff_mul_omega0_le
.
Alias of Ordinal.deriv_add_eq_mul_omega0_add
.
Fixed points of multiplication #
Alias of Ordinal.nfp_mul_eq_opow_omega0
.
Alias of Ordinal.mul_eq_right_iff_opow_omega0_dvd
.
Alias of Ordinal.mul_le_right_iff_opow_omega0_dvd
.
Alias of Ordinal.nfp_mul_opow_omega0_add
.
Alias of Ordinal.deriv_mul_eq_opow_omega0_mul
.