このディレクトリの索引
#  昨日の http://nojiriko.asia/prolog/fukakusa_no_shoushou_1.html の後半に現れる
#  算みて見たれば/2 は append(_,[_|_算みて見たれば],_榻の数々) でも同じ結果が
#  得られる。
#  しかし、appendだと少将の喘ぐような気持ちが表現できない。ここはどうしても
#  再帰の疎ましさが必要だ。
#  
#  上のツイートには誤りがあった。
#
#  
#  @bezokuGon 今日は。今朝私のPrologのツイートをお気に入りに登録されたよう
#  なのですが、私の記述に誤りがありました。
#  append/3の方は解を返す順序が逆でした。
#  これだと、少将がひとつ、ふたつ、みっつ、と数えることになりませんから、
#  使えません。すみませんでした。
#  
#  それから append(_,_算みて見たれば,_榻の数々) としないと
#  一要素(第一要素を)取り損ないます。順序は場合によっては罷り通るでしょうが、
#  こちらは致命的でした。
#  

%%%% 定義その一 %%%%%%%%%%%%%%%%%%%%%%%%%%%


末尾からリストを切り出す([_|R],L) :-
        末尾からリストを切り出す(R,L).
末尾からリストを切り出す(L,L).


%  ?- 末尾からリストを切り出す([1,2,3],L).
%  L = [];
%  L = [3];
%  L = [2,3];
%  L = [1,2,3];
%  false.

%%%% こちらは要素数が降順になる切り出し %%%


末尾からリストを切り出す(L1,L) :-
        append(_,L,L1).


%  ?- 末尾からリストを切り出す([1,2,3],L).
%  L = [1,2,3];
%  L = [2,3];
%  L = [3];
%  L = [];
%  false.