1. 分句形式:
在这种形式中,公式由多个子句组成,其中每个子句由多个仅由 OR 逻辑连接词连接的字面量组成。
一个从句形式公式必须转化为另一个具有以下特征的公式:
- 公式中的所有变量都是通用量化的。因此,没有必要为所有人明确包含全称量词。量词被移除,公式中的所有变量都被全称量词隐式量化。
- 由于公式由多个子句组成,每个子句由多个仅由 OR 逻辑连接词连接的字面量组成。因此,每个子句都是字面量。
- 为了形成一个公式,子句本身仅由 AND 逻辑连接词连接。因此,公式的从句形式是从句的连接。
2. 喇叭从句形式:
Horn 子句是一个子句(字面量的分离),最多有一个正数,即未否定的字面量。最多包含一个肯定(非否定)字面量的子句称为 Horn 子句。
喇叭条款的类型:
- 定语从句/严格喇叭从句:正好有一个正字面量。
- 单元子句:没有否定字面量的定语从句。
- 目标条款:没有正面字面量的Horn 条款。
例子 :
子句形式:
字面量可以是正字面量或负字面量。对于单个子句的形式,其中每个都是字面量的析取。对于子句形式:
NOT(P1) OR NOT(P2) OR ..... OR NOT(Pn) OR Q1 OR Q2 OR ..... OR Qm
上面的子句有 n 个负字面量和 m 个正字面量。该子句可以转换为以下等效的逻辑公式:
P1 AND P2 AND ..... AND Pn => Q1 OR Q2 OR ..... OR Qm
其中 ‘=>’ 是隐含符号。
喇叭从句形式:
(i)喇叭条款,
NOT(P1) OR NOT(P2) OR ... OR NOT(Pn) OR Q
可以转化为子句:
P1 AND P2 AND … AND Pn => Q
在 Datalog 中写入的规则如下。
Q :- P1, P2, ..., Pn.
因此,上述数据记录规则是一个 Horn 子句。
含义:如果谓词 P1 AND P2 AND … AND Pn,对于与其变量参数的特定绑定都为真,则 Q 也为真,因此可以推断。
(ii)喇叭条款,
NOT(P1) OR NOT(P2) OR ... OR NOT (Pn)
可以转化为
P1 AND P2 AND … AND Pn =>
在 Datalog 中写入如下:
P1, P2, ..., Pn.
上面的 Datalog 表达式可以视为完整性约束,其中所有谓词都必须为真才能满足查询。