このディレクトリの索引
#  
#  Aを置換対象要素
#  Bを置換要素
#  第三引数に対象リスト
#  第四引数に置換されたリスト
#  

置換(A,B,[A|R],L) :-
        置換_1(A,B,R,L).
置換(A,B,[C|R1],[C|R2]) :-
        \+(A=C),
        置換(A,B,R1,R2).

置換_1(A,B,R,[B|R]).
置換_1(A,B,R1,[B|R2]) :-
        置換(A,B,R1,R2).

%  ?- 置換(a,x,[f,a,y,a,b],L).
%  
%  L = [f,x,y,a,b];
%  L = [f,x,y,x,b];
%  false.
%  ?-