このディレクトリの索引
#  
#  等差数列の再帰的ではない定義(実は再帰的なのだが)
#  

等差数列(_等差数列) :-
        数列の差が(_等差数列,_差のリスト),
        全て等しい(_差のリスト,_).

数列の差が(_等差数列,_差のリスト) :-
        findall(_差,(
                    append(_,[A,B|_],_等差数列),
                    _差 is B - A),
                _差のリスト).

全て等しい([A],A).
全て等しい([A|R],A) :-
        全て等しい(R,A).