谓词逻辑(变量、术语和原子公式)
什么是谓词逻辑?
命题逻辑将命题变量作为原子命题
可以编码/分析一些重要的系统属性(足以表达 NP 完全问题)
但对于许多建模/分析任务来说,它的表现力还不够, 更不用说形式化数学了, 甚至苏格拉底的三段论也不能形式化!
无法捕获命题的内部结构,例如
所有的孩子都喜欢冰淇淋。
有的学生理解其中的含义。
没有电子带正电荷。
无法表示诸如“对于所有人”/“存在”之类的量化
推理实体的属性及其关系是不可能的
例如
如果 x ≤ 7 且 9 ≤ y,则 x ≤ y。
如果 y = 2 · x + 6,则 x =1/2· y - 3。
更精细的逻辑需要
1 种更具表现力的语言/语法,2 条新的推理规则,用于使用这种语言进行推理除了命题的真值之外,还有 3 个更细粒度的语义
语法应该捕获
条款,例如 2 · x + 6
关系/谓词,例如 x ≤ 7
句子中的量化,例如 “所有 x 都是 φ”或“有些 x 是 φ”
语义应该
提供匹配语法表达式的对象、函数和关系
允许评估条款,例如 2 · 4 + 6 或 9 ≤ 7 在域中,例如 ñ
谓词逻辑满足这些要求
命题逻辑回顾
命题逻辑是关于布尔语句的建模:
φ ::= > | ⊥ | p | ¬φ | (φ ∧ φ) | (φ ∨ φ),
其中 p 是一个原子命题。
“1 + 1 = 2”(视为陈述)
(p → q) → (¬q → ¬p)
下雨∨它闪耀
谓词逻辑(即一阶逻辑)
谓词逻辑可以描述复杂系统的属性。
φ ::= > | ⊥ | t1 = t2 | R(t1, . . . ,tn) | ¬φ | φ ∧ φ | φ ∨ φ | ∃xφ | ∀xφ,
其中 ti 是术语(表示单个对象),R 是
对象。
可以建模和推断对象之间的属性和关系。
公式描述数据结构的属性。
公式对应于数据库查询。
符号
我们再次从自然演绎的基本观点开始
我们用句子作为命题的同义词
公式可能是不完整的句子,例如 “x 是偶数。”
公式的真假可能取决于量词的绑定变量
或替换表达式,例如 对他们来说是“苏格拉底”或“5”
我们称可以在公式术语中替换变量的表达式
变量、术语和原子公式
变量 x 是单个对象的占位符(例如,7,苏格拉底)(参见命题变量 p 是 0 和 1 的占位符)
术语是单个对象的(复杂)指针,例如,x,x + y,(x) 的母亲
原子公式描述术语之间的关系
复数公式是通过使用连接词∧、∨、¬和量词∃,∀。
解释将为变量、术语构造函数和关系赋予含义(cf. 在命题逻辑中,赋值解释命题变量)
符号
我们写φ(x) 用于在变量 x 中参数化的公式 φ
r,s,t。 . . 对于条款
ϕ[t/x] 用 t 代替 ϕ 中的 x 的结果
φ(t) 表示 t 出现在 φ
例子:
将公式 x ≤ 7 中的变量 x 代入第 5 项产生句子 5 ≤ 7
(x ≤ 7)[5/x] 表示此替换中的变量/项关系
我们稍后会学习形式语法
我们需要对谓词逻辑公式进行新的判断
参数判断:J 表示任意 x,是取决于变量 x 的判断
证据是对 x 的参数 J 的推导
因此,对于我们可以替代 x 的任何项,它都是一致的对于所有可能的情况
是 ϕ(x) 的证明模板,可以实例化为任何 ϕ(x)[t/x] 的证明术语 t
多个参数必须在参数推导中保持不同
我们写 a, b, c, . . . 区分参数和普通变量
普遍陈述的证明
最常见的数学语句:
每个A都是B
两个奇数之和是偶数。
任何有限语言的补语都是正则语言。
如何证明这种陈述?
通用量化
如果 φ 是公式和 x 变量,则 ∀x。 φ 是公式
我们经常写∀x。 ϕ(x) 表示 ϕ 取决于 x
我们读到∀x。 φ 为“每个 x 都满足 φ”或“每个 x 都是一个 φ”
我们可以写成∀x。
谓词逻辑字母表
谓词逻辑的字母表由
1 个(可数无限)逻辑变量 x、y、z、x1、x2 的集合 V。 . .
2 集 F = {f1, f2, . . . } 的固定数量的函数符号
3 组 P = {P1, P2, . . . } 的固定数量的谓词/关系符号
4 谓词符号 =
5 个连接词 ⊥、>、¬、∧、∨、→、∀、∃
6个辅助符号(、)等
签名是功能符号和关系符号的集合。
谓词逻辑字母表
例子:
1 算术签名:ΣA = {+, ·, 0, 1}
2 布尔代数的签名:ΣBA = {u, t, -, 0, 1}
3 图的签名:ΣG = {E}
前两个签名是代数的,第三个是关系的