Я изо всех сил пытаюсь разгадать эту основную концепцию Пролога.Предложение предлога предлога с использованием списков
Я понимаю, что основное условие для определения предка человека выглядит следующим образом:
ancestor(X, Y) :- parent(X, Y).
ancestor(X, Y) :- parent(X, Z), ancestor(Z, Y).
Однако, я пытаюсь получить мою голову вокруг, как это работает для пролога программы, которая реализует списки, чтобы определить, дети родителей, то есть:
parent_of(simon, [matthew, andrea, joanne]).
Чтобы определить, работает ли или нет кто является отцом кого-то, я использую это, который работает отлично:
father_of(X, Y) :- parent_of(X, List), my_member(Y, List), male(X).
Однако я не могу понять, как заставить это работать в предложении предка выше.
Отлично, большое спасибо за вашу помощь. –