このディレクトリの索引
#  prologでの冪集合が難しい。でも、たぶんできると思う。

冪集合(_集合,_冪集合) :-
        length(_集合,Len),
        length(LL,Len),
        findall(L2,(
                    append(L,[_|_],[_|LL]),
                    length(L,N),
                    組合せ(_集合,L,L2)),
               LL2),
        _冪集合 = [[]|LL2],!.

'組合せ'(X,[_],[A]) :-
    member(A,X) .
'組合せ'([A|Y],[_|L],[A|X]) :-
    '組合せ'(Y,L,X) .
'組合せ'([_|Y],L,A) :-
    \+(L = [_]),
    '組合せ'(Y,L,A) .