Googology Wiki
Advertisement
Googology Wiki

This section is so long that it deserves its own blog post.

Valid expression[]

All valid expressions are the form of:

f_A(n)

,where A is an erdinal and n is a natural number excluding 0 and 1 (maybe it works for 0 and 1, but not needed. Who would plug in ZERO in the argument of FGH?).

And the definition of an "erdinal" is as follows:

  1. 0
  2. A+B, where A and B are erdinals and A cannot be written as X+Y for erdinals X and Y
  3. ψ_A(B), where A and B are erdinals and A is legural (of course this psi symbol can be replaced by a trident mark)
  4. C(A), where A is a 2nd order erdinal alloys (yes, 2nd only), where "erdinal alloy" means:
    1. An erdinal is by itself a 0th order erdinal alloy.
    2. (B_m)@C_m,...,(B_0)@C_0, where B_ij is an nth order erdinal alloy and C_ij is an erdinal, is an (n+1)th order erdinal alloy.

I changed the C 0-indexed because I found no reason to start the index with 1 in the M^M^w article.

Erdinal alloy[]

I define null erdinal alloy:

  1. 0 is the only null 0th order erdinal alloy.
  2. (n+1)th order erdinal alloy (B_im)@C_im,...,(B_i0)@C_i0 is null if and only if all B_im,...,B_i0 are null.

I define the recursively rightmost non-null erdinal expression (RRNNEE for short) of an erdinal alloy A as follows:

  1. If A is 0th order, the RRNNEE of A is A itself.
  2. Else, if A is null, the RRNNEE of A is 0.
  3. Else, if A is (n+1)th order:
    1. Let A=(B_m)@C_m,...,(B_0)@C_0. There must exists non-null B_i. If there are more than one, take one with the smallest index (rightmost in the expression).
    2. The RRNNEE of A is equal to the RRNNEE of B_i.

I define the recursively rightmost non-null erdinal expression linear list (RRNNEELL for short) of an erdinal alloy A as follows:

  1. If A is 0th order, the RRNNEELL of A is [A].
  2. Else, if A is null, the RRNNEELL of A is [0].
  3. Else, if A is (n+1)th order:
    1. Let A=(B_m)@C_m,...,(B_0)@C_0. There must exists non-null B_i. If there are more than one, take one with the smallest index (rightmost in the expression).
    2. The RRNNEELL of A is the RRNNEELL of B_i, but with (B_i)@C_i appended with the start.

An erdinal alloy is singular iff:

  1. It is 0th order, or
  2. It is the form of (A)@0, where A is singular

An erdinal is singular iff it is C(A), where A is singular.

Let W=C(((0)@0)@0), 1=ψ_W(0), and w=ψ_W(1). This is a shorthand and the formal expression should not contain such symbols.

Expansion[]

  1. If A=0: f_0(n) = n+1
  2. Else, Cough(A)=1: f_A(n) = f_〈A〉[0](f_〈A〉[0](...(f_〈A〉[0](n))...)), with n f_0's
  3. Else: f_ψ_A(B)(n) = f_〈ψ_A(B)〉[Cast(n)](n)

This definition is not perfect because I have not defined Cough, Cast, and 〈X〉[n]. I will define those below.

 !!! SPAGHETTI MONSTER ALERT !!!

EVERYTHING BELOW IS INTELLIGENT-DESIGNED

Standardize[]

I will define 正(A) as follows. This is a simple standardization:

  1. If A=0: 正(0)=0
  2. If A=D+E:
    1. If Cmp(D,E)=-1: 正(D+E)=E
    2. Else: 正(D+E)=D+E
  3. If A=ψ_D(E):
    1. If E=ψ_D(F) where Cmp(Cough(F),D)=+1: 正(A)=正(ψ_D(F))
    2. Else: 正(A)=A
  4. If A=C(D):
    1. If D is null: 正(A)=C(0)
    2. Else, if there exists j such that:
      1. If there exists i such that:
        1. D=(E_n)@F_n,...,(E_0)@F_n, and E_(i-1),...,E_0 are all null, and E_i=(G_m)@H_m,...,(G_0)@H_0, and G_(j-1),...,G_0 are all null, and Cmp(A,G_j)=-1: 正(A)=G_j
    3. Else:
      1. If D=(E_n)@F_n,...,(E_0)@F_0, where E_n is null: 正(A)=正(C((E_(n-1))@F_(n-1),...,(E_0)@F_0))
      2. Else: 正(A)=A

