We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

Talk:Crazy J

From Esolang
Jump to navigation Jump to search

How did you find these expressions?

I am wondering how you found these expressions. Some of them seem shorter than expected. For example, suppose I want to derive S from J and I. I look at the formula Sxyz=xz(yz). I want to make xz(yz) start with the same thing in xz and yz, so I can use J. One way to do this is Tzx(Tzy)=Tzx(TzTy)=J(Tz)xyT. I know that T=JII. Then, I want to bring Tz out of the parentheses. I could use B, but that would be complicated. An easy way to do this is to use IJ(ITz)xyT=JIJzTxyT. Then, I want to use permuters to bring the xyz to the end. Here are some birds that will help.

R1xyzw=ywzx

R2xyzwv=ywvzx

R3xyzwvu=yuwvzx

It is easy to see that R1=JR, R2=JR1, R3=JR2.

JRxyzw=Rx(Rży)w=Rzywx=ywzx

JR1xyzwv=R1x(R1zy)wv=R1zyvwx=ywvzx

JR2xyzwvu=R2x(R2zy)wvu=R2zyvuwx=yuwvzx

Therefore, R1=J(J(JII)), R2=J(J(J(JII))), R3=J(J(J(J(JII)))). Now, we can bring z to the end of JIJzTxyT using R3 to get R3T(JIJ)yTxz. Then, we can bring y to the end with R1 to get R1xT(R3T(JIJ))yz. Then, we can bring x to the end with R1 to get R1TR1(R3T(JIJ))xyz. Then, S=R1TR1(R3T(JIJ)).

R1TR1(R3T(JIJ))xyz=R1xT(R3T(JIJ))yz=R3T(JIJ)yTxz=JIJzTxyT=IJ(ITz)xyT=J(Tz)xyT=Tzx(TzTy)=Tzx(Tzy)=xz(yz)

Therefore, S=J(J(JII))(JII)(J(J(JII)))(J(J(J(J(JII))))(JII)(JIJ)). However, this has 26 letters, and your expression has 19 letters. How did you find your expression?

By the way, I have reinstated V* in your list. The correct formula is V*xyzw=xwyz. You originally had xzyw, which is a cardinal extended to 4 variables (Cxyzw=xzyw). Your expression was equivalent to RRR=J(JII)(J(JII))(J(JII)). V* can be derived from R1 as R1R1R1R1.

R1R1R1R1xyzw=R1xR1R1yzw=R1yR1xzw=R1zxyw=xwyz

Therefore, V*=J(J(JII))(J(J(JII)))(J(J(JII)))(J(J(JII))). Is this the shortest expression?

For the shortest ones I use bruteforce (I can publish the source code if you're interested, it's in C++). Your approach for manual IJ abstraction elimination is similar to mine which is described in the article (section 5.4). Regarding V*: I just started my bruteforcer, and it quickly found this (length 15): J(J(J(JII)(J(J(JII))))I)IJI. --Blashyrkh (talk) 13:52, 27 June 2026 (UTC)