在一阶逻辑的框架下研究知识的表示和推理:
- 谓词和量词的概念
- 一阶语言与对一阶语言的解释
- 一阶语义蕴涵,形式推演,算法和计算复杂性等。
谓语和量词
- 论域 : 所有被讨论对象的集合。
- 个体:域中的元素,即被讨论的对象。
- 常元:用于表示确定对象的符号。
- 变元:用于表示给定论域上的任意一个对象的符号。
- 函词:给定一个论域,从一组个体到一个个体的映射关系。
- 项:
- 个体常元和个体变元是
项
。
- 如果t1,t2,⋯,tn是
项
,f 是 n 元函词
, 那么 f(t1,⋯,tn) 也是项
。
- 有限次使用(1)(2)生成的是
项
。
- 谓词:描述个体之间的关系。谓词包含着可放置讨论对象的位置,即 空位。
空位
的数量称为谓词的元数。用一元谓词表示的关系称为个体的性质。
- 量词:
- 全称量词:描述某个变元的取值范围涵盖一整个论域,记作 ∀x,读作“ 对于所有的 x”;
- 存在量词:描述在给定论域中存在某个个体,记作 ∃x,读作“ 存在 x”。
一阶语言 L
一阶语言符号
组成
-
个体常元,正体小写拉丁文字母。
a,b,c
-
个体变元,正体小写拉丁文字母。
x,y,z
- 个体自由变元: 变元不受到量词的约束。
- 个体约束变元: 变元受到量词的约束。
-
函数符号:与自然语言语句中的函词
对应,正体小写拉丁文字母。
f,g,h
-
关系符号:与自然语言语句中的谓词
对应,正体大写拉丁文字母
F,G,H
函数符号的元数
任何关系符号F 有确定的元数n≥1,称元数
为n的F 为n元关系符号。特别地,当n=0,我们认为0元关系符号是一种命题。
-
量词符号:∀,∃
-
联结符号:与命题逻辑的相同。
-
标点符号: 左括号(、右括号)和逗号, 。
项,Term(符号)
- 变元和常元是项。
- 如果t1,t2,⋯,tn是项,f 是m元函数,则 f(t1,t2,⋯,tn) 是项。
- 只有有限次使用 (1)(2) 条款生成的符号串才是项。
BNF 形式:
t::=x∣a∣f(t,t,⋯,t)
基项:不含自由变元的项。表示的是论域
中确定的个体
。
公式
- F(t1,⋯,tn)是公式,称为原子公式。其中F是n元关系符号,t1,⋯,tn是
项
。
- 如果 t1 和 t2 是项,那么 (t1≡t2) 是
原子公式
。
- 如果 ϕ 和 ψ 是公式,且 x 是出现于 ϕ 中的
自由变元
(可被记为ϕ(x)),则 (¬ϕ),(ϕ∧ψ),(ϕ∨ψ),(ϕ→ψ),(ϕ↔ψ),(∀xϕ),(∃xϕ) 是公式。
- 只有有限次使用 (1)(2)(3) 条款生成的符号串才是公式。
- 子公式:在一个公式中,可以包含公式,则称后者为前者的
子公式
。
变元
x 在公式 ϕ 中约束出现:如果 ϕ 包含一个子公式 ψ,x 出现于 ψ 中,且 ψ 是以∀x 或 ∃x 为起始的字符串;
变元
x 在公式 ϕ 中自由出现:如果x不是约束出现
。
- 句子:任何变元都不是
自由出现
的公式
。
谓词的顺序对语义的影响
关系符号 F(x):x是安全事故,G(x,y):x有原因y。
任何安全事故都有原因。
∀F(x)→∃y,G(x,y)
任何安全事故都有共同的原因。
∃y,∀x,F(x)→G(x,y)
代换
可代换: 称项
t 对ϕ 中自由变元x是可代换
的,若ϕ中 x的任何自由出现都不在∀y,∃y的辖域内。(即x是自由的,而不被约束)
代换 θ 是一个有限的对子集合 {x1/t1,⋯,xn/tn},其中 xi 是变元,ti 是项,ti对xi是可代换的。
给定公式ϕ,代换θ ,则 ϕθ 是一个公式,在该公式中所有xi 的自由出现
都被替换为ti。 也把 ϕ{x/t} 写作 ϕtx。
一阶语言语义
解释
关系符号
、函数符号
、 变元符号
、个体符号
的含义与论域
有关。
给定论域
D,解释是一个映射:
- 把
个体符号
映射为D中的对象
- 把 n 元
函数符号
映射为从Dn 到D 的函数
- 把 n 元
关系符号
映射为D 上的 n 元关系。
另一方面,对于每个自由变元
,可以把论域中的对象指派给它,指派
也是一个映射。解释
和指派
统称作赋值,记作 v。
即有:
- 对于
个体常元
a, 把它解释为的D中的个体
,记作v(a)∈D。
- 对于 n 元
函数符号
f, 把它解释为从Dn 到D 的函数
,记作 v(f):Dn↦D。
- 对于 n 元
谓词符号
F, 把它解释为D 上的 n 元关系
,记作 v(F)⊆Dn。
- 对于
自由变元
x,给它指派D 中的个体
,记作 v(x)∈D。
通常把 v(a),v(f),v(F),v(x) 分别记作 av,fv,Fv,xv。
项的值
一阶逻辑语言的项在以D为论域的赋值 v 之下的值递归地定义如下:
- av,xv∈D.
- f(t1,⋯,tn)v=fv(t1v,⋯,tnv)∈D
公式的真假
类似公式的定义,一阶公式的真假值可递归地定义如下:
-
F(t1,⋯,tn)v={1, (t1v,⋯,tnv)∈Fv0, otherwise
-
(t1≡t2)v={1, t1v=t2v=a∈Fv0, otherwise
-
(¬ϕ)v={1, ϕv=00, otherwise
-
(ψ∧ϕ)v={1, ϕv=ψv=10, otherwise
-
(ψ∨ϕ)v={0, ϕv=ψv=01, otherwise
-
(ϕ→ψ)v={1, ϕv=0 or ψv=10, otherwise
-
(ϕ↔ψ)v={1, ϕv=ψv0, otherwise
-
(∀xϕ)v={1, ∀a∈D,ϕv(x/a)=10, otherwise
-
(∃xϕ)v={1, ∃a∈D,ϕv(x/a)=10, otherwise
其中,v(x/a) 表示一个以 D 为论域的赋值
,除了 xv(x/a)=a∈D 之外,和 v 完全相同(即把x固定地指派为a)。
请注意 符号 和 个体 之间的区别。注意ϕ可为任意复杂的公式。
e.g
设D={s1,s2,s3,b1,b2,b3},赋值v:
- Fv={s1,s2,s3}
- Gv={b1,b2,b3}
- Hv={(s1,b1),(s1,b2),(s2,b1),(s3,b3)}
则对∀x∃y(F(x)→G(y)∧H(x,y))v的解释为:
⊨∣∀a∈D,∃b∈D,(F(x)→G(y)∧H(x,y))v(x/a,y/b)∀a∈D,∃b∈D,(Fv(a)→Gv(b)∧Hv(a,b))=1
逻辑推论
逻辑推论
给定一组一阶公式集合Φ,公式ϕ。则逻辑推论Φ⊨ϕ成立,当且仅当对于非空论域D 下的 任意 赋值 v,如果Φv=1 则 ϕv=1。
则逻辑推论Φ⊨ϕ不成立,也记作Φ⊨ϕ,当且仅当对于非空论域D 下的 存在 赋值 v,如果Φv=1 且 ϕv=0。
可满足性和有效性
设 ψ是一个一阶公式。
- ψ是有效的,即 ⊨ψ,当且仅当 对于任何 论域D下任何赋值v,ψv=1。
- ψ是可满足的,当且仅当 存在某个论域D 下的某个赋值 v 使得 ψv=1。
语义等价
给定命题公式ϕ,ψ,ϕ,ψ语义等价 当且仅当
ϕ⊨ψ∧ψ⊨ϕ
记作ϕ∣=∣ψ 。
一阶逻辑中常见的语义等价关系:
- ¬∀xϕ⊨∣∃x¬ϕ
- ¬∃xϕ⊨∣∀x¬ϕ
一下均假设 x 不在 ϕ 中出现:
- ∀yϕ⊨∣∀xϕxy
- ∃yϕ⊨∣∃xϕxy
- ϕ∧∀xψ⊨∣∀x(ϕ∧ψ)
- ϕ∧∃xψ⊨∣∃x(ϕ∧ψ)
- ϕ∨∀xψ⊨∣∀x(ϕ∨ψ)
- ϕ∨∃xψ⊨∣∃x(ϕ∨ψ)
前束范式
称一阶逻辑公式 ϕ 为前束范式,当且仅当它有如下的形式:
Q1x1⋯Qnxn ϕ′
其中,
- Q1⋯Qn是量词∀或 ∃;
- x1,⋯xn是变元;
- ϕ′ 是不含量词的公式。
称Q1x1⋯Qnxn为前束词,ϕ′为母式。前束范式
的母式
可以进一步变换为合取范式
或析取范式
。
消解原理
一阶消解推演规则
当对包含自由变元的子句进行消解时,如果这些子句
都是全称量化的,则可以去掉量词。
不含存在量词的前束范式
子句
形式与命题逻辑的相同,但原子公式
是 F(t1,⋯,tn);对子句
的理解与之前一样,但变元
被理解成全称量化。
给定两个子句
c1∪{L1} 和 c2∪{L2},如果它们没有公共变元,且存在一个代换
θ,使得 L1θ=L2θ,那么可以推出子句
(c1∪c2)θ。这时我们说 θ 是 L1 和 L2 的合一。
- Φ⊢res⊥ 当且仅当 Φ⊨res⊥ .
含存在量词的前束范式
:斯科伦化
对于包含存在量词的公式
,可把该存在量词
所管辖的变元
变成确定的个体,表示该确定个体的项被称为斯科伦常元;表示受限制的该确定个体的函词被称为斯科伦函词。
斯科伦化,即把 ∀x1∀x2⋯∀xn∃yϕ 变换为∀x1∀x2⋯∀xnϕf(x1,x2,⋯,xn)y。
如果ϕ是原有公式,ϕ′ 是包含斯科伦化的子句,那么ϕ在逻辑上不等值于ϕ′。例如,∃xF(x) 在逻辑上不等值于 F(a)。不过,ϕ 是可满足的,当且仅当 ϕ′ 是可满足的。这也是消解所真正需要的。
LEMMA 1
- ∃xϕ 是
可满足的
,当且仅当 ϕax是可满足的
;
- ∀x1∀x2⋯∀xn∃yϕ是
可满足的
,当且仅当∀x1∀x2⋯∀xnϕf(x1,x2,⋯,xn)y 是可满足的
。
其中,a 是 ϕ中未出现过的新常元,f 是 ϕ中未出现的新 n 元函词,即前述斯科伦常元
和斯科伦函词
。
PROOF
给定论域D。
- ∃xϕ 是
可满足的
,当且仅当存在某个赋值v,∃b∈D,ϕv(x/b)=1。将斯科伦常元
a 指派为 av=b,则(ϕax)v=1。
-
- 考虑n=1的情况。设v是D上的一个赋值使得(∀x∃yϕ)v=1,即∀a∈D,(∃yϕ)v(x/a)=1,即∀a∈D,∃b∈D,ϕv(x/a,y/b)=1。 现作D上函数f,使得对于每一个a∈D,指定f(a)为满足 ϕv(x/a,y/b)=1的b中的一个。
考虑赋值v′,使得在除f以外的其他符号以外均与v相同,fv′=f。则对于赋值v′,∀a∈D,ϕv′(x/a,y/f(a))=1,即说∀xϕf(x)y 可满足
。
反之,若∀xϕf(x)y 可满足
,即∃v:∀a∈D,(ϕf(x)y)v(a/x)=1,即ϕv(a/x,y/f(a))=1,其中f=fv 是D上的函数。换言之,对于每一个a∈D,∃b=f(a)∈D,ϕv(x/a,y/b)=1,即(∃yϕ)v(x/a)=1,也就是说∀x∃yϕ是可满足的
。
- 假设 n=2,3,⋯,k时命题均成立。则n=k+1时,∀x1∀x2⋯∀xk+1∃yϕ
可满足
,即∃v:∀a∈D,(∀x2⋯∀xk+1∃yϕ)v(a/x1)=1。由假设可知,
赫布兰德定理
用消解原理不一定都有易解的算法。在一阶逻辑的情况下,可能存在无限循环的情况。
赫布兰德域
给定子句集合S,S的赫布兰德域(H-域)是所有基项
的集合。集合H称为子句集S的H−域,如果
H=∪i=0∞Hi
其中,Hi 递归确定如下:
- H0={{a},there doesn′t exist constant.{c∣c exists in S},otherwise
- Hi+1=Hi∪{f(t1,t2,⋯,tn)∣t1,⋯,tn∈Hi,f exists in S}
赫布兰德基底
子句集 S 的赫布兰德基底 (H-基底),如果该集合为所有形如 cθ 的基原子公式
的集合,其中 c∈S,θ 给 c 中的变元
指派 H-域
中的元素。
赫布兰德定理
S 是可满足的当且仅当S的 H-基底
是可满足
的。
H-基底
没有变元,故尽管 H-基底
通常是无穷的,但其本质上是命题公式集合。
- 当S中没有函数符号而只有有穷的常元时,它的
H-域
是有穷的,此时其H-基地
也是有穷的。
- 用
H-基底
进行推理时,不必使用合一
,因为并不存在变元。因此,总是存在可靠的
和完备的
推理过程。