"Next kurdinal"[]

上(A) returns the "Next kurdinal" of A.

  1. If A=0: 上(A)=C(0)
  2. If A=D+E:
    1. If D=0: 上(0+E)=上(E)
    2. Else, if E=0: 上(D+0)=上(D)
    3. Else:
      1. If Cmp(D,E)=-1: 上(D+E)=上(E)
      2. Else: 上(D+E)=上(D)
  3. Else:
    1. If 見(A) is C(((F)@0)@0): 上(A)=C(((F)@0)@01)
    2. Else: 上(A)=C((A+1)@0)

psi-to-C[]

I will define 見(A) and 小(A) as follows. 見 returns an erdinal and 小 returns either TRUE or FALSE. These are supposed to be the psi-to-C function:

  1. If A=0: 見(0)=0, 小(0)=TRUE
  2. If A=D+E:
    1. If D=0: 見(0+E)=見(E), 小(0+E)=小(E)
    2. Else, if E=0: 見(D+0)=見(D), 小(D+0)=小(D)
    3. Else:
      1. If Cmp(見(D),見(E))=-1: 見(D+E)=見(E), 小(D+E)=FALSE
      2. Else, if Cmp(見(D),見(E))=0: 見(D+E)=上(見(E)), 小(D+E)=TRUE
      3. Else: 見(D+E)=上(見(D)), 小(D+E)=TRUE
  3. If A=ψ_D(E):
    1. If 正(見(D)) is singular: 見(A)=正(見(D)), 小(A)=TRUE
      1. Let G=正(見(D))=C(H).
      2. If H is null: 見(A)=C(0), 小(A)=TRUE
      3. Else, let I the RRNNEE of D.
        1. If Cmp(Cough(I),1) = +1 or -1: ILLEGAL, this should not happen. so I let 見(A)=0, 小(A)=FALSE
        2. Else: I must be able to be written as J+1
        3. Let E=K_1+...+K_o+L_1+...+L_p, where:
          1. Cmp(L_1+...+L_p, D) = -1
          2. Cmp(K_o+L_1+...+L_p, D) = 0 or +1
        4. 小(A)=FALSE
        5. Let M is D, but all the entries (of all layers) in D after the RRNNEE is removed.
        6. M must end with ...(I)@N_1)@N_2)...)@N_n.
        7. If Cmp(Cough(N_1),1) = +1: ILLEGAL, this should not happen. so I let 見(A)=0, 小(A)=FALSE
        8. Else, if Cmp(Cough(N_1),1) = 0: 見(A)=C(P), where P is M but (I)@N_1 is changed to (J)@N_1, (ψ_D(K_1+...+K_o)+L_1+...+L_p)@〈N_1〉[0]
        9. Else: Let i the smallest 1<=i<=n such that N_i is not null.
          1. Let M=Q(R(SIT)@N_(i-1))@N_iU, where Q,R,S,T,U are not-necessarily-erdinal strings and the bold parentheses match.
          2. This is HARD, I mean SUPERHIPPOPOTOCALIMONSTROFRAGILISTICSESQUIEXPIALIPEDALIODOCIOUSPHOBICALLY LUNATIC
      4. 小(A)=FALSE

-->

  1. If A=C(D):
    1. 見(A)=A, 小(A)=FALSE

Coughinality[]

