Reputation: 11159
How to define a relative rule in Prolog?
This is what I got so far:
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.
Thanks in advance!
Upvotes: 0
Views: 1479
Reputation: 8068
Well, for starters, I think you need to rewrite relative(X,Y)
as:
relative(X,Y) :- relative-by-blood(X,Y) ; spouce(X,Y).
From there we need more info (I'll edit to add to my answer if we get more). Also, can you give us your ancestor
rules?
Upvotes: 1