#contents *Replace in a recursive function [#eb7b48e9] **Sample Code 1 [#e3a7c461] a(X):XXXXrXXXXla(srslX) a(r) (20B) The code above can be compressed by replacing XXXX by another variable. a(X,Y):YrYla(srslX,XXXX) a(r,) (19B) **Examples [#o5494688] -[[Problem 0441]] *Special first term [#m9d39ab4] **Sample Code 1 [#e3a7c461] a(X,Y):YrYla(srslX,XXXX) a(r,sss) Even if you replace something by Y, the rule of Y isn't applied for "1st Y". ~ Thus, you can use "1st Y" freely. **Sample Code 2 [#v5560bd3] a(X,Y):XYXa(XX,l) a(srsl,r) **Sample Code 3 [#p1575461] a(X,Y):XXXXYa(sX,YYl) a(r,) In this code, "1st Y" and "2nd Y" is special. **Examples [#x97b838b] -[[Problem 0651]] *Multiple recursion [#z2d43815] **Sample Code 1 [#i62107f5] f(X):ssXlssf(sX) f() (12B) This code can be compressed by recycling "ss": f(X):ssXlf(f(sX)) f() (11B) **Sample Code 2 [#pd3c6df3] 育たない再帰とかで **Examples [#c51fb1eb] -[[Problem 0090]] -[[Problem 1687]]