-代数
-代数也是一个代数系统,它的集合为一个由一些函数构成的集合 ,而它的运算为 ,其中 是函数 的参数个数。而定义在集合 上的 -代数则是让 参与 中函数的运算。
-代数 的子代数 满足:
- 集合 ;
- 关于 中的函数满足封闭性。
NOTE
由定义可知,从 随便取一个子集不一定是子代数。
表示 -代数 的、包含 的最小子代数。
-代数上也可以定义同态映射,就是对于每个函数 和参数 都满足 。如果存在同态映射是满射,则两个 -代数同态。
自由 -代数
集合 生成的自由 -代数是对任何 -代数保有 关于 的运算性质的代数,代表所有能被 和 表示出来的东西。这个自由 -代数的集合不一定是 ,但是它和 以及 都有关系。
例如,取 可以构造出一个 生成的自由 代数 ,其中
总之,。它表示了一个由所有有 个“”符号的表达式构成的集合。这个特定的自由 -代数叫作命题代数 。
NOTE
命题代数中的零元运算 含义是“假”。
“ 字”是自由 -代数的元素,而“字”是同态映射后的 -代数的元素。对应到命题代数中,也就是 “ 字” 是命题,“字”是真/假。无论是 字还是字,都可以按照 中函数的运算规则进行运算。
命题演算
赋值与指派
- 命题的赋值:命题代数 到同余类 的同态映射 叫作对 的赋值。当 时称 为真,否则称 为假。
- 命题变元的指派: 将命题变元集合 映射到 上。
指派可以唯一地扩张为命题的赋值。意思是,给变量赋值之后就可以唯一地知道每个命题是真是假。
- 语义蕴涵: 表示对所有使得 的赋值,都有 。
- 逻辑蕴含: 表示存在从 导出 的证明。
- 重言式 表示 ,定理 表示 。
另一种记号:
NOTE
语义蕴涵和逻辑蕴涵的实质区别在于,语义蕴涵是根据一系列赋值得到的,而逻辑蕴涵是根据一系列推理规则得到的。因此,如果构造出一个合适的推理规则来描述某个赋值,则基于这种赋值的语义蕴涵与基于这种推理规则的逻辑蕴涵应该是等价的。
但是由于有不完备性定理,所以无法构造出满足要求的推理规则,即无论怎样构造,都会有一些命题无法证明。
IMPORTANT
本身不是一个命题。
析取范式与合取范式
- 析取范式:,最常用,若干个与都可以
- 合取范式:
任一种都可以表达所有的命题。
TIP
一般通过真值表写出析取范式,然后可以把析取范式转换成合取范式:取真值表中的其他项,把变量的真假反过来、 和 反过来就是合取范式。
证明方法
- 用定义证明
- 用真值表证明
- 用演算规则证明
- 用公理证明
- 演绎定理:,用来把 在式子中左右移动。
NOTE
这里的 和 都是布尔代数中定义的运算。其中 是异或, 是与。同时也是 上的加法和乘法运算。
WARNING
要求证明逻辑蕴涵时,才能使用公理和定理;要求证明语义蕴涵时,才能使用演算规则或者真值表。无论哪种证明,都可以使用符号的定义。
NOTE
注意到公理都是重言式。
NOTE
这条式子就是 2-SAT 算法建图的依据。
语义的完备性
逻辑 由 和 和证明序列集组成。
逻辑系统可能具有这些性质:
- 协调性:
- 可靠性:
- 完备性:
如果有限步内总可以判断 是否为重言式,则称逻辑 是有效性 可判定的。
如果有限步内总可以判断 是否为定理,则称逻辑 是可证明性 可判定的。
有几个性质:
- 可靠性定理:在 上,
- 协调性定理: 不是 的定理
称 是协调的当且仅当 。
IMPORTANT
但是 并且 。
- 可满足性定理:设 是 的协调子集,则存在赋值 使得 。
- 完备性定理:若 中有 则 。
NOTE
完备性定理假设了 才能让 可证明。这与不完备性不矛盾,因为不完备性说的是一定有命题无法被证明,并没有讨论它是否是重言式。
- 是有效性可判定的。
- 是可证明性可判定的。