简单约束逻辑编程示例 CLP(Q) 在 Prolog 中给出错误
Simple Constraint Logic Programming sample CLP(Q) gives error in Prolog
我已经开始学习 Prolog 并遵循 RIPTutorial PDF。在 Constraint Logic Programming 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.
的预期输出?
使用 SWI-Prolog.
如评论中所述,您需要先加载 CLP(Q) 的代码。
?- use_module(library(clpq)).
true
然后按照示例输入查询。
?- {5/6 = X/2 + 1/3}.
X = 1.
我已经开始学习 Prolog 并遵循 RIPTutorial PDF。在 Constraint Logic Programming 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.
的预期输出?
使用 SWI-Prolog.
如评论中所述,您需要先加载 CLP(Q) 的代码。
?- use_module(library(clpq)).
true
然后按照示例输入查询。
?- {5/6 = X/2 + 1/3}.
X = 1.