< 上一个 | 内容 | 下一个 >

2.1.1 命题逻辑

命题逻辑下的公式由逻辑常量(true false)、命题变量(表示为斜体小写字母,如 xyz)和逻辑联接词(否定、合取)组成。本文记公式中出现的变量的集合为 Vars()。任意变量集 X 上赋值是从 X {true, false}的映射,X 上所有赋值的集合记为 2X。给定公式以及 X 上的赋值,其中 Vars() X满足递归定义如下:

1满足 true

2不满足 false

3满足 x 当且仅当x true

4满足当且仅当不满足

5满足 当且仅当满足满足

给定公式,若对于 Vars() Vars()上的任意赋值满足都有满足,则称蕴含等价(记为 )当且仅当相互逻辑蕴含。等价于常量 true false 的公式称为平凡(trivial)公式。给定公式Vars()上满足的赋值称为的模型,的所有模型的集合记为 M()是可满足的(satisfiable)当且仅当 M() 是有效的(valid)当且仅当 M() 2Vars()。给定任意赋值,其中赋值为 false 的变量数称为的度(cardinality)。给定公式,若其可满足,则的最小度定义为 M()中所有元素的度的最小值,否则定义为。为了方便,本文还将使用到如下五个逻辑联接词(其定义如表 1.1):析取、条件、反条件、双条件和决策 ITE(表示“if . then . else .”)。任意公式的大小为||表示公式中使用的逻辑联接词的数目。

2-1 逻辑联接词


名称

定义

析取

( )

条件

反条件

双条件

( ) ( )

决策 ITE

ITE(, ,) ( ) ( )


在下文中,我们将使用到如下特定类型的公式:

1)文字(literal):变量 x(正文字)或其否定x(负文字)。给定文字 l,若 l x,则其否定文字l x,否则其否定文字为 xl l 称为互补的文字。给定不含互补文字的文字集 L,下文记 Vars(L)

{x: x L x L},记(L) {x false : x L} {x true : x

L}。给定赋值,下文记 L() {x: x false } {x: x true

}

2)子句(clause):多个文字的析取,在明确上下文中子句有时亦表示为文字的集合,相反,给定文字集 L,在非明确上下文中我们使用(L)表示 L 中所有文字的析取组成的子句;

3)项(term):多个文字的合取,在明确上下文中项有时亦表示为文字的集合,相反,给定文字集 L,在非明确上下文中我们使用

(L)表示 L 中所有文字的合取组成的项;

4)合取范式(conjunctive normal formCNF):多个子句的合取,有时亦表示为子句的集合,所有子句中文字数为 k CNF 公式记为k-CNF 公式,其中 k 为常数;

5)析取范式(disjunctive normal formDNF):多个项的析取,有时亦表示为项的集合;

6)否定范式(negation normal formNNF):否定运算符只出现在变量之前的公式,显然,任意 CNF DNF 公式都为 NNF 公式。


任意命题公式可表示为有根的有向无环图,每个终止节点标记为常量或变量,非终止节点标记为逻辑联接词,然后相同的子公式可合并为一个节点从而节省空间开销。