In this article, I will release a new version of NIECF. It is strongly recommended to use VR (Virtual Reality) device for the optimal user experience.
Current version number is ∞.0.0. The version code name is Ouroboros.
Long term service[]
This notation has entered its Long Term Service(LTS) since 2024/03/02 0:00(JST). It will no longer receive new feature requests and only bugs and security issues are fixed.
Inquiry Form[]
You might find some problems while doing the analysis. Feel free to ask via the inquiry form then:
(English) https://forms.gle/JECFSRjZWqMEarAp9
(Japanese) https://forms.gle/zSjG8gViedDPaQwP9
(Ukrainian) https://forms.gle/RJVjbMZ8JH8gZgr88
The Letters[]
This notation is so strange that we need two new letters to the English alphabet.
Symbols[]
†
This letter is named †ord and represents the SW sound. This letter is so strange that the capital and small letters looks exactly the same.
Example words: an†er, †eat, †eden
Åå
This letter is named Åt and represents the AR sound. It has an uppercase and a lowercase.
Example words: stå, cådinal, åe
(Yes, åe as in "You åe an idiot.")
Modification[]
As the AR sound is taken by Å, the letter R is now named Er (as in player).
But what about the song?[]
† comes between S and T; Å comes between A and B. So, the song goes like this:
A, Å, B, C, D, E, F, G, (G is now as long as F) H, I, J, K, L, M, N, O, P... ("L, M, N, O" still spoken twice as quickly as rest of rhyme) Q, R, S, †, T, U, V... (Now † is inserted, so S is not that long anymore) W... X.../ Y and Z. (No change) Now I know my AÅBs. (The first three letter now has Å) Next time, won't you sing with me?
What about the Alphablocks?[]
† is a male and his color is black. He is a hero like X and he has a †ord for the obvious reason.
Å is a female and her color is rainbow. She acts like Numberblocks 17.
Don't worry, I will never use these characters for variable names because it would be too confusing.
Valid expression[]
All valid expressions åe 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 ågument of FGH?).
And the definition of an "erdinal" is as follows:
- 0
- A+B, where A and B åe erdinals and A cannot be written as X+Y for erdinals X and Y
- ψ_A(B), where A and B åe erdinals and A is legural (of course this psi symbol can be replaced by a trident måk)
- Å_A(B), where A and B åe erdinals and Cough(A)'s Tier is -2 or higher
- The letter †
Let W=ψ_†(0), 1=ψ_W(0), and w=ψ_W(1).
Expansion[]
- If A=0: f_0(n) = n+1
- Else, if Cough(A)=1: f_A(n) = f_〈A〉[0](f_〈A〉[0](...(f_〈A〉[0](n))...)), with n f's
- 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.
Before dealing with an erdinal expression, there must be a few phases before the actual computation. Or, more formally, these phases can be thought to be at the end of every computation.
Unoverrecursivizement[]
This phase removes something like \( \psi(\psi(\Omega)) \).
Procedure: If you see ψ_A(ψ_B(C)) where Cmp(A,B)=0 and Cmp(Cough(B),C)=-1 or 0, change it to ψ_A(C). The change is made from left to right according to the position of ψ corresponding to the A.
Desubroundification[]
This phase removes all the expressions ψ_B(0) except ψ_I(0) and ψ_W(0). Also it removes something like \( \psi_{\psi_M(M^{M^M})}(I) (= \psi_M(M^{M^I})) \).
Procedure: If you see ψ_B(C) (let it A),
- If B's Tier is 0 or lower, desubroundificate B and C, and the process is done.
- Else, if B=ψ_†(N) and Cmp(B,C)=+1 and Cmp(N,0)=+1:
- Do nothing. I mean, there is nothing to desubroundificate.
- Else:
- Desubroundificate B.
- If B can be written as ψ_D(E):
- If Cmp(Cough(D),C)=+1: Let F the desubroundification of ψ_D(〈E〉[C]). Change A to F, and the process is done.
- Else, GOTO 4
- If B can be written as Å_D(E):
- If C=0: Change A to Antiåt(B) defined below.
- Else, GOTO 4
- Else, GOTO 4
- If B can be written as ψ_D(E):
- Desubroundificate B.
- If you reach here, change nothing.
The change is made from left to right according to the position of ψ corresponding to the B.
Antiåtism[]
Let S the set of erdinals as below:
- †∈S.
- If A is in S, then A+†∈S.
For an element A of S, I define Pred(A) as below:
- If A=†: Pred(A)=0.
- Else, let A=B+†, then Pred(A)=B.
Let T the set of erdinals as below:
- If A is in S, then ψ_†(A)∈T.
Procedure: If you see Å_B(C) (let it A),
- If B is in T:
- If C is not 0: do nothing.
- Else: let B=ψ_†(D), then change A to ψ_†(Pred(D)).
- Else, change A to 〈B〉[C].
- Yes, I intended this to happen almost all the time.
I define a global function Antiåt(A) for an erdinal A as follows:
- Let A' the antiåtism of A.
- If A' is not Å_B(C): Antiåt(A)=A'.
- Else: Let A'=Å_B(C).
- If B is not ψ_†(D): Antiåt(A)=A'.
- Else: If D=†: Antiåt(A)=ψ_†(0).
- Else: Let D=E+†. If such E does not exist, Antiåt(A)=A'.
- Antiåt(A)=ψ_†(E).
And now the main phase.
Tier[]
I define the Tier of an erdinal A as follows. It returns an integer geq to -4 or ω, which is supposed to be bigger than any integer:
- If A is 0, it is Tier -4.
- If A is D+E:
- If D=0: A is the same Tier as E.
- Else, if E=0: A is the same Tier as D.
- Else, A is the same tier as E.
- If A is ψ_D(E) for erdinals D and E, where D is not †:
- If Cmp(D,W)=0 and E=0: A is Tier -3.
- Else, if D's Tier >=1 and Cmp(D, Cough(E))=0 or -1: A's Tier is D's Tier -1.
- Else, if D's Tier >=1 and Cmp(D, Cough(E))=+1 and E's Tier >=-2: A's Tier is E's Tier.
- Else, if D's Tier is -1:
- If E's Tier is -4:
- D must be W because desubroundification is assumed. So A=ψ_W(0)=1's Tier is -3.
- Else, if E's Tier is -3 or -2: A's Tier is -2.
- Else, if Cmp(D, Cough(E))=+1: A's Tier is E's Tier.
- Else: A's Tier is -2.
- If E's Tier is -4:
- Else, if D's Tier is 0:
- If E's Tier is -4 or -3: GOTO 3.7
- Else, if Cmp(D, Cough(E))=+1: A's Tier is E's Tier.
- Else: A's Tier is -2.
- Else, if E's Tier is -4 or -3: GOTO 3.7
- If you get to here, D's Tier must be 0 or higher and E's Tier is -4 or -3.
- In that case, A=ψ_D(E)'s Tier is -1.
- If A is ψ_†(C):
- If C's Tier is -4 or -3: A's Tier is -1.
- Else, if C's Tier is -2: A's Tier is -2.
- Else, if Cmp(Cough(C),†)=0: A's Tier is -2.
- Else: A's Tier is C's Tier.
- If A is Å_B(C):
- If Cmp(C,0)=0:
- If Cmp(A,ψ_†(†))=0: A's Tier is -1.
- Else: A's tier is -2.
- If Cmp(C,1)=0: A's Tier is -1.
- Else: A's Tier is Å_B(〈C〉[0])'s Tier +1.
- If Cmp(C,0)=0:
- If A is †:
- A's Tier is ω.
Intuitively:
Tier -4 is zero Tier -3 is successor Tier -2 is countable limit Tier -1 is accessible cådinals Tier 0 is inaccessibles, including hypers Tier 1 is Mahlos Tier 2 is stages Tier 3 is metastages Tier 4 is metametastages etc.
Coughinality[]
I define Cough(A) for an erdinal A as follows:
- If A=0: Cough(0)=0
- If A=D+E:
- If D=0: Cough(0+E)=Cough(E)
- Else, If E=0: Cough(D+0)=Cough(D)
- Else: Cough(D+E)=Cough(E)
- If A=ψ_D(E):
- If A is Tier -3: Cough(A)=1
- Else, if A is Tier -2: Cough(A)=w
- Else: Cough(A)=A
- If A=Å_B(C):
- If Cmp(C,0)=0:
- If Cmp(A,ψ_†(†))=0: Cough(A)=W
- Else: Cough(A)=w
- Else: Cough(A)=A
- If Cmp(C,0)=0:
- If A is †:
- If A=†: Cough(†)=† // of course † is legural
Association[]
I define A⊕B as follows:
- If B=0: A⊕B=A.
- If B cannot be written as D+E:
- If A cannot be written as F+G: A⊕B=A+B.
- Else: Let A=F+G and A⊕B=F+(G⊕B).
- Else: Let B=D+E and A⊕B=(A⊕D)⊕E.
I need this because I let A+B+C is always A+(B+C) in the definition.
Weird Thing[]
I define Split(A,B)=(C,D) as follows.
- Let B=B_1+...+B_n, where B_1,...,B_n cannot be written as S+T, where S and T åe erdinals.
- Let i=max_i(∀j<=i Cmp(B_j,A)=+1 or 0).
- If i does not exist:
- C=0, D=B.
- Else, if i<n:
- C=B_1+...+B_i, D=B_(i+1)+...+B_n.
- Else:
- C=B, D=0.
Comparison[]
I define Cmp(A,B) for erdinals A and B as follows. It returns either -1, 0, or +1 (these åe 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.
- If A=0:
- If B=0: Cmp(0,0)=0
- Else: Cmp(0,B)=-1
- If A=D+E:
- If D=0: Cmp(0+E,B)=Cmp(E,B)
- Else, if E=0: Cmp(D+0,B)=Cmp(D,B)
- Else, if B=0: Cmp(D+E,0)=+1
- Else, if B=F+G:
- If F=0: Cmp(D+E, 0+G)=Cmp(D+E,G)
- Else, if Cmp(D,F) is not 0: Cmp(D+E, F+G)=Cmp(D,F)
- Else: Cmp(D+E, F+G)=Cmp(E,G)
- Else, if Cmp(D,B)=0: Cmp(D+E,B)=+1
- Else: Cmp(D+E,B)=Cmp(D,B)
- If A=ψ_D(E) or Å_D(E):
- If B=0: Cmp(A,B)=+1
- If B=C+D:
- If C=0: Cmp(A,0+D)=Cmp(A,D)
- Else, if D=0: Cmp(A,C+0)=Cmp(A,C)
- Else, if Cmp(A,C)≠0: Cmp(A,B)=Cmp(A,C)
- Else: Cmp(A,B)=+1
- If B=ψ_F(G) or Å_F(G): // I hope same Tier can be compåed lexicographically
- Go to The Section below.
- If B=†: Cmp(A,B)=-1
- If A=†:
- If B=0: Cmp(A,B)=+1
- If B=C+D:
- If C=0: Cmp(A,0+D)=Cmp(A,D)
- Else, if D=0: Cmp(A,C+0)=Cmp(A,C)
- Else, if Cmp(A,C)≠0: Cmp(A,B)=Cmp(A,C)
- Else: Cmp(A,B)=+1
- If B=ψ_C(D): Cmp(A,B)=+1
- If B=†: Cmp(A,B)=0
The Section[]
I will classify X=ψ_Y(Z) or X=Å_Y(Z) into these five categories.
- Class Earth: X=ψ_Y(Z), Y is not †, Y cannot be written as Å_V(W), and X's Tier is -2 or lower.
- Class Water: X=ψ_Y(Z), Y is not †, Y cannot be written as Å_V(W), and X's Tier is -1 or higher.
- Class Fire: X=ψ_Y(Z), Y is not †, and Y can written as Å_V(W)
- Class Air: X=ψ_Y(Z), and Y is †.
- Class Aether: X=Å_Y(Z).
According to the classification of A and B, look at this table and go to the section with the matching character.
乾[]
B has an Å, A does not.
- Let (H,J)=Split(D,E).
- Let K and L.
- If Cmp(G,1)=-1 or 0: Let K=Antiåt(B) and L=1.
- Else: Let K=B and L=0.
- If (J is not 0 or L is not 0) and (H is not 0 or K is not 0):
- If Cmp(H,K) is not 0: Cmp(A,B)=Cmp(ψ_D(H),ψ_F(K)).
- Else: Cmp(A,B)=Cmp(J,L).
- Else:
- Else, if B's Tier is leq to A's Tier:
- If Cmp(D,B) is +1: Cmp(A,B)=+1
- Else: Cmp(A,B)=-1
- Else, if B's Tier is equal to A's Tier:
- If Cmp(D,B) is 0 or -1: Cmp(A,B)=-1.
- Else:
- Let M=Å_F(G⊕1).
- If Cmp(D,M)=0 and E=0: Cmp(A,B)=0.
- Else: Cmp(A,B)=1.
- Else:
- If D=†:
- If Cmp(A,F)=-1: Cmp(A,B)=-1.
- Else: Cmp(A,B)=+1.
- Else:
- Let M the desubroundification of ψ_D(0).
- If Cmp(M,B)=-1: Cmp(A,B)=-1.
- Else: Cmp(A,B)=+1.
- If D=†:
- Else, if B's Tier is leq to A's Tier:
坤[]
This case should be included into other cases, so I will make a redirect here.
Cmp(A,B)=-Cmp(B,A) where -(-1)=+1, -(0)=0, and -(+1)=-1.
震[]
Both A and B åe "countable."
- If Cmp(D,F) is not 0: Cmp(A,B)=Cmp(D,F)
- Else: Cmp(A,B)=Cmp(E,G)
巽[]
Both A and B åe uncountable.
- Let (H,J)=Split(D,E).
- Let (K,L)=Split(F,G).
- If (J is not 0 or L is not 0) and (H is not 0 or K is not 0):
- If Cmp(H,K) is not 0: Cmp(A,B)=Cmp(ψ_D(H),ψ_F(K)).
- Else: Cmp(A,B)=Cmp(J,L).
- Else:
- // Desubroundification should make things much easier
- If Cmp(D,B)=0 or -1: Cmp(A,B)=-1.
- Else, if B's Tier is leq to A's Tier: Cmp(A,B)=-Cmp(B,A) where -(-1)=+1, -(0)=0, and -(+1)=-1.
- Else, if B's Tier is equal to A's Tier:
- If Cmp(D,F) is not 0: Cmp(A,B)=Cmp(D,F).
- Else: Cmp(A,B)=Cmp(E,G).
- Else:
- Let M the desubroundification of ψ_D(0).
- If Cmp(M,B)=-1 or 0: Cmp(A,B)=-1.
- Else: Cmp(A,B)=+1.
坎[]
Both A and B has a †.
Cmp(A,B)=Cmp(F,G)
離[]
A is "countable," B is not.
- If Cmp(W,A)=+1: Cmp(A,B)=-1. // The only case where desubroundification does not work
- Let K.
- If D=ψ_H(J):
- Let K=ψ_H(〈J〉[0]).
- If D=Å_F(G):
- Let K=Antiåt(D).
- A should be between K inclusive and D exclusive.
- If Cmp(K,B)=-1: Cmp(A,B)=-1.
- Else, If Cmp(K,B)=0:
- If G's Tier is -4: Cmp(A,B)=0.
- Else: Cmp(A,B)=+1.
- Else, Cmp(K,B) must be +1. Then, Cmp(A,B)=+1.
艮[]
Both A and B has an Å.
- If Cmp(D,F) is not 0: Cmp(A,B)=Cmp(D,F).
- Else: Cmp(A,B)=Cmp(E,G).
兌[]
B has a †, A does not.
- Let (H,J)=Split(D,E).
- Let (K,L)=Split(F,G).
- If (J is not 0 or L is not 0) and (H is not 0 or K is not 0):
- If Cmp(H,K) is not 0: Cmp(A,B)=Cmp(ψ_D(H),ψ_F(K)).
- Else: Cmp(A,B)=Cmp(J,L).
- Else: Cmp(A,B)=Cmp(D,B).
Fundamental Sequence[]
I define 〈X〉[n], where X and n åe erdinals, as follows. This is the main part of this notation.
- If X=0: 〈X〉[n]=0
- If X=A+B:
- If A=0: 〈0+B〉[n]=〈B〉[n]
- Else, if B=0: 〈A+0〉[n]=〈A〉[n]
- Else: 〈A+B〉[n]=A+〈B〉[n]
- If X=ψ_A(B):
- If X is Tier -3: 〈X〉[n]=0
- If X is Tier -2:
- If Cough(B)=†:
- 〈X〉[n]=ψ_A(ψ_†(B))
- If Cmp(Cough(B),1)=0:
- If n=0: 〈X〉[n]=0
- If n=1: 〈X〉[n]=ψ_A(〈B〉[0])
- Else, if n=D+1: 〈X〉[n]=〈X〉[D]⊕〈X〉[1]
- Else (when n is neither 0 nor 1+1+...+1): 〈X〉[n]=0
- Else, if Cmp(A,Cough(B))=0:
- If n=0: 〈X〉[n]=ψ_A(〈B〉[0])
- If n=1: 〈X〉[n]=〈X〉[0+1]
- Else, if n=D+1: 〈X〉[n]=ψ_A(〈B〉[〈X〉[D]])
- Else (when n is neither 0 nor 1+1+...+1): 〈X〉[n]=0
- Else, if Cmp(A,Cough(B))=-1: 〈X〉[n]=〈ψ_A(〈B〉[ψ_Cough(B)(B)])〉[n]
- Else: 〈X〉[n]=ψ_A(〈B〉[n])
- If Cough(B)=†:
- If X is Tier -1 or higher: 〈X〉[n]=n
- If X=Å_A(B):
- If B=0: Carry out antiåtism and try again.
- Else: 〈X〉[n]=n
- If X=†: 〈X〉[n]=n
Cast[]
I will define Cast(n) as follows. It takes a natural number and returns an erdinal.
- Cast(0)=0
- Cast(1)=1
- Cast(n+1)=Cast(n)⊕1 for n>0
Ordinal[]
I will define the sequences of erdinals {a_n} and {b_n} below:
- a_0 = 0
- a_1 = †
- a_(k+1) = a_k+† for k>=1
- b_n = ψ(a_n)
If everything WERE well-defined, then there would be the limsup of the corresponding ordinal of b_n over natural numbers n. I call it †ord Åt Ordinal (†ÅO). If your keyboard does not have † and Å, you can use Sword Art Ordinal as an alternative, which should be abbreviated as SAO.