1

我已经开始学习 Prolog 并遵循 RIPTutorial PDF。在约束逻辑编程 CLP(Q)部分,它说:

约束逻辑编程 CLP(Q) 实现对有理数的推理

例子:

?- { 5/6 = X/2 + 1/3 }.
X = 1.

当我在 Windows 上的 SWI-Prolog 上尝试这一行时,它给出了:

ERROR: Unknown procedure: {}/1 (DWIM could not correct goal)

macOS 上命令行 SWI-Prolog-7.2.0 的同一行给出:

ERROR: toplevel: Undefined procedure: {}/1 (DWIM could not correct goal)

如何获得预期的输出X = 1.

4

1 回答 1

3

使用SWI-Prolog

如评论中所述,您需要首先加载CLP(Q)的代码。

?- use_module(library(clpq)).
true

然后输入示例中的查询。

?- {5/6 = X/2 + 1/3}.
X = 1.
于 2021-07-25T09:55:08.523 回答