頑張って短くする

昨日の。もうちょっとなんとかやってみる。

FXY
X`XY

とりあえずXを増やさないといけないのでFをsABとしてみる

sABXY
AX`BXY

BXにYを引数として渡したいので、Aをsとしてみる

sX`BXY
XY(BXY)

BXYがXYになればいいので、Bはiでいい

ssiXY
sX`iXY
XY(iXY)

はじめのXYはXになってほしいのでkをつけて、ここから元の形に戻っていく

kXY(iXY)
s`kX`iXY  # 1.

Xに適用するとs`kXになる関数を考える

s`kX
ksX`kX
s`kskX

s`ksXをこれで置き換える

s`kskX`iXY
s(s`ksk)iXY

できた。みじかくなった。
最初1.のところでs`kXじゃなくて`kXをFXとおいて、sFX`iXYを考えてたから本来`kXと`iXとYがsの引数になるはずだったのに、FとXと`iXが引数になってしまってあっれー?ってなった。s`kXをFXとおけばいつの間にか意味を変えてしまってる、ということはなくなる。