私はプロローグでの否定に明確な答えを探しに苦労を持っていたので、私は、これは明白な疑問であれば謝罪:SWI-プロローグ否定
私は、論理的に言うだろう簡単なコードを記述しようとしています「XとYは、XがYとYだけを好きなら、お互いを愛している」私はその後、私のプログラムを実行し、単に尋ねる
likes(mary,john).
likes(mary,chad).
likes(john,mary).
loves(X,Y):- likes(X,Y), \+likes(X,Z).
:
?- loves(X,Y).
をしかし、それは常にfalse出てくる私の.plコードは次のようになります。私の論理では、「X =ジョン、Y =マリー」と戻ってくるはずです。
私は、否定と切り捨てを分けて、 "愛"を定義するために複数の行を試してみました...私はおそらく否定の主要な原則を欠いているでしょうか、私はここでやろうとしている。もしあなたが助けることができるなら私に教えてください!
私はDebian Software ManagerのSWI-Prolog(swipl)を使用していますが、これはまったく役に立ちますが、これが大きな違いになるとは思えません。