0

兄弟に兄弟がいるかどうかを調べる兄弟述語を作成するように言われました。Brother(B, S) :-. 彼らが同じ親を持っているかどうかを調べる必要があることは知っていますが、これを行う方法がわかりません。

father(dan,phil).
father(dan,jack).
father(dan,christine).
father(phil,kenton).
father(phil,shula).
father(phil,david).
father(phil,elizabeth).
father(jack,lillian).
father(jack,tony).
father(jack,jenny).
father(tony,tommy).
father(tony,helen).
father(tony,john).
father(roger,adam).
father(roger,debbie).
father(brian,kate).
father(david,pip).
father(david,josh).
father(mark,daniel).

mother(doris,phil).
mother(doris,jack).
mother(doris,christine).
mother(jill,kenton).
mother(jill,shula).
mother(jill,david).
mother(jill,elizabeth).
mother(peggy,lillian).
mother(peggy,tony).
mother(peggy,jenny).
mother(pat,tommy).
mother(pat,helen).
mother(pat,john).
mother(jenny,adam).
mother(jenny,debbie).
mother(jenny,kate).
mother(ruth,pip).
mother(ruth,josh).
mother(shula,daniel).

male(dan).
male(phil).
male(jack).
male(kenton).
male(david).
male(tony).
male(brian).
male(roger).
male(mark).
male(john).
male(tommy).
male(adam).
male(daniel).
male(josh).

female(doris).
female(jill).
female(peggy).
female(christine).
female(shula).
female(ruth).
female(elizabeth).
female(lillian).
female(pat).
female(jenny).
female(helen).
female(debbie).
female(kate).
female(pip).

dead(dan).
dead(doris).
dead(jack).
dead(mark).
dead(john).
dead(fred).


parent(X,Y) :-
        father(X,Y); mother(X,Y).

grandfather(X,Y) :-
        father(X,Z), mother(Z,Y).
grandfather(X,Y) :-
        father(X,Z), father(Z,Y).

ancestor(X,Y) :- parent(X,Y).
ancestor(X,Y) :- parent(X,Z), ancestor(Z,Y).

archer(dan).
archer(X) :- father(P,X), archer(P).

これは、両親、祖父などを定義する私が持っている文書です。兄弟として座る兄弟述語を作成する必要があります(Bは兄弟、Sは兄弟です)。たとえば、兄弟 (リアム、ジョージア)。リアムはジョージアの兄弟だというのは本当のはずだ

4

1 に答える 1