首页 > 解决方案 > Prolog祖父母关系

问题描述

%Family tree program
% Define facts

parent(mohamed,amer).
parent(mohamed,salah).
parent(amer,hassan).
parent(amer,mohamed).
parent(salah,ahmed).
parent(salah,mostafa).

male(mohamed).
male(amer).
male(hassan).
male(mohamed).
male(salah).
male(ahmed).
male(mosatfa).

% Define rules

offspring(Y,X):-
    parent(X,Y).

brother(Y,D):-
    parent(Z,Y):-
    parent(Z,D).

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

uncle(C,Y):-parent(Z,Y):-brother(Z,C).

当我在 swi-pl 中运行时:祖父母(Y,hassan)。我认为正确的答案是穆罕默德,但输出是错误“错误:未知程序:祖父母/2(DWIM 无法纠正目标)”

标签: prolog

解决方案


推荐阅读