User blog:Rgetar/OCF based on ordinal array function

Yesterday I was thinking about my Veblen-like functions, and I realized that its weak point is that maximal number of iterations is ω, but ω is too small ordinal, and it makes rules more complex.

Then I created OCF based on my ordinal array functions, since these functions do not have fixed points, and there should not be limited iterations. Also, today I slightly modified rules taken from ordinal array functions in order to make rules simpler, but, possibly, it makes calculations more difficult.

Here I publish this OCF (currently I limited it by Ωω).

Fundamental sequence and cofinality
Apparently, there are different definitions of fundamental sequences and cofinality. I use the following definitions:


 * Fundamental sequence of ordinal α is increasing sequence of ordinals such as α is least ordinal greater than any element of this sequence.


 * Cofinality of ordinal α is number of elements of its shortest possible fundamental sequence.

So, cofinality of successor ordinal α + 1 is 1, and its shortest possible fundamental sequence contains only one element

(α + 1)[0] = α

Cofinality of 0 is 0, so, 0 does not have fundamental sequences.

Rules
Here n is natural number, α, γ, X are ordinals, and card(α) is cardinality of ordinal α.

Ordinals are defined using fundamental sequences, so, this is also fundamental sequence system. To find ordinal α, we need cofinality of α and function from an ordinal to element of fundamental sequence of α.

Rules:


 * 0 has not fundamental sequences
 * (α + 1)[0] = α
 * Ωn[γ] = γ
 * [0]α = α + 1 (that is [0]α[0] = α)
 * [X + 1]α = [X][X]α
 * ([X]α)[γ] = [X[γ]]α, if ω ≤ cof(X) ≤ card(α)
 * [X]α = [X[α]]α, if cof(X) > card(α)

(Note: rules 5 and 7 do not define fundamental sequences directly, but using these rules it can be reduced to other rules).

Cofinalities:


 * cof(0) = 0
 * cof(α + 1) = 1
 * cof(Ωn) = Ωn
 * cof([0]α) = 1
 * cof([X + 1]α) = cof([X][X]α)
 * cof([X]α) = cof(X), if ω ≤ cof(X) ≤ card(α)
 * cof([X]α) = cof([X[α]]α), if cof(X) > card(α)

Standard form
n, Ωn are in standard form.

For the rest of ordinals standard form is

[X0][X1][X2][X3][X4][X5]...Ωn

