跳转到内容

计算机科学家逻辑/谓词逻辑/语义树

来自维基教科书,开放世界中的开放书籍

语义树

[编辑 | 编辑源代码]

在本节中,我们将介绍语义树的概念,它可以用来证明解析的完备性。为此,我们假设读者熟悉树、二叉树和树路径的概念。

定义 15

[编辑 | 编辑源代码]

一组子句 的语义树是一棵二叉树 ,其根为 ,使得边用文字标记,文字由 的 Herbrand 基中的元素构成,使得

  • 如果 是一个内部节点,它的两条出边用互补文字 标记。
  • 中,到达节点 的每条路径中,都不会包含 中的互补文字,其中 是路径边上的文字集。

定义 16

[编辑 | 编辑源代码]

如果每条路径都包含 Herbrand 基中的每个原子(正或负),则语义树称为完整的。

示例: ,其 Herbrand 基为


请注意,对于语义树 和节点 ,集合 可以被看作是对基本原子进行真值赋值,就像在 Herbrand 解释中一样。因此,我们称 为部分解释。一个完整的语义树对应于对解释的穷尽“枚举”。

定义 17

[编辑 | 编辑源代码]
  • 语义树 的一个节点 是一个失败节点,如果 使 中的一个子句的某个基本实例为假,但对于 的每个祖先节点 不会使 中的任何子句的基本实例为假。
  • 如果语义树 中的每条路径都包含一个失败节点,那么该树称为闭合树。
  • 如果闭合语义树中的节点 的两个直接子节点都是失败节点,则称该节点为推断节点。

示例: ,其中 Herbrand 基是

为一个完整的语义树,那么我们称 为相应的闭合树,如果它可以通过在失败节点处剪切所有分支从 中获得。

定理 5(Herbrand 定理 - 版本 1)

[编辑 | 编辑源代码]

一组子句 是不可满足的,当且仅当对于 的每个完整语义树,都存在一个相应的有限封闭语义树。

证明: 假设 是不可满足的,并且 的一个完整语义树。对于每条路径 ,我们都有标签集 ,这是一个解释,因为树是完整的。因此, 使子句 的一个地面实例 为假,因为 是不可满足的。由于 中只有有限多个文字,因此必须存在一个失败节点 ,它距离根节点有限距离。由于每条路径都有这样的失败节点,因此存在一个相应的封闭语义树 ,它是有限的。

对于相反方向,假设对于每个完整语义树 ,都存在一个相应的有限封闭树 。那么,每条路径都包含一个失败节点,因此,每个解释都使 为假;因此 是不可满足的。

定理 6(赫布兰德定理 - 版本 2)

[编辑 | 编辑源代码]

一组子句 是不可满足的,当且仅当存在一个有限不可满足的集合 ,该集合包含 中子句的地面实例。

证明: 假设 是不可满足的,并且 的一个完备语义树。根据 Herbrand 定理版本 1,存在 的一个有限闭合语义树 。设 是在 的所有失败节点上被证伪的子句的基实例集。 是有限的,并且被所有解释所证伪,因此是不可满足的。我们通过逆否命题证明相反的方向。

注意,这个版本的 Herbrand 定理可以直接转化为一个证明过程:给定一组子句 ,我们想证明它的不可满足性。


  • 生成 子句集,这些子句集是 的子句的基实例。对每个子句集执行命题不可满足性测试。
  • 根据 Herbrand 定理,如果 是不可满足的,那么存在一个有限的 是不可满足的。

问题 10(谓词)

[编辑 | 编辑源代码]

假设以下子句集


  1. 指出 (a) 的 Herbrand 宇宙和 (b) 的 Herbrand 基!
  2. 给出 的一个闭合语义树!


问题 11(谓词)

[编辑 | 编辑源代码]

下面给出公式


分别给出 的 (a) 有限和 (b) 无限 Herbrand 模型,或如果不可能则给出论证。

问题 12 (谓词)

[edit | edit source]

给出以下子句集

分别给出它们的 (a) Herbrand 宇宙,(b) Herbrand 模型和 (c) 非 Herbrand 模型。

华夏公益教科书