このディレクトリの索引
#  http://stackoverflow.com/questions/7540952
#  私は、プロローグでの単純な問題にこだわっている。プログラムを考えてみましょう
#  
#  労働者(手形)。
#  労働者(smitt)。
#  労働者(フレッド)。
#  労働者(ダニー)。
#  労働者(ジョン)。
#  車(BMW)。
#  車(マツダ)。
#  車(アウディ)。
#  所有者(フレッド、マツダ)。
#  所有者(ダニー、BMW)。
#  所有者(ジョン、アウディ)。
#  ?- no_car(X) - :私たちが入力するクエリをした場合、ワーカーXがない車、
#  すなわち、持っていない場合にtrueとなる複数の述語no_car(X)を、
#  追加する必要があります。プロローグは、答える必要があります
#  
#  X = smitt、
#  X =手形、
#  はい 
#  私が行っていることです。
#  
#     hascar(X): - 所有者(X、_)。
#     nocar(X): - 労働者(X)ではなく、hascar(X)。
#  anonimous変数は、クエ??リだけで使用可能なのでしかし、このアプローチは
#  動作しません。だから、私は本当にこの上こだわっている。
#  私は、クエリでこのロジックを表現できるようにSQL内の単語を"NOT EXISTSを"が、
#  プロローグのそれらに類似したものがあるがあると知っていますか?
#  私は、プロローグでの単純な問題にこだわっている。プログラムを考えてみましょう

労働者(bill).
労働者(smitt).
労働者(fred).
労働者(dany).
労働者(john).

車('BMW').
車(マツダ).
車(アウディ).

所有者(fred,マツダ).
所有者(dany,'BMW').
所有者(john,アウディ).


労働者で車を所有していない(_労働者) :-
        労働者(_労働者),
        車を所有していない(_労働者).

車を所有していない(_所有者) :-
        \+(車を所有している(_所有者)).

車を所有している(_所有者) :-
        車(_所有種類),
        所有者(_所有者,_所有種類).