Здравствуйте, я новичок в Prolog с основным вопросом. Я хотел бы знать, почему эти предикаты Prolog daughter_of/2
и son_of/2
не работают так, как я хочу. Например, если я спрошу
16 ?- daughter_of(alice, X).
true.
(Почему верно? Какой предикат мне нужен, чтобы получить Викторию и Альберта?)
Спасибо.
male(albert).
male(edward).
female(alice).
female(victoria).
parents(edward, victoria, albert).
parents(alice, victoria, albert).
sister_of(X,Y):-
female(X),
parents(X,M,F),
parents(Y,M,F).
brother_of(X,Y):-
male(X),
parents(X,M,F),
parents(Y,M,F).
daughter_of(X,Y):-
female(X),
parents(X,M,F).
son_of(X,_Y):-
male(X),
parents(X,M,F).
Y
не появляется нигде в теле вашего предложения предикатаdaughter_of(X, Y)
. - person lurker   schedule 30.04.2014