Prolog 事实没有得到解释

问题描述 投票:0回答:1

我已经为这个问题苦苦挣扎了两天多了。我的 Prolog 代码就这么简单:

father(abraham,isaac).
mother(sarah,isaac).
parent(X, Y):- father(X, Y).
parent(X, Y):- mother(X, Y).

当我尝试运行问题时?-

parent(X, isaac).
结果是:

X = abraham .

而不是:

X = abraham .
X = sarah .

我在 Windows 11 中使用 SWI-Prolog 版本 9.0.4(稳定)。我已尝试多次卸载/重新安装 SWI-Prolog,并且还在 macOS 上尝试了我的代码,得到了相同的结果。关于我的代码有什么问题有什么想法吗?

prolog swi-prolog
1个回答
0
投票

适用于我的机器。如果您使用 Prolog 控制台,找到第一个解决方案后,您需要输入

;
回溯并搜索下一个解决方案,重复输入
;
搜索更多解决方案,直到不再有解决方案找到解决方案,但搜索失败,终止查询的执行。

在 SWI Prolog 的 Swish 中尝试一下,您需要单击

Next
按钮:

https://swish.swi-prolog.org/p/TmKQIrpL.pl

© www.soinside.com 2019 - 2024. All rights reserved.