このディレクトリの索引
#  
#  リストを条件付きで三分割する。
#  

:- op(700,xf,含まない).
:- op(700,xf,含む).


'リストを三つに分解する。前半部にはAを含まず、後半部にはBを含まない、すべての部分リストを示す'(A,B,_リスト,_前半部,_中半部,_後半部) :-
    append(_前半部,_中半部,_後半部,_リスト),
   _前半部 は A を 含まない,
   _後半部 は B を 含まない.


L は A を 含む :- member(A,L).

L は A を 含まない :- \+(member(A,L)).

append([],L1,L2,L) :-
        append(L1,L2,L).
append([A|R1],L1,L2,[A|R]) :-
        append(R1,L1,L2,R).