with any integer positive number of "[Xi]"`s, where

X0 < X1 < X2 < X3 < X4 < X5 < ...

and [X]α does not contain "[α]".

Currently I do not know, how to convert non-standard form of ordinals written this way to standard form, and how to compare them. But, I think, this may be not so important, since when we find fundamental sequence elements for standard forms, we always (unlike Veblen functions) get ordinals also in standard forms.

Examples
We may start from ω and use the following rules:


 * Go to successor of current ordinal α (that is α → [0]α = α + 1)
 * If we get [X][X]α, then replace [X][X] with [X + 1] (that is [X][X]α → [X + 1]α)
 * If we get [X]α, where [X] contains [α], and card(α) = Ωn, then replace [α] with [Ωn + 1] (that is [α] → [Ωn + 1])

So, we are starting from ω (standard forms of ordinals we will make blue ):


 * ω

Now use α → [0]α rule:


 * [0]ω = ω + 1

Now use α → [0]α rule again:


 * [0][0]ω = ω + 2

But we got [X][X]α, where X = 0, and α = ω. So, use [X][X]α → [X + 1]α rule:


 * [0][0]ω = [1]ω = ω + 2

Use α → [0]α rule again:


 * [0][1]ω = ω + 3

And again:


 * [0][0][1]ω = ω + 4

We got [X][X]α, now X = 0, and α = [1]ω = ω + 2. Use [X][X]α → [X + 1]α rule:


 * [0][0][1]ω = [1][1]ω = ω + 4

Use [X][X]α → [X + 1]α rule one more time:


 * [1][1]ω = [2]ω = ω + 4

Continue:


 * [0][2]ω = ω + 5
 * [0][0][2]ω = [1][2]ω = ω + 6
 * [0][1][2]ω = ω + 7
 * [0][0][1][2]ω = [1][1][2]ω = [2][2]ω = [3]ω = ω + 8
 * [0][3]ω = ω + 9
 * [0][0][3]ω = [1][3]ω = ω + 10
 * [0][1][3]ω = ω + 11
 * [0][0][1][3]ω = [1][1][3]ω = [2][3]ω = ω + 12
 * [0][2][3]ω = ω + 13
 * [0][0][2][3]ω = [1][2][3]ω = ω + 14
 * [0][1][2][3]ω = ω + 15
 * [0][0][1][2][3]ω = [1][1][2][3]ω = [2][2][3]ω = [3][3]ω = [4]ω = ω + 16
 * [0][4]ω = ω + 17
 * [0][0][4]ω = [1][4]ω = ω + 18
 * [0][1][4]ω = ω + 19
 * [0][0][1][4]ω = [1][1][4]ω = [2][4]ω = ω + 20
 * [0][2][4]ω = ω + 21
 * [0][0][2][4]ω = [1][2][4]ω = ω + 22
 * [0][1][2][4]ω = ω + 23
 * [0][0][1][2][4]ω = [1][1][2][4]ω = [2][2][4]ω = [3][4]ω = ω + 24
 * [0][3][4]ω = ω + 25
 * [0][0][3][4]ω = [1][3][4]ω = ω + 26
 * [0][1][3][4]ω = ω + 27
 * [0][0][1][3][4]ω = [1][1][3][4]ω = [2][3][4]ω = ω + 28
 * [0][2][3][4]ω = ω + 29
 * [0][0][2][3][4]ω = [1][2][3][4]ω = ω + 30
 * [0][1][2][3][4]ω = ω + 31
 * [0][0][1][2][3][4]ω = [1][1][2][3][4]ω = [2][2][3][4]ω = [3][3][4]ω = [4][4]ω = [5]ω = ω + 32




 * [6]ω = ω + 64
 * [7]ω = ω + 128
 * [8]ω = ω + 256
 * [9]ω = ω + 512
 * [10]ω = ω + 1024



Now we go to limit:


 * [ω]ω = ω + ω = ω2

We got [X]α with "[α]", where α = ω, and Ωn = card(ω) = Ω0 = ω, so n = 0. So, use the third rule [α] → [Ωn + 1], where Ωn + 1 = Ω1 = Ω, that is replace "[ω]" with "[Ω]":


 * [ω]ω = [Ω]ω = ω2

Continue:


 * [0][Ω]ω = ω2 + 1
 * [0][0][Ω]ω = [1][Ω]ω = ω2 + 2
 * [0][1][Ω]ω = ω2 + 3
 * [0][0][1][Ω]ω = [1][1][Ω]ω = [2][Ω]ω = ω2 + 4
 * [0][2][Ω]ω = ω2 + 5
 * [0][0][2][Ω]ω = [1][2][Ω]ω = ω2 + 6
 * [0][1][2][Ω]ω = ω2 + 7
 * [0][0][1][2][Ω]ω = [1][1][2][Ω]ω = [2][2][Ω]ω = [3][Ω]ω = ω2 + 8




 * [4][Ω]ω = ω2 + 16
 * [5][Ω]ω = ω2 + 32
 * [6][Ω]ω = ω2 + 64
 * [7][Ω]ω = ω2 + 128
 * [8][Ω]ω = ω2 + 256




 * [ω][Ω]ω = ω2 + ω = ω3

Note: this is not the case [X]α with "[α]", because here X = ω, and α = [Ω]ω, so, we do not use rule [α] → [Ωn + 1].

Continue:


 * [0][ω][Ω]ω = ω3 + 1
 * [0][0][ω][Ω]ω = [1][ω][Ω]ω = ω3 + 2
 * [0][1][ω][Ω]ω = ω3 + 3
 * [0][0][1][ω][Ω]ω = [1][1][ω][Ω]ω = [2][ω][Ω]ω = ω3 + 4
 * [0][2][ω][Ω]ω = ω3 + 5
 * [0][0][2][ω][Ω]ω = [1][2][ω][Ω]ω = ω3 + 6
 * [0][1][2][ω][Ω]ω = ω3 + 7
 * [0][0][1][2][ω][Ω]ω = [1][1][2][ω][Ω]ω = [2][2][ω][Ω]ω = [3][ω][Ω]ω = ω3 + 8




 * [4][ω][Ω]ω = ω3 + 16
 * [5][ω][Ω]ω = ω3 + 32
 * [6][ω][Ω]ω = ω3 + 64
 * [7][ω][Ω]ω = ω3 + 128
 * [8][ω][Ω]ω = ω3 + 256




 * [ω][ω][Ω]ω = ω3 + ω = ω4

We got [X][X]α, where X = ω, and α = [Ω]ω = ω2. So, use [X][X]α → [X + 1]α rule:


 * [ω][ω][Ω]ω = [ω + 1][Ω]ω = ω4

But "[ω + 1][Ω]ω" is not standard form, since "ω + 1" is not standard form: here we should write "ω + 1" as "[0]ω". (For such cases we may formulate the second rule as [X][X]α → [[0]X]α):


 * [ω][ω][Ω]ω = [[0]ω][Ω]ω = [ω + 1][Ω]ω = ω4

Continue:


 * [0][[0]ω][Ω]ω = [0][ω + 1][Ω]ω = ω4 + 1
 * [0][0][[0]ω][Ω]ω = [1][[0]ω][Ω]ω = [1][ω + 1][Ω]ω = ω4 + 2
 * [0][1][[0]ω][Ω]ω = [0][1][ω + 1][Ω]ω = ω4 + 3
 * [0][0][1][[0]ω][Ω]ω = [1][1][[0]ω][Ω]ω = [2][[0]ω][Ω]ω = [2][ω + 1][Ω]ω = ω4 + 4
 * [0][2][[0]ω][Ω]ω = [0][2][ω + 1][Ω]ω = ω4 + 5
 * [0][0][2][[0]ω][Ω]ω = [1][2][[0]ω][Ω]ω = [1][2][ω + 1][Ω]ω = ω4 + 6
 * [0][1][2][[0]ω][Ω]ω = [0][1][2][ω + 1][Ω]ω = ω4 + 7
 * [0][0][1][2][[0]ω][Ω]ω = [1][1][2][[0]ω][Ω]ω = [2][2][[0]ω][Ω]ω = [3][[0]ω][Ω]ω = [3][ω + 1][Ω]ω = ω4 + 8




 * [4][[0]ω][Ω]ω = [4][ω + 1][Ω]ω = ω4 + 16
 * [5][[0]ω][Ω]ω = [5][ω + 1][Ω]ω = ω4 + 32
 * [6][[0]ω][Ω]ω = [6][ω + 1][Ω]ω = ω4 + 64
 * [7][[0]ω][Ω]ω = [7][ω + 1][Ω]ω = ω4 + 128
 * [8][[0]ω][Ω]ω = [8][ω + 1][Ω]ω = ω4 + 256




 * [ω][[0]ω][Ω]ω = [ω][ω + 1][Ω]ω = ω4 + ω = ω5

(wip)