Prolog:文字与谓词,文字与术语

问题描述 投票:0回答:1

Prolog 中的文字和谓词有区别吗?

而且,如果我没记错的话,文字与真值相关,但术语则不然。然而,为什么我们仍然说每个文字也是一个术语呢?我很困惑。

prolog declarative logic-programming
1个回答
0
投票

通常,我认为谓词和文字是不同的东西。 谓词是带有变量的语句,而文字是这些变量可以采用的值。

例如你的程序可能有一个规则:

parent(caesar, augustus).

这意味着凯撒是奥古斯都的父母。

这里

parent
是谓词,而
caesar
augustus
是文字。

如果你正在做一些美学的事情,你的程序可能有规则:

caesar.
augustus :- 1 = 0.

在这种情况下

caesar
augustus
也将分别是 true 和 false 的谓词。这个例子没有直观的意义,一般来说,只有在某些复杂的情况下才需要将文字也作为谓词。如果你才开始学习 prolog,我建议暂时不要担心这些。

Terms 是谓词参数可以采用的复合值。例如,您的程序可能有一条规则:

address(caesar, city(rome)).

这意味着凯撒住在罗马城

© www.soinside.com 2019 - 2024. All rights reserved.