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

置換(_置換対象要素,_置換要素,[_置換対象要素|R],L) :-
        置換_1(_置換対象要素,_置換要素,R,L).
置換(_置換対象要素,_置換要素,[_要素|R1],[_要素|R2]) :-
        \+(_置換対象要素=_要素),
        置換(_置換対象要素,_置換要素,R1,R2).

置換_1(_,_置換要素,R,[_置換要素|R]).
置換_1(_置換対象要素,_置換要素,R1,[_置換要素|R2]) :-
        置換(_置換対象要素,_置換要素,R1,R2).

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