1
이항 관계가 있고 모든 이진 관계가 대칭이면 결과를 true로 설정하고 그렇지 않으면 false를 얻고 싶습니다.Prolog - 이진 관계가 대칭 일 경우 true
married(mary, tom).
married(sam, linda).
married(linda, sam).
spouse(X, Y) :- married(X, Y), married(Y, X).
결과이 인 경우 : 지금까지 나는 이것을 가지고
?- spouse(X, Y).
X = sam,
Y = linda ;
X = linda,
Y = sam ;
false.
하지만 더 이진 관계가 결혼 없기 때문에 잘못된 결과를 얻을하려는이 경우 (톰, 메리) (따라 포뮬
∀x, y : xRy⇒yRx). 나는이 이진 관계가있을 때 그리고 다른 한편으로는, :married(tom, mary).
married(mary, tom).
married(sam, linda).
married(linda, sam).
을 나는 이진 관계가 대칭이기 때문에 참으로 결과를 얻으려면. 어떻게해야합니까? SWI-Prolog를 사용하고 있습니다.