命题逻辑中最小的研究单位是原子命题,并没有进一步的内部结构。命题是对确定的对象作出判断的陈述句,那么对不确定的对象以及进行不同条件下的判断如何?这就需要我们研究命题的内部结构。
命题逻辑中的推理,关注真值的推演,命题逻辑中,命题是相互独立的,没有内在联系,在经典的三段论推理中,命题逻辑有些力不从心。比如:
三段论例子:
大前提: p p p :所有的学校都有学生
小前提: q q q :北京大学是学校
结论: r r r :北京大学有学生
命题逻辑的形式化结果: ( p ⋀ q ) → r (p \bigwedge q) \rightarrow r (p⋀q)→r
一个正确推理在命题逻辑中并不是永真式(因为会受到原子命题的真值的影响)。而且三个命题包含了某些有关联的概念,并非相互独立,命题逻辑无法反映出来。
命题是对确定的对象作出判断的陈述句,其中:
谓词逻辑将量词作用于个体,引入个体变元,讨论不确定的对象。谓词逻辑也称作一阶逻辑(First Order Logic),如果将量词作用于谓词,引入谓词变元,属于二阶逻辑研究范围。
谓词逻辑中将一切被讨论的对象都称作个体。
表示个体性质或者关系的语言成分,通常是谓语,称作谓词。例如:
“北京大学是学校”中的“…是学校”
“张三和李四的朋友”中的“…和…是朋友”
谓词中可以放置个体的空位个数称为谓词的元数。
将谓词中的个体空位用变元字母代替,称为谓词命名式。
常用大写字母 P , Q , R P,Q,R P,Q,R 等代表谓词,谓词命名形如 P ( x ) , Q ( x , y ) P(x),Q(x,y) P(x),Q(x,y) 。
命名式中的变元字母并没有独立的含义,仅仅是占位符(place holder)。
举几个谓词命名式的例子:
“…是学校”记作SCHL(x)
‘’…和…是朋友‘记作FRD(x,y)
将谓词中的个体空位用个体变元或常元代替,称为谓词填式。
谓词填式在形式上和命名式相同,但是属于不同的概念(可以类比编程语言函数中的形参和实参)。
举几个谓词填式的例子:
当谓词填式中的个体都是常元时,它是一个命题,具有确定的真值。
指数量词:
量词作用于谓词时需要引入一个指导变元,同时放在量词后面和谓词填式中,例如: ∀ x P ( x ) \forall x P(x) ∀xP(x) 。指导变元是不可取值代入的,称作约束变元,约束变元可以改名而不改变语句含义。可以取值代入的个体变元称作自由变元。
量词所作用的谓词或者复合谓词表达式,称作量词的辖域(domain of quantifiers)。对于一元谓词, ∀ x P ( x ) \forall x P(x) ∀xP(x) , ∃ x P ( x ) \exists x P(x) ∃xP(x) 都是命题,对于有穷的个体域:
举几个量词的例子:
谓词公式的定义如下:
谓词填式是公式,命题常元(可视为零元谓词)是公式,称作原子公式。
如果 A , B A,B A,B 是公式, x x x 为任一变元,那么 ( ¬ A ) , ( A → B ) , ( ∀ x A ) , ( ∃ x A ) (¬A),(A \rightarrow B),(\forall x A), (\exists x A) (¬A),(A→B),(∀xA),(∃xA) 都是公式。
只有有限次使用上述两个条件构成的符号串才是公式。
联结词结合优先级和括号省略约定同前。
注意 ( ∀ x A ) , ( ∃ x A ) (\forall x A), (\exists x A) (∀xA),(∃xA) 中的公式可以不包含变元 x x x , 此时 ( ∀ x A ) , ( ∃ x A ) (\forall x A), (\exists x A) (∀xA),(∃xA) 均等价于 A A A 。
如果给定个体域,公式中的所有谓词都有明确意义,公式中的所有自由变元取定个体,谓词公式就成为一个命题。举一个例子:
举几个语句形式化的例子:
谓词公式一共有4个层次的“永真”:
可以用下图方便理解:
可满足式:如果对于某个个体域,谓词的某个解释,和自由变元的某个取值,公式A在此处取值为真,则称公式A是可满足式。
永假式:公式A不可满足时也称A是永假式。
逻辑等价: A ⊨ ∣ B A \models\hspace{-5pt}|~ B A⊨∣ B 当且仅当对于一切域、解释和变元取值情况,A和B都具有相同的真值。
逻辑蕴涵: A ⊨ B A \models B A⊨B 当且仅当对一切域、解释,一切使A成真的变元取值情况均使B成真。
合式公式(well-formed formula),简称公式,需满足:
设 v 1 , . . . , v n v_1,...,v_n v1,...,vn 是公式A中的自由变元,那么公式 ∀ v 1 . . . ∀ n A ( v 1 , . . . , v n ) \forall v_1...\forall n A(v_1,...,v_n) ∀v1...∀nA(v1,...,vn) 称为公式A的全称封闭式。
A中不含自由变元时,A的全称封闭式为其自身。
FC的推理规则(A,B表示任意公式): A , A → B / B A,A \rightarrow B / B A,A→B/B(分离规则)
FC的重要性质(类比PC):
全称引入规则:对于任意公式 A ,变元 v v v ,如果 ⊢ A \vdash A ⊢A ,那么 ⊢ ∀ v A \vdash \forall v A ⊢∀vA 。
利用数学归纳法证明如下:
推广到演绎结果:对于任何公式集 Γ \Gamma Γ ,公式 A 以及不在 Γ \Gamma Γ 中任何公式自由出现的变元 v v v ,如果 Γ ⊢ A \Gamma \vdash A Γ⊢A ,那么 Γ ⊢ ∀ v A \Gamma \vdash \forall v A Γ⊢∀vA 。
关于全称引入规则的直觉表述:
存在消除规则:设 A,B 为任意公式,变元 x x x 是公式 A ,但不是公式 B 的自由变元,那么当 ⊢ ∃ x A ( x ) , A ( x ) ⊢ B \vdash \exists x A(x),A(x) \vdash B ⊢∃xA(x),A(x)⊢B 同时成立时,有 ⊢ B \vdash B ⊢B 。
存在消除规则同样具有演绎的推广形式。
意义:如果 A ( x ) A(x) A(x) 能推出 B 成立,而 B 中并不包含变元 x x x ,说明 B 的成立与 x x x 的具体取值无关,只需要有 x x x 能使 A ( x ) A(x) A(x) 为真,B 即为真。
数学证明中经常使用的“不妨设…”句式,即为使用了存在消除规则。
FC和PC的证明和演绎过程都过于繁复,为了追求简洁,只用了2个联结词、1个量词和一条推理规则。
如果能够引入更多的联结词、量词、推理规则,那么证明和演绎过程会显得更加自然。
在形式系统中引入带假设的推理规则,能够使推理过程更加接近人的思维,更加高效和便捷。
引入全部5个联结词、2个量词,少数的公理,更多的推理规则,引入假设,用推理规则体现人的推理习惯。
ND的公理只有一条: Γ ; A ⊢ A \Gamma;A \vdash A Γ;A⊢A ( Γ \Gamma Γ 是公式集合)
在 ND 中,称 A A A 为 Γ \Gamma Γ 的演绎结果,即 Γ ⊢ N D A \Gamma \vdash _{ND} A Γ⊢NDA 简记为 Γ ⊢ A \Gamma \vdash A Γ⊢A ,如果存在如下序列:
Γ 1 ⊢ A 1 , Γ 2 ⊢ A 2 , . . . , Γ n ⊢ A n ( Γ n = Γ , A n = A ) \Gamma_1 \vdash A_1,\Gamma_2 \vdash A_2,...,\Gamma_n \vdash A_n(\Gamma_n = \Gamma,A_n = A) Γ1⊢A1,Γ2⊢A2,...,Γn⊢An(Γn=Γ,An=A) ,使得 Γ i ⊢ A i ( 1 ≤ i ≤ n ) \Gamma_i \vdash A_i(1 \leq i \leq n) Γi⊢Ai(1≤i≤n) :
如果有 Γ ⊢ A \Gamma \vdash A Γ⊢A ,且 Γ = ∅ \Gamma = \emptyset Γ=∅ ,则称 A A A 为 ND 的定理。
ND的重要性质: