gpt4 book ai didi

prolog - 如何在 SWI-Prolog 的所有统一中启用发生检查?

转载 作者:行者123 更新时间:2023-12-03 16:19:59 25 4
gpt4 key购买 nike

根据 Wikipedia :

Implementations offering sound unification for all unifications are Qu-Prolog and Strawberry Prolog and (optionally, via a runtime flag): XSB, SWI-Prolog and Tau Prolog.


但是,当我这样做时 apropos(occur)它只找到 unify_with_occurs_check/2 .手册页也没有提到“发生”。如何为 SWI-Prolog 中的所有统一启用发生检查?

最佳答案

Environment Control 部分,它列出了系统的标志。 occurs_check标志是控制发生统一检查的标志。
您可以使用以下方法设置标志:

:- set_prolog_flag(occurs_check, true).
例如:
?- X = f(X).
X = f(X).

?- set_prolog_flag(occurs_check, true).
true.

?- X = f(X).
false.
所以首先它统一 Xf(X) .如果我们稍后设置 occurs_checktrue ,那么如果我们尝试统一 X再次与 f(X) , 它失败。

关于prolog - 如何在 SWI-Prolog 的所有统一中启用发生检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64838646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com