>>86
list_length/2 は
使って良いとして(これも再帰を使っているが)、
findall/3 の中でassert/1 retract/1 を
繰り返して何とかなりそうに思ったが
だめかな。