我一直在尝试学习一些 Prolog Amzi。这是一个示例问题,我无法完全理解这个问题。
这是代码。
/* Facts */
parent(mary,tom).
parent(john,tom).
parent(mary,alice).
parent(john,alice).
sex(mary, female).
sex(john, male).
sex(tom, male).
sex(alice, female).
/* Rules */
mother(X):-
sex(X,female),
parent(X,_).
father(X):-
sex(X, male),
parent(X,_).
sibling(X,Y):-
parent(M,X),
sex(M,female),
parent(F,X),
sex(F,male),
parent(M,Y),
parent(F,Y).
sibling1(X,Y):-
parent(M,X),
sex(M,female),
parent(F,X),
sex(F,male),
parent(M,Y),
parent(F,Y),
X \= Y.
go:-
nl, nl,
write('Hello there .....'), nl,
write('Testing on Prolog2.'), nl,
write('End Job'), n1.
该问题询问规则母亲(X)和父亲(X)中下划线的功能与输出示例。
我似乎不明白下划线在这种情况下的含义以及示例输出的含义。