Prolog割查询

Prolog割查询,prolog,prolog-cut,Prolog,Prolog Cut,在Prolog中使用cut。为什么以下查询会返回以下结果: ?- !,false. no 但此查询返回以下结果: ?- !;false. yes 第一个查询执行AND on!(总是返回yes)和false,总是返回no。yes和no=no 在第二个查询中!将执行提交到第一个分支,即!,它总是返回yes。的作用与逻辑或存在时的作用不同。例如parent(X):-!,虚假的;父(X)。总是返回否。当然,这很有道理。我据此编辑了答案,谢谢!

在Prolog中使用cut。为什么以下查询会返回以下结果:

?- !,false.
no
但此查询返回以下结果:

?- !;false.
yes

第一个查询执行AND on!(总是返回yes)和false,总是返回no。yes和no=no


在第二个查询中!将执行提交到第一个分支,即!,它总是返回yes。

的作用与逻辑或存在
时的作用不同。例如
parent(X):-!,虚假的;父(X)。
总是返回
。当然,这很有道理。我据此编辑了答案,谢谢!