2011-09-20 8 views
20

ビジュアルプロローグの「等しくない」サインのドキュメントが見つかりません。この問題の適切な解決方法をご提供ください:ビジュアルプロローグで「等しくない」記号はありますか?

class predicates 
     sister : (string Person, string Sister) nondeterm(o,o). 
    clauses 
     sister(Person, Sister) :- 
      Person [not-equal-sign] Sister, 
      parent(Person, Parent), 
      parent(Sister, Parent), 
      woman(Sister). 

ありがとうございます!

答えて

37

私は、あなたが「等しくない」とはどういう意味ですかわかりませんが、あなたはこれらを試みることができる(統一しないのですか?):第二の変形のための

X \= Y 
not(X = Y) 
\+ (X = Y) 
+1

ありがとうございました。 – Egor

+4

これらのオプションに違いはありますか? – alaboudi

4

ドキュメントがKaarelによって指摘見つけることができますthis Visual Prolog referenceページです。

ただし、コードの問題はもう少し深刻です。また、明確な意味「<>」中置演算子の構文(または異なるあり

sister(Person, Sister) :- 
     parent(Person, Parent), 
     parent(Sister, Parent), 
     not(Person = Sister), 
     woman(Sister). 

:あなたはこのようなものを両方の用語Personと姉妹がバインドされるまで非平等のテストを待って、その再配置する必要があります)。 2つの用語が結びつけられると、これは、上記のような用語が統一できないかどうかをチェックするのと同じ結果をもたらすはずです。