上一页

ⓘ 子句 (逻辑)




子句 (逻辑)
                                     

ⓘ 子句 (逻辑)

在逻辑中, 子句 是文字的析取,在命题逻辑中,子句通常写做如下,这里的符号 l i {\displaystyle l_{i}} 是文字:

l 1 ∨ ⋯ ∨ l n {\displaystyle l_{1}\vee \cdots \vee l_{n}}

在某些情况下,子句被写为文字的集合,所以上述子句将被写为 { l 1, …, l n } {\displaystyle \{l_{1},\ldots,l_{n}\}} 。从上下文中得到提示把这个集合解释为它的元素的析取。子句可以为空;在这种情况下,它是文字的空集。空字句被指示为各种符号比如 ∅ {\displaystyle \emptyset } 、 ⊥ {\displaystyle \bot } 或 ◻ {\displaystyle \Box } 。空字句的真值求值总是 f a l s e {\displaystyle false} 。

在一阶逻辑中,子句是对文字的无量词析取的所有自由变量的全称量化。形式上说,一阶文字是 P t 1, …, t n {\displaystyle Pt_{1},\ldots,t_{n}} 种类的公式,这里的 P {\displaystyle P} 是 n {\displaystyle n} 元谓词而每个 t i {\displaystyle t_{i}} 都是可能包含变量的一个任意的项。如果 L 1, …, L m {\displaystyle L_{1},\ldots,L_{m}} 是文字,而 x 1, …, x k {\displaystyle x_{1},\ldots,x_{k}} 是它们的自由变量,则 ∀ x 1, …, x k. L 1, …, L m {\displaystyle \forall x_{1},\ldots,x_{k}.L_{1},\ldots,L_{m}} 是子句。一阶子句有时省略量词书写,所以上述子句将被写为 L 1, …, L m {\displaystyle L_{1},\ldots,L_{m}} 。这种省略由文字的析取作为一个子句必须使所有变量被全称量化的事实来证实。在子句是有效的或被查实有效性的情况下,这个全称量化也暗含了这个语义。但是,满足性定义假定了自由变量要被存在量化,所以这种量词省略被接受为约定而不是如何处理自由变量的语义的结论。

在逻辑编程中,子句通常被写为从体部到头部的蕴涵。在最简单的情况下,体部是文字的合取而头部是一个单一的文字。更一般的,头部必须是文字的析取。如果 b 1, …, b m {\displaystyle b_{1},\ldots,b_{m}} 是在子句体中的文字而 h 1, …, h n {\displaystyle h_{1},\ldots,h_{n}} 是子句头中的文字,则子句通常写为:

h 1, …, h n: − b 1, …, b m {\displaystyle h_{1},\ldots,h_{n}:-b_{1},\ldots,b_{m}}