Ordinals
Ordinals crash course, or: What is ω?
Constructing ordinals
Ordinal arithmetic
Multiplication
Powering
Subtraction and comparison
Inverse operations
Logarithms and base conversion
Gcd and factorization
Short answer: ω = ℕ endowed with its natural ordering 0<1<2<⋯
What if you add a largest possible element?
ω+1=ω∪∞=0<1<2<⋯<∞
What if you add a new smallest element?
1+ω=−∞∪ω=−∞<0<1<2<⋯
≅ω
So:
1+ω=ω<ω+1
(Read "is isomorphic to" for = and "is (isomorphic to) an initial segment of" for ≤).
Note that ω is not isomorphic to ω+1, since ω+1 has a largest element, namely ∞, while ω does not.
Moving on:
ω+2=0<1<2<⋯<∞<∞+1
2+ω=−1−∞<−∞<0<1<2<⋯=ω
and
2+ω=1+ω=ω< ω+1<ω+2
Keep going: for any positive integer n
n+ω=ω<ω+1<ω+2<⋯<ω+n<⋯<?
Answer:
?=ω+ω=ω⋅2 (2 copies of ω)
You can identify each natural number n with the ordered set of integers smaller than n:
n=0<1<2<⋯<n−1
(Note: in contrast to the 0<1<2<⋯<∞ cases earlier, the ⋯ in this "definition" is finite.)
Then:
0==∅
1=0=∅
2=0<1=∅<∅
3=0<1<2=∅<∅<∅,∅
4=0<1<2<3=∅<∅<∅,∅<∅,∅,∅,∅
⋮
and, as ordered sets:
0<1<2<⋯<ω<ω+1<ω+2<⋯<ω+ω<ω+ω+1<ω+ω+2<⋯<ω+ω+ω<⋯
In general, you can (isomorphically) identify each set above (ordinal) with the set of all smaller ordinals. E.g.:
0<1<2<⋯=ω
0<1<2<⋯<ω=ω+1
0<1<2<⋯<ω<ω+1=ω+2
0<1<2<⋯<ω<ω+1<ω+2<⋯=ω+ω
0<1<2<⋯<ω<ω+1<ω+2<⋯<ω+ω=ω+ω+1
Beyond addition:
ω+ω≕ω⋅2 (2 copies of ω)
2+2+⋯=2⋅ω=ω (ω copies of 2)
ω+ω+ω=ω⋅3
3⋅ω=ω
ω+⋯+ω⏟n times=ω⋅n (n copies of ω)
n⋅ω=ω
0<1<2<⋯<ω<ω+1<⋯<ω⋅2<ω⋅2+1<⋯<ω⋅3<⋯<ω⋅n<⋯<?
?=ω⋅ω=ω2 (ω copies of ω)
or, isomorphically equivalent: pairs of nonnegative integers with reverse lexicographic ordering
a0,a1<b0,b1⇔a1<b1∨a1=b1∧a0<b0
Similarly:
ω⋅ω⋅ω=ω3 (3-tuples)
ω⋅ω⋅ω⋅ω=ω4 (4-tuples)
ω⋅…⋅ω⏟n times=ωn (n-tuples)
What is next?
ωω (ω-tuples with finitely many nonzero entries)
Other interpretation: the union ωω=1⊆ω⊆ω2⊆⋯⊆ωn⊆⋯ of all n-tuples for n∈ω with reverse lexicographic ordering.
The picture so far:
0<1<2<⋯<
ω<ω+1<ω+2<⋯<
ω+ω=ω⋅2<ω⋅2+1<ω⋅2+2<⋯<
ω⋅3<ω⋅3+1<⋯<ω⋅4<ω⋅4+1<⋯<
ω⋅ω=ω2<ω2+1<⋯<ω2+ω<ω2+ω+1<⋯<ω2+ω⋅2<⋯
ω2⋅2<ω2⋅2+1<⋯<ω2⋅2+ω<ω2⋅2+ω+1<⋯<ω2⋅2+ω⋅2<⋯
ω2⋅3<ω2⋅3+1<⋯<ω2⋅3+ω<⋯<ω2⋅4<ω2⋅4+1<⋯<ω2⋅4+ω<⋯
ω2⋅ω=ω3<ω3+1<⋯<ω3+ω<⋯<ω3+ω⋅2<⋯<ω3+ω2<⋯<
ω3⋅2<ω3⋅2+1<⋯<ω3⋅2+ω<⋯<ω3⋅2+ω⋅2<⋯<ω3⋅2+ω2<⋯<
ω3⋅3<ω3⋅3+1<⋯<ω3⋅3+ω<⋯<ω3⋅4<ω3⋅4+1<⋯<ω3⋅4+ω<⋯<
ω3⋅ω=ω4<ω4+1<⋯<ω4+ω<⋯<ω5<ω5+1<⋯<ω5+ω<⋯<
ωω<ωω+1<⋯<ωω+ω<⋯<ωω⋅2<⋯<ωω⋅ω=ωω+1<⋯<ωω⋅2<⋯<
ωω2<⋯<ωω3<⋯<ωωω<⋯<ωωωω<⋯<ϵ0<⋯
Cantor normal form (CNF):
ωe1⋅c1+ωe2⋅c2+⋯+ωek⋅ck
where
c1,c2,...,ck are positive integers,
e1>e2>⋯>ek≥0 are themselves ordinals, recursively.
CNF is proper ⇔e1<ωe1.
Side note about CNF: basically only exponentiation and addition; multiplication is redundant.
ϵ0={all proper CNFs} is itself an ordinal, the smallest ordinal which cannot be defined explicitly using +,⋅,ˆ.
ϵ0=ωωωω⋰ is countable and the smallest ordinal e such that e=ωe; no e in proper CNF satisfies this fixed point equation.
There are uncountably many ordinals larger than ϵ0, but the rest of this document focuses on a Maple package for ordinals in proper CNF, that is, ordinals that are smaller than ϵ0 and their arithmetic.
Load the Ordinals package to begin.
with⁡Ordinals
`+`,`.`,`<`,<=,Add,Base,Dec,Decompose,Div,Eval,Factor,Gcd,Lcm,LessThan,Log,Max,Min,Mult,Ordinal,Power,Split,Sub,`^`,degree,lcoeff,log,lterm,ω,quo,rem,tcoeff,tdegree,tterm
Use the Ordinal constructor to create the Cantor normal form of an ordinal.
a:=Ordinal⁡3,1,1,2,0,3
a:=ω3+ω⋅2+3
Every non-negative integer is an ordinal; no constructor call required.
b:=2
The export omega represents ω. The following two assignments are equivalent.
c:=ω
c:=ω
c:=Ordinal⁡1,1
An ordinal with a non-integer exponent.
d:=Ordinal⁡ω,3,2,5,1,1,0,4
d:=ωω⋅3+ω2⋅5+ω+4
The functions degree, (tdegree), and lcoeff, (tcoeff) return the leading (trailing) exponent and coefficient, respectively.
degree⁡a,degree⁡b,degree⁡c,degree⁡d
3,0,1,ω
tdegree⁡a,tdegree⁡b,tdegree⁡c,tdegree⁡d
0,0,1,0
lcoeff⁡a,lcoeff⁡b,lcoeff⁡c,lcoeff⁡d
1,2,1,3
tcoeff⁡a,tcoeff⁡b,tcoeff⁡c,tcoeff⁡d
3,2,1,4
In Maple, the coefficients ci in the Cantor normal form of an ordinal can be parametric, which means, they may depend polynomially on variables, such as x or y2, with positive integer coefficients. Each parameter like this is implicitly assumed to represent a non-negative integer.
e:=Ordinal⁡3,x,2,x2+x⁢y+y2,0,z02+3
e:=ω3⋅x+ω2⋅x2+x⁢y+y2+z02+3
The Eval command can be used to substitute integers or integer polynomials for some or all of the parameters.
Evale,x=0
ω2⋅y2+z02+3
Eval⁡e,x=x+1,y=0,z0=0
ω3⋅x+1+ω2⋅x2+2⁢x+1+3
The functions Add, Mult, and Power implement addition, multiplication, and exponentiation of ordinals, respectively.
Add⁡a,b,Mult⁡a,b,Power⁡a,b
ω3+ω⋅2+5,ω3⋅2+ω⋅2+3,ω6+ω4⋅2+ω3⋅3+ω⋅2+3
The operators +, . and ^ are overloaded for ordinals.
b+a,b.a,ba
ω3+ω⋅2+3,ω3+ω⋅2+6,ωω2+2⋅8
There are inert versions of these operators, which are rendered in gray and are useful for display purposes.
a &+ b &+ c=a+b+c
ω3+ω⋅2+3+2+ω=ω3+ω⋅3
b &^ c &. a=bc.a
2ω⋅ω3+ω⋅2+3=ω4+ω2⋅2+ω⋅3
Parametric ordinals can be used to illustrate the rules of ordinal arithmetic. All parameters are allowed to assume the value 0, you can add 1 to the leading and trailing coefficients to ensure that they are nonzero for arbitrary non-negative integer values of the parameters.
p:=Ordinal⁡3,x3+1,2,x2,1,x1,0,x0+1
p:=ω3⋅x3+1+ω2⋅x2+ω⋅x1+x0+1
q:=Ordinal⁡2,y2+1,1,y1,0,y0+1
q:=ω2⋅y2+1+ω⋅y1+y0+1
For addition, terms of lower degree are absorbed from the left and appended from the right.
p &+ q=p+q
ω3⋅x3+1+ω2⋅x2+ω⋅x1+x0+1+ω2⋅y2+1+ω⋅y1+y0+1=ω3⋅x3+1+ω2⋅x2+y2+1+ω⋅y1+y0+1
q &+ p=q+p
ω2⋅y2+1+ω⋅y1+y0+1+ω3⋅x3+1+ω2⋅x2+ω⋅x1+x0+1=ω3⋅x3+1+ω2⋅x2+ω⋅x1+x0+1
q &+ z=q+z
ω2⋅y2+1+ω⋅y1+y0+1+z=ω2⋅y2+1+ω⋅y1+y0+1+z
For multiplication, if both arguments have a nonzero constant coefficient, the coefficients of the right factor appear on the left of the product, and vice versa.
p &. q=p.q
ω3⋅x3+1+ω2⋅x2+ω⋅x1+x0+1⋅ω2⋅y2+1+ω⋅y1+y0+1=ω5⋅y2+1+ω4⋅y1+ω3⋅x3⁢y0+x3+y0+1+ω2⋅x2+ω⋅x1+x0+1
q &. p=q.p
ω2⋅y2+1+ω⋅y1+y0+1⋅ω3⋅x3+1+ω2⋅x2+ω⋅x1+x0+1=ω5⋅x3+1+ω4⋅x2+ω3⋅x1+ω2⋅y2⁢x0+x0+y2+1+ω⋅y1+y0+1
In particular, multiplication of an ordinal with a nonzero constant coefficient by a positive constant z+1 only affects the leading or constant coefficient, respectively, depending on the order.
q &. z+1=q.z+1
ω2⋅y2+1+ω⋅y1+y0+1⋅z+1=ω2⋅y2⁢z+z+y2+1+ω⋅y1+y0+1
z+1 &. q=z+1.q
z+1⋅ω2⋅y2+1+ω⋅y1+y0+1=ω2⋅y2+1+ω⋅y1+y0⁢z+z+y0+1
Note that this is not universally valid for z instead of z+1.
z &. q=Evalrhs,z=z−1
z⋅ω2⋅y2+1+ω⋅y1+y0+1=ω2⋅y2+1+ω⋅y1+z⁢y0+z
0 &. q=0.q
0⋅ω2⋅y2+1+ω⋅y1+y0+1=0.
If the factor on the right does not have a constant term, then it absorbs the factor on the left except for its leading power of ω.
p &. Evalq,y0=−1 =p.Evalq,y0=−1
ω3⋅x3+1+ω2⋅x2+ω⋅x1+x0+1⋅ω2⋅y2+1+ω⋅y1=ω5⋅y2+1+ω4⋅y1
z+1 &. Evalq,y0=−1 =z+1.Evalq,y0=−1
z+1⋅ω2⋅y2+1+ω⋅y1=ω2⋅y2+1+ω⋅y1
Some iterated products.
b≔ω . 2+3
b:=ω⋅2+3
b &^ 2=b2
ω⋅2+32=ω2⋅2+ω⋅6+3
b &^ 3=b3
ω⋅2+33=ω3⋅2+ω2⋅6+ω⋅6+3
b &^ 4=b4
ω⋅2+34=ω4⋅2+ω3⋅6+ω2⋅6+ω⋅6+3
b &^ 10=b10
ω⋅2+310=ω10⋅2+ω9⋅6+ω8⋅6+ω7⋅6+ω6⋅6+ω5⋅6+ω4⋅6+ω3⋅6+ω2⋅6+ω⋅6+3
For exponentiation, only the base can be parametric but not the exponent.
p &^ 3=p3
ω3⋅x3+1+ω2⋅x2+ω⋅x1+x0+13=ω9⋅x3+1+ω8⋅x2+ω7⋅x1+ω6⋅x3⁢x0+x0+x3+1+ω5⋅x2+ω4⋅x1+ω3⋅x3⁢x0+x0+x3+1+ω2⋅x2+ω⋅x1+x0+1
If the exponent does not have a constant term, then all coefficients of the base are ignored and so are all exponents except for the leading one, that is, the degree. (In the following example, the degree gets absorbed into the exponent as well, since 3⋅ω=ω.)
p &^ ω=pω
ω3⋅x3+1+ω2⋅x2+ω⋅x1+x0+1ω=ωω
The only type of example for proper CNF ordinals where e=be is when b=z+2 is an integer ≥2 and e=ω.
z+2 &^ ω=z+2ω
z+2ω=ω
This equality is illustrated by writing non-negative integers in base b representation, but in reverse order, with the least significant digit first. For example, if z=0 and b=2:
2ω=20⊆21⊆22⊆⋯
=0⏟0<20⏟1<21⏟01<20+21⏟11<22⏟001<20+22⏟101<21+22⏟011<20+21+22⏟111<23⏟0001<⋯
Some iterated powers.
Power⁡,Power⁡0,Power⁡0,0,Power⁡0,0,0,Power⁡0,0,0,0
1,0,1,0,1
Power⁡,Power⁡2,Power⁡2,2,Power⁡2,2,2,Power⁡2,2,2,2
1,2,4,16,65536
Power⁡2,2,2,2,2
2003529930406846464979072351560255750447825475569751419265016973710894059556311453089506130880933348[...19529 ⅆⅈgⅈts...]5775699146577530041384717124577965048175856395072895337539755822087777506072339445587895905719156736
b &^ b=bb
ω⋅2+3ω⋅2+3=ωω⋅2+3⋅2+ωω⋅2+2⋅6+ωω⋅2+1⋅6+ωω⋅2⋅3
b &^ b &^ b=Power⁡b,b,b
ω⋅2+3ω⋅2+3ω⋅2+3=ωωω⋅2+3⋅2+ωω⋅2+2⋅6+ωω⋅2+1⋅6+ωω⋅2⋅3
b &^ b &^ b &^ b=Power⁡b,b,b,b
ω⋅2+3ω⋅2+3ω⋅2+3ω⋅2+3=ωωωω⋅2+3⋅2+ωω⋅2+2⋅6+ωω⋅2+1⋅6+ωω⋅2⋅3
If b≤a, then there is a unique ordinal c such that b+c=a. This is computed using the Sub command.
a:=ω2 . 3+ω . 2+1
a:=ω2⋅3+ω⋅2+1
b:=ω2 . 3+ω+3
b:=ω2⋅3+ω+3
a &- b=Sub⁡a,b
ω3+ω⋅2+3−ω2⋅3+ω+3=ω3+ω⋅2+3
a &- a=Sub⁡a,a
ω3+ω⋅2+3−ω3+ω⋅2+3=0
If a<b, then Sub⁡a,b returns NULL.
Sub⁡b,a
The LessThan command and the < and <= operators compare two ordinals. LessThan⁡a,b and a<b return false if and only if Sub⁡a,b returns NULL.
LessThan⁡a,b,LessThan⁡a,a,LessThan⁡b,a
false,false,true
a<b,a<a,b<a
a≤b,a≤a,b≤a
false,true,true
The commands Max and Min return the largest and smallest element, respectively, in a sequence or list of ordinals.
l:=a,ω,2,b
l:=ω3+ω⋅2+3,ω,2,ω2⋅3+ω+3
Max⁡l,Min⁡l
ω3+ω⋅2+3,2
sort⁡l,LessThan
2,ω,ω2⋅3+ω+3,ω3+ω⋅2+3
The Sub command performs subtraction on the left. It is a partial inverse of addition on the right: Sub⁡b+c,b=c for arbitrary ordinals b and c, and b+Sub⁡a,b=a if b≤a.
There is no inverse for addition on the left. The following example illustrates that a difference on the right is not unique in general.
1+ω=2+ω
ω=ω
The following examples illustrate that even though ω<ω+1, there is no ordinal c such that c+ω=ω+1.
x &+ ω=x+ω
x+ω=ω
ω.y+x &+ ω=ω.y+x+ω
ω⋅y+x+ω=ω⋅y+1
ω2.z+ω.y+x &+ ω=ω2.z+ω.y+x+ω
ω2⋅z+ω⋅y+x+ω=ω2⋅z+ω⋅y+1
Another way to see this is that c+ω does not have a largest element no matter what c is, while ω+1 does. Thus, a difference on the right does not exist in general.
The Div command performs division with remainder on the left, with a remainder that is smaller than the divisor.
f:=ωω. 2+ω3+ω2 . 3+5
f:=ωω⋅2+ω3+ω2⋅3+5
g:=ω2 . 2+ω+3
g:=ω2⋅2+ω+3
q,r:=Div⁡f,g
q,r:=ωω⋅2+ω+1,ω2+5
g &. q &+ r=g.q+r
ω2⋅2+ω+3⋅ωω⋅2+ω+1+ω2+5=ωω⋅2+ω3+ω2⋅3+5
r<g
true
The quotient and the remainder can be computed individually using the quo and rem commands, respectively.
quo⁡f,g,rem⁡f,g
ωω⋅2+ω+1,ω2+5
Left division is a partial inverse of right multiplication: quo⁡Mult⁡g,q,g=q and rem⁡Mult⁡g,q,g=0 for arbitrary ordinals g, q, and if rem⁡f,g=0, then Mult⁡g,quo⁡f,g=f. Similar to addition, there is no unique inverse for left multiplication, that is, a right quotient, in general.
2 . ω=3 . ω
The Log⁡f,g command returns three ordinals: a logarithm l, a quotient 0<q<g and a remainder r<gl, such that f=gl⋅q+r.
l,q,r:=Log⁡f,g
l,q,r:=ω,2,ω3+ω2⋅3+5
g &^ l &. q &+ r=gl.q+r
ω2⋅2+ω+3ω⋅2+ω3+ω2⋅3+5=ωω⋅2+ω3+ω2⋅3+5
q<g
r<gl
The logarithm is a partial inverse of exponentiation on the right:
f=gl⇔Log⁡f,g=l,1,0, for arbitrary ordinals f,g and l.
Similar to addition and multiplication, there is in general no unique inverse for powering on the left.
2ω=3ω
The Cantor normal form can be viewed as a base-ω representation for ordinals. Repeated application of the Log command yields a base-g representation for an arbitrary ordinal g≥2. This is implemented in the Base command. If g>ω, then the coefficients in that representation need not be integers.
Base⁡f,g
ω,2,1,ω+1,0,ω2+5
Base⁡f,g,output=inert
ω2⋅2+ω+3ω⋅2+ω2⋅2+ω+3⋅ω+1+ω2+5
value⁡
ωω⋅2+ω3+ω2⋅3+5
Base⁡f,ω,output=inert
In the binary representation, all nonzero coefficients are 1.
Base⁡f,2,output=inert
2ω2+1+2ω⋅3+2ω⋅2+1+2ω⋅2+22+1
Base⁡f,2
ω2+1,1,ω⋅3,1,ω⋅2+1,1,ω⋅2,1,2,1,0,1
map⁡z→2z1,
ωω⋅2,ω3,ω2⋅2,ω2,4,1
The Div command implements left division with remainder, and therefore any two ordinals have a greatest common left divisor.
u:=ωω.x+1+ω3+ω2 . 3+ω+5
u:=ωω⋅x+1+ω3+ω2⋅3+ω+5
v:=ω4 . 2+ω2 . 3+ω+5
v:=ω4⋅2+ω2⋅3+ω+5
g:=Gcd⁡u,v
g:=ω2⋅3+ω+5
rem⁡u,g,rem⁡v,g
0,0
u1,v1:=quo⁡u,g,quo⁡v,g
u1,v1:=ωω⋅x+1+ω+1,ω2⋅2+1
g &. u1=g.u1
ω2⋅3+ω+5⋅ωω⋅x+1+ω+1=ωω⋅x+1+ω3+ω2⋅3+ω+5
g &. v1=g.v1
ω2⋅3+ω+5⋅ω2⋅2+1=ω4⋅2+ω2⋅3+ω+5
It is not a coincidence that the coefficients and exponents of the gcd and the last few coefficients of the two input polynomials agree. As discussed in the section Multiplication earlier, and as illustrated again by the last two examples, the coefficients and exponents of the left factor in a multiplication of two ordinals with nonzero constant coefficients reappear as the rightmost coefficients and exponents of the product. This is illustrated more clearly by factoring all the polynomials involved.
Factor⁡u,output=inert
5⋅ω+12⋅3⋅ω+1⋅ωω+1⋅x+1
Factor⁡v,output=inert
5⋅ω+12⋅3⋅ω2+1⋅2
Factor⁡g,output=inert
5⋅ω+12⋅3
Gcd⁡u1,v1
1
Factor⁡u1,output=inert
ω+1⋅ωω+1⋅x+1
Factor⁡v1,output=inert
ω2+1⋅2
Any ordinal of the form ωe+1 with e>0 is multiplicatively irreducible, since the product of two ordinals with nonzero constant coefficients and with at least two terms each has at least three terms.
For factoring an ordinal, first the trailing coefficient can be extracted on the left.
q1,r1:=quo⁡v,5,rem⁡v,5
q1,r1:=ω4⋅2+ω2⋅3+ω+1,0
For factoring an ordinal with the last two terms equal to ωe⋅c+1, where e>0 and c>0, you can extract the irreducible factor ωe+1 on the right.
q2,r2:=quo⁡q1,ω+1,rem⁡q1,ω+1
q2,r2:=ω3⋅2+ω⋅3+1,0
If the trailing term ωd is not a constant (that is, if d>0), it can be extracted as a left factor first, and the left quotient results by left subtracting d from all exponents. So far, the partial factorization can be written as:
v=5 &. ω+1 &. q2
ω4⋅2+ω2⋅3+ω+5=5⋅ω+1⋅ω3⋅2+ω⋅3+1
ω4⋅2+ω2⋅3+ω+5=ω4⋅2+ω2⋅3+ω+5
Proceeding recursively with q2 gives the full factorization of v below. In fact, the integer coefficients in the factored normal form are identical to the integer coefficients in the CNF, just in reverse order. The exponents in the factored normal form are the left differences (see section Subtraction and comparison earlier) of the exponents in the CNF, also in reverse order. In the following example, the coefficients in the CNF are 2,3,1,5 and the exponents are 4,2,1,0:
v
ω4⋅2+ω2⋅3+ω+5
Factor⁡v
1,5,ω+1,1,ω+1,3,ω2+1,2
For ordinals without a constant term, factoring is not unique in general. As discussed in section Multiplication earlier, such an ordinal is left divisible by any ordinal of smaller degree, for example:
inert:=ω2.x+1+ω.y+z &. ω:inert=valueinert
ω2⋅x+1+ω⋅y+z⋅ω=ω3
See Also
Download Help Document