Как определить относительное правило в Прологе? - PullRequest
0 голосов
/ 18 сентября 2009

Как определить относительное правило в Прологе?

Это то, что я получил до сих пор:

spouce(X,Y) :-
    wife(X,Y).

spouce(X,Y) :-
    husband(X,Y).

relative-by-blood(X,Y) :-
    ancestor(Z,X),
    ancestor(Z,Y).


relative(X,Y) :-
    relative-by-blood(X,Y).

relative(X,Y) :-
    spouce(X,Y).

relative(X,Y) :-
    relative-by-blood(X,Z), %<- not sure what to do here.

Заранее спасибо!

1 Ответ

1 голос
/ 18 сентября 2009

Ну, для начала, думаю, вам нужно переписать relative(X,Y) как:

relative(X,Y) :- relative-by-blood(X,Y) ; spouce(X,Y).

Оттуда нам нужна дополнительная информация (я буду редактировать, чтобы добавить в мой ответ, если мы получим больше). Кроме того, вы можете дать нам свои ancestor правила?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...