我在prolog中有这个知识库......
start :- navabi(C).
male(X,N) :-
write('Is this a male? '), flush_output,
read(yes).
navabi(N):- male(N) -> print('he is navabi') ; mirian(N).
mirian(N):- not( male(N)), print('she is ms.mirian').
female(X) :- not(male(X)).
问题是当我启动这个程序并输入一个不是男性的人时,程序会转到 mirian。然后我打印另一个,它再次查看那个人是否是男性(但是它会喊叫注意这个“N”不是男性)但它再次询问“这是男性吗?”。prolog似乎忘记了以前的知识。谁能帮我这个?
问候。