Prolog/词汇表
外观
< Prolog
这是常见 Prolog 术语的词汇表[1]。
- 参数
- 参数是出现在复合项中的项。例如 A1 和 a2 是项
myterm(A1, a2)
的第一个和第二个参数。 - 元数
- 谓词接受的参数数量。例如,
member(X,List)
的元数为 2。在文档中,谓词的元数写为谓词/元数。例如member/2
。 - 回溯
- 如果子目标失败,内置 Prolog 搜索机制将返回父目标。子目标中实例化的任何变量都将被取消实例化。然后 Prolog 将搜索满足子目标的新方法。这个过程称为回溯。
- 子句
- 关系的单个子句,通常定义为 Head :- Body,但另请参见事实。
- 复合项
也称为结构。它由一个名称后跟 N 个参数组成,每个参数都是一个项。N 被称为项的元数。
- 事实
- 没有主体、只有头部本身的子句。
- 函子
- 复合项的名称和元数的组合。项
foo(a, b, c)
被称为属于函子foo/3 的项。foo/0 用于指代原子 foo。 - 目标
- 向 Prolog 引擎提出的问题。目标要么是原子,要么是复合项。目标成功,在这种情况下,复合项中的变量具有绑定,或者如果 Prolog 无法证明目标,则失败。
- 接地项
- 没有逻辑变量的项。
- 谓词
- 一组子句或一个关系。
- 查询
- 参见目标。
- 关系
- 谓词的同义词。
- 递归
- 定义缺失
- 规则
- 参见子句。
- 项
- Prolog 中的每个对象都是一个项,包括变量、复合项、数字、源代码。
- 统一
- Prolog 将两个项相等的进程,方法是将一个项中的变量分配给另一个项中对应位置的值。例如,
?- foo(a, B) = foo(A, b).
不同于 Prolog 中不存在的赋值,统一不是定向的。
A = a,
B = b.
- 单例变量
- 如果变量在一个子句中只命名一次,通常用 _ 代替它。