比较Prolog中的变量和谓词

时间:2016-11-28 09:14:01

标签: prolog

我想检查一个变量,比如X,是否是表单add()的谓词。我如何检查这是否属实? X == add()不起作用,X也不是add(_)。我怎样才能实现这种比较?

1 个答案:

答案 0 :(得分:2)

这样做的一般通用方法是:

Specific = add(_), ..., subsumes_term(add(_Any), Specific).

通常,人们会将此优化为:

Specific = add(_), ..., nonvar(Specific), Specific = add(_).

但在一般情况下,您需要subsumes_term/2