I define Cough(A) for an erdinal A as follows:

  1. If A=0: Cough(0)=0
  2. If A=D+E:
    1. If D=0: Cough(0+E)=Cough(E)
    2. Else, If E=0: Cough(D+0)=Cough(D)
    3. Else: Cough(D+E)=Cough(E)
  3. If A=C(D):
    1. If D is null: Cough(D)=W
    2. Else, Let E the RRNNEE of D.
      1. If Cmp(Cough(E),1)=0: Cough(A)=A
      2. Else: Cough(A)=Cough(E)
  4. If A=ψ_D(E):
    1. If Cmp(D,W)=0 and E=0: Cough(ψ_D(0))=1
    2. Else, if Cmp(D,Cough(E))=-1 or 0: Cough(ψ_D(E))=w
    3. Else, If 正(見(D)) is singular, where Cmp(Cough(F),1)=0:
      1. If Cough(E)=0: Cough(ψ_D(0))=ψ_D(0)
      2. Else, if Cmp(Cough(E),1)=0: Cough(ψ_D(E))=w
      3. Else: Cough(ψ_D(E))=Cough(E)
    4. Else:
      1. If Cmp(Cough(E),w)=-1: Cough(ψ_D(E))=ψ_D(E)
      2. Else, if Cmp(Cough(E),D)=-1: Cough(ψ_D(E))=Cough(E)
      3. Else: Cough(ψ_D(E))=w

If an erdinal A satisfies Cmp(Cough(A),A)=0, A is said to be legural.


Comparison[]

I define Cmp(A,B) for erdinals A and B as follows. It returns either -1, 0, or +1 (these are meaningless symbols). Cmp(A,B)=+1 is supposed to imply A>B, Cmp(A,B)=0 is supposed to imply A=B, and Cmp(A,B)=-1 is supposed to imply A<B.

  1. If A=0:
    1. If B=0: Cmp(0,0)=0
  2. Else: Cmp(0,B)=-1
  3. If A=D+E:
    1. If D=0: Cmp(0+E,B)=Cmp(E,B)
    2. Else, if E=0: Cmp(D+0,B)=Cmp(D,B)
    3. Else, if B=0: Cmp(D+E,0)=+1
    4. Else, if B=F+G:
      1. If F=0: Cmp(D+E, 0+G)=Cmp(D+E,G)
      2. Else, if Cmp(D,F) is not 0: Cmp(D+E, F+G)=Cmp(D,F)
      3. Else: Cmp(D+E, F+G)=Cmp(E,G)
    5. Else, if Cmp(D,B)=0: Cmp(D+E,B)=+1
    6. Else: Cmp(D+E,B)=Cmp(D,B)
  4. If A=ψ_D(E):
    1. If B=0: Cmp(A,0)=+1
    2. Else, if B=F+G:
      1. If Cmp(A,F)=0: Cmp(A,F+G)=-1
      2. Else: Cmp(A,F+G)=Cmp(A,F)
    3. Else:
      1. Let 一=見(A), 二=小(A), 三=見(B), 四=小(B)
      2. If Cmp(一,三)=-1: Cmp(A,B)=-1
      3. Else, if Cmp(一,三)=+1: Cmp(A,B)=+1
      4. Else:
        1. If B=ψ_F(G):
          1. If 二 and 四: Cmp(A,B)=0
          2. Else, if 二: Cmp(A,B)=-1
          3. Else, if 四: Cmp(A,B)=+1
          4. Else: Cmp(A,B)=Cmp(正(A),正(B))
        2. If B=C(F):
          1. If 二: Cmp(A,B)=-1
          2. Else: Cmp(A,B)=0
  5. If A=C(D):
    1. If B=0: Cmp(A,0)=+1
    2. Else, if B=F+G:
      1. If Cmp(A,F)=0: Cmp(A,F+G)=-1
      2. Else: Cmp(A,F+G)=Cmp(A,F)
    3. Else, if B=ψ_F(G):
      1. Cmp(A,B)=-Cmp(B,A) where -(-1)=+1, -(0)=0, and -(+1)=-1. JUST LOOK AT ANOTHER SECTION
    4. Else, if B=C(F):
      1. If both D and F is null: Cmp(A,B)=0
      2. Else, if D is null: Cmp(A,B)=-1
      3. Else, if F is null: Cmp(A,B)=+1
      4. Else:
        1. Let D=G_m@H_m,...,G_0@H_0, F=I_n@J_n,...,I_0@J_0.
        2. Let i=m and j=n.
        3. While G_i is null, decrease i by 1.
        4. While I_j is null, decrease j by 1.
        5. If Cmp(H_i,J_j) is not 0: Cmp(A,B)=Cmp(H_i,J_j)
        6. Else, if Cmp(G_i, I_j) is not 0: Cmp(A,B)=Cmp(G_i,I_j)
        7. Else: Decrease i and j by 1 each.
          1. If i=-1 and j=-1: Cmp(A,B)=0
          2. Else, if i=-1: Cmp(A,B)=-1
          3. Else, if j=-1: Cmp(A,B)=+1
          4. Else: Go to 5.4.4.3 and repeat the process. (Yes, I know what I am doing and yet I seriously want to use GOTO.)


