Ordinal notation #
Constructive ordinal arithmetic for ordinals below ε₀.
We define a type ONote, with constructors 0 : ONote and ONote.oadd e n a representing
ω ^ e * n + a.
We say that o is in Cantor normal form - ONote.NF o - if either o = 0 or
o = ω ^ e * n + a with a < ω ^ e and a in Cantor normal form.
The type NONote is the type of ordinals below ε₀ in Cantor normal form.
Various operations (addition, subtraction, multiplication, exponentiation)
are defined on ONote and NONote.
Recursive definition of an ordinal notation. zero denotes the ordinal 0, and oadd e n a is
intended to refer to ω ^ e * n + a. For this to be a valid Cantor normal form, we must have the
exponents decrease to the right, but we can't state this condition until we've defined repr, so we
make it a separate definition NF.
Instances For
The ordinal denoted by a notation
Equations
Instances For
A normal form ordinal notation has the form
ω ^ a₁ * n₁ + ω ^ a₂ * n₂ + ⋯ + ω ^ aₖ * nₖ
where a₁ > a₂ > ⋯ > aₖ and all the aᵢ are also in normal form.
We will essentially only be interested in normal form ordinal notations, but to avoid complicating the algorithms, we define everything over general ordinal notations and only prove correctness with normal form as an invariant.
Instances
opow o₁ o₂ calculates the ordinal notation for the ordinal exponential o₁ ^ o₂.
Equations
Instances For
The property satisfied by fundamentalSequence o:
inl nonemeanso = 0inl (some a)meanso = succ ainr fmeansois a limit ordinal andfis a strictly increasing sequence which converges too
Equations
Instances For
The fast growing hierarchy for ordinal notations < ε₀. This is a sequence of functions ℕ → ℕ
indexed by ordinals, with the definition:
f_0(n) = n + 1f_(α + 1)(n) = f_α^[n](n)f_α(n) = f_(α[n])(n)whereαis a limit ordinal andα[i]is the fundamental sequence converging toα
Equations
Instances For
We can extend the fast growing hierarchy one more step to ε₀ itself, using ω ^ (ω ^ (⋯ ^ ω))
as the fundamental sequence converging to ε₀ (which is not an ONote). Extending the fast
growing hierarchy beyond this requires a definition of fundamental sequence for larger ordinals.
Equations
Instances For
Convert a natural number to an ordinal notation
Equations
Instances For
This is a recursor-like theorem for NONote suggesting an inductive definition, which can't
actually be defined this way due to conflicting dependencies.
Equations
Instances For
Exponentiation of ordinal notations