gpt4 book ai didi

prolog - 如何生成强制为假的断言?

转载 作者:行者123 更新时间:2023-12-04 02:44:36 25 4
gpt4 key购买 nike

首先感谢您的帮助。

关于我的问题:假设我有:

some_fact:- true.

我想在它之上声明一条规则,如下所示:

some_fact:- fail, !.

这是因为我想转换“some_fact:- true.”以在不删除规则的情况下强制为 false(我不想使用 abolish(some_fact,0) . )

问题是我无法找到解决方法,因为我无法将逗号放在 asserta/1 上。我的意思是当我把:

asserta(some_fact:- fail, !).

中间的逗号强制调用 asserta/2 而不是整个规则的 asserta/1,我无法阻止使用引号,因为它断言了一个字符串。

当然我不能简单地输入 asserta(some_fact:- fail). 因为 prolog 将搜索下一个返回 true 的 some_fact。

有什么想法吗?再次感谢!

最佳答案

只需添加括号:

?- asserta((some_fact:- fail, !)).
true.

关于prolog - 如何生成强制为假的断言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19109301/

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