こんな表作るより先に print-as-golf を作るべきではないだろうか
ごめん、また Lazy K の話なんだ。
チャーチ数にはやたらと (S(KS)K) が出てくるので、(S(KS)K) を纏めると短くなることが多い。ということで、 (S(KS)K) を後ろにつけるとチャーチ数になる式。0、1、4、16、64 など prelude.scm、prelude-numbers.scm のままの方が短くなる数もあるので注意。
0 | K(KI) |
1 | KI |
2 | SS(KI) |
3 | SS(SS(KI)) |
4 | SSI(SS(KI)) |
5 | SS(SSI(SS(KI))) |
6 | S(SSS)(SS(KI)) |
7 | SS(S(SSS)(SS(KI))) |
8 | S(S(KS)(SS))I(SS(KI)) |
9 | SS(SS)(SS(KI)) |
10 | SS(SS(SS)(SS(KI))) |
11 | SS(SS(SS(SS)(SS(KI)))) |
12 | S(SSS)(SS(SS(KI))) |
13 | SS(S(SSS)(SS(SS(KI)))) |
14 | SS(SS(S(SSS)(SS(SS(KI))))) |
15 | SS(SS(SS(S(SSS)(SS(SS(KI)))))) |
16 | SS(SSI)(SS(KI)) |
17 | SS(SS(SSI)(SS(KI))) |
18 | SS(SS(SS(SSI)(SS(KI)))) |
19 | SS(SS(SS(SS(SSI)(SS(KI))))) |
20 | S(SSS)(SSI(SS(KI))) |
21 | SS(S(SSS)(SSI(SS(KI)))) |
22 | SS(SS(S(SSS)(SSI(SS(KI))))) |
23 | SS(SS(SS(S(SSS)(SSI(SS(KI)))))) |
24 | S(SI(SS(KI)))(S(SSS)(SS(SS(KI)))) |
25 | S(SS(KI))(SS(SSI(SS(KI)))) |
26 | SS(S(SS(KI))(SS(SSI(SS(KI))))) |
27 | SSI(SS(SS(KI))) |
28 | SS(SSI(SS(SS(KI)))) |
29 | SS(SS(SSI(SS(SS(KI))))) |
30 | S(SSS)(SS(SSI(SS(KI)))) |
31 | SS(S(SSS)(SS(SSI(SS(KI))))) |
32 | S(SS(SSI(SS(KI))))(SS(KI)) |
33 | SS(S(SS(SSI(SS(KI))))(SS(KI))) |
34 | S(SI(SS(KI)))(SS(SS(SSI)(SS(KI)))) |
35 | SS(S(SI(SS(KI)))(SS(SS(SSI)(SS(KI))))) |
36 | SS(S(SSS))(SS(KI)) |
37 | SS(SS(S(SSS))(SS(KI))) |
38 | SS(SS(SS(S(SSS))(SS(KI)))) |
39 | SS(SS(SS(SS(S(SSS))(SS(KI))))) |
40 | S(SI(SS(KI)))(S(SSS)(SSI(SS(KI)))) |
41 | SS(S(SI(SS(KI)))(S(SSS)(SSI(SS(KI))))) |
42 | S(SSS)(S(SSS)(SS(KI))) |
43 | SS(S(SSS)(S(SSS)(SS(KI)))) |
44 | SS(SS(S(SSS)(S(SSS)(SS(KI))))) |
45 | SS(SS(SS(S(SSS)(S(SSS)(SS(KI)))))) |
46 | SS(SS(SS(SS(S(SSS)(S(SSS)(SS(KI))))))) |
47 | SS(SS(SS(SS(SS(S(SSS)(S(SSS)(SS(KI)))))))) |
48 | S(SI(SS(SS(KI))))(SS(SSI)(SS(KI))) |
49 | S(SS(KI))(SS(S(SSS)(SS(KI)))) |
50 | SS(S(SS(KI))(SS(S(SSS)(SS(KI))))) |
51 | SS(SS(S(SS(KI))(SS(S(SSS)(SS(KI)))))) |
52 | SS(SS(SS(S(SS(KI))(SS(S(SSS)(SS(KI))))))) |
53 | SS(SS(SS(SS(S(SS(KI))(SS(S(SSS)(SS(KI)))))))) |
54 | S(SI(SS(KI)))(SSI(SS(SS(KI)))) |
55 | SS(S(SI(SS(KI)))(SSI(SS(SS(KI))))) |
56 | S(SSS)(SS(S(SSS)(SS(KI)))) |
57 | SS(S(SSS)(SS(S(SSS)(SS(KI))))) |
58 | SS(SS(S(SSS)(SS(S(SSS)(SS(KI)))))) |
59 | SS(SS(SS(S(SSS)(SS(S(SSS)(SS(KI))))))) |
60 | S(SI(SS(KI)))(S(SSS)(SS(SSI(SS(KI))))) |
61 | SS(S(SI(SS(KI)))(S(SSS)(SS(SSI(SS(KI)))))) |
62 | S(SI(SS(KI)))(SS(S(SSS)(SS(SSI(SS(KI)))))) |
63 | S(SI(SS(S(SSS)(SS(KI)))))(SS(SS)(SS(KI))) |
64 | S(S(SSS)(SS(KI)))(SS(KI)) |
65 | SS(S(S(SSS)(SS(KI)))(SS(KI))) |
66 | SS(SS(S(S(SSS)(SS(KI)))(SS(KI)))) |
67 | SS(SS(SS(S(S(SSS)(SS(KI)))(SS(KI))))) |
68 | S(SI(SSI(SS(KI))))(SS(SS(SSI)(SS(KI)))) |
69 | SS(S(SI(SSI(SS(KI))))(SS(SS(SSI)(SS(KI))))) |
70 | S(SI(SS(S(SSS)(SS(KI)))))(SS(SS(SS)(SS(KI)))) |
71 | SS(S(SI(SS(S(SSS)(SS(KI)))))(SS(SS(SS)(SS(KI))))) |
72 | S(SSS)(S(S(KS)(SS))I(SS(KI))) |
73 | SS(S(SSS)(S(S(KS)(SS))I(SS(KI)))) |
74 | S(SI(SS(KI)))(SS(SS(S(SSS))(SS(KI)))) |
75 | SS(S(SI(SS(KI)))(SS(SS(S(SSS))(SS(KI))))) |
76 | S(SI(SS(KI)))(SS(SS(SS(S(SSS))(SS(KI))))) |
77 | SS(S(SI(SS(KI)))(SS(SS(SS(S(SSS))(SS(KI)))))) |
78 | S(SI(SS(KI)))(SS(SS(SS(SS(S(SSS))(SS(KI)))))) |
79 | SS(S(SI(SS(KI)))(SS(SS(SS(SS(S(SSS))(SS(KI))))))) |
80 | S(SI(SSI(SS(KI))))(S(SSS)(SSI(SS(KI)))) |
81 | SS(SS(SS))(SS(KI)) |
82 | SS(SS(SS(SS))(SS(KI))) |
83 | SS(SS(SS(SS(SS))(SS(KI)))) |
84 | SS(SS(SS(SS(SS(SS))(SS(KI))))) |
85 | SS(SS(SS(SS(SS(SS(SS))(SS(KI)))))) |
86 | SS(SS(SS(SS(SS(SS(SS(SS))(SS(KI))))))) |
87 | S(S(S(SSS)(SS(KI)))S)(SS(SS(SS))(SS(KI))) |
88 | S(S(S(SSS)(SS(KI)))S)(SS(SS(SS(SS))(SS(KI)))) |
89 | S(S(S(S(KS)(SS))I(SS(KI)))S)(SS(SS(SS))(SS(KI))) |
90 | S(SSS)(SS(SS)(SS(KI))) |
91 | SS(S(SSS)(SS(SS)(SS(KI)))) |
92 | SS(SS(S(SSS)(SS(SS)(SS(KI))))) |
93 | SS(SS(SS(S(SSS)(SS(SS)(SS(KI)))))) |
94 | SS(SS(SS(SS(S(SSS)(SS(SS)(SS(KI))))))) |
95 | SS(SS(SS(SS(SS(S(SSS)(SS(SS)(SS(KI)))))))) |
96 | S(SI(S(SSS)(SS(KI))))(SS(SSI)(SS(KI))) |
97 | S(S(SS(SSI)(SS(KI)))S)(SS(SS(SS))(SS(KI))) |
98 | S(SI(SS(KI)))(S(SS(KI))(SS(S(SSS)(SS(KI))))) |
99 | S(S(SS(SS)(SS(KI)))S)(S(SSS)(SS(SS)(SS(KI)))) |
100 | S(SS(KI))(SS(SS(SS)(SS(KI)))) |
101 | SS(S(SS(KI))(SS(SS(SS)(SS(KI))))) |
102 | SS(SS(S(SS(KI))(SS(SS(SS)(SS(KI)))))) |
103 | SS(SS(SS(S(SS(KI))(SS(SS(SS)(SS(KI))))))) |
104 | SS(SS(SS(SS(S(SS(KI))(SS(SS(SS)(SS(KI)))))))) |
105 | S(SI(SS(SSI(SS(KI)))))(SS(S(SSS)(SSI(SS(KI))))) |
106 | S(S(SS(SSI)(SS(KI)))S)(S(SSS)(SS(SS)(SS(KI)))) |
107 | S(S(SS(SSI)(SS(KI)))S)(SS(S(SSS)(SS(SS)(SS(KI))))) |
108 | S(SI(SS(SS(KI))))(SS(S(SSS))(SS(KI))) |
109 | SS(S(SI(SS(SS(KI))))(SS(S(SSS))(SS(KI)))) |
110 | S(SSS)(SS(SS(SS)(SS(KI)))) |
111 | SS(S(SSS)(SS(SS(SS)(SS(KI))))) |
112 | SS(SS(S(SSS)(SS(SS(SS)(SS(KI)))))) |
113 | SS(SS(SS(S(SSS)(SS(SS(SS)(SS(KI))))))) |
114 | SS(SS(SS(SS(S(SSS)(SS(SS(SS)(SS(KI)))))))) |
115 | SS(SS(SS(SS(SS(S(SSS)(SS(SS(SS)(SS(KI))))))))) |
116 | S(SI(SSI(SS(KI))))(SS(SS(SSI(SS(SS(KI)))))) |
117 | S(S(SS(S(SSS))(SS(KI)))S)(SS(SS(SS))(SS(KI))) |
118 | S(S(SS(S(SSS))(SS(KI)))S)(SS(SS(SS(SS))(SS(KI)))) |
119 | S(SI(SS(S(SSS)(SS(KI)))))(SS(SS(SSI)(SS(KI)))) |
120 | S(SI(S(SSS)(SS(KI))))(S(SSS)(SSI(SS(KI)))) |
121 | S(SS(KI))(SS(SS(SS(SS)(SS(KI))))) |
122 | SS(S(SS(KI))(SS(SS(SS(SS)(SS(KI)))))) |
123 | SS(SS(S(SS(KI))(SS(SS(SS(SS)(SS(KI))))))) |
124 | SS(SS(SS(S(SS(KI))(SS(SS(SS(SS)(SS(KI)))))))) |
125 | S(SS(SS(KI)))(SS(SSI(SS(KI)))) |
126 | SS(S(SS(SS(KI)))(SS(SSI(SS(KI))))) |
127 | SS(SS(S(SS(SS(KI)))(SS(SSI(SS(KI)))))) |
128 | S(SS(S(SSS)(SS(KI))))(SS(KI)) |