Fundamental Sequence[]

I define 〈X〉[n], where X and n are erdinals, as follows. This is the main part of this notation.

  1. If X=0: 〈X〉[n]=0
  2. If X=A+B:
    1. If A=0: 〈0+B〉[n]=〈B〉[n]
    2. Else, if B=0: 〈A+0〉[n]=〈A〉[n]
    3. Else: 〈A+B〉[n]=A+〈B〉[n]
  3. If X=ψ_A(B):
    1. If Cmp(A,Cough(B))=+1:
      1. If 小(X):
        1. If Cmp(Cough(B),1)=-1:
          1. 正(見(A)) must be able to be written as C(D@0).
          2. If Cmp(Cough(〈D〉[0]),w)=-1: 〈X〉[n]=n
          3. Else: 〈X〉[n]=〈〈D〉[0]〉[n]
        2. Else, if Cmp(Cough(B),1)=0:
          1. If n=0: 〈X〉[n]=0
          2. If n=1: 〈X〉[n]=ψ_A(〈B〉[0])
          3. Else, if n=D+1: 〈X〉[n]=〈X〉[D]+〈X〉[1]
          4. Else (when n is neither 0 nor 1+1+...+1): 〈X〉[n]=0
        3. Else: 〈X〉[n]=ψ_A(〈B〉[n])
      2. Else: 〈X〉[n]=n
    2. Else, if Cmp(A,Cough(B))=0:
      1. If n=0: 〈X〉[n]=ψ_A(〈B〉[0])
      2. If n=1: 〈X〉[n]=〈X〉[0+1]
      3. Else, if n=D+1: 〈X〉[n]=ψ_A(〈B〉[〈X〉[D]])
      4. Else (when n is neither 0 nor 1+1+...+1): 〈X〉[n]=0
    3. Else: 〈X〉[n]=〈ψ_A(〈B〉[ψ_Cough(B)(B)])〉[n]
  4. If X=C(D):
    1. If D is null: 〈X〉[n]=n
    2. Else, if Cmp(Cough(RRNNEE of D),1)=0: 〈X〉[n]=n
    3. Else, let D=(E_n)@F_n,...,(E_0)@F_0
      1. There must exist i such that E_i is not null and E_(i-1),...,E_0 are all null
      2. 〈X〉[n]=C((E_n)@F_n,...,(E_(i+1))@F_(i+1),(〈E_i〉[n])@F_i,(E_(i-1))@F_(i-1)...,(E_0)@F_0)

Cast[]

I will define Cast(n) as follows. It takes a natural number and returns an erdinal.

  1. Cast(0)=0
  2. Cast(1)=1
  3. Cast(n+1)=Cast(n)+1 for n>0
Advertisement