【面向计算机的数理逻辑/软件理论基础笔记】一阶谓词逻辑系统中一阶语言的符号、项、公式、变元

一阶语言 L \mathcal{L} L的符号

  • 变元符号(变量符号)

    • 格式: x 1 , x 2 , . . . x_{1},x_{2},... x1,x2,...
    • 含义:可以看作程序中的变量,或者表示每天的平均温度
  • 谓词符号

    • 格式:
      • A 1 1 , A 2 1 , . . . A_{1}^{1},A_{2}^{1},... A11,A21,...
      • A 1 2 , A 2 2 , . . . A_{1}^{2},A_{2}^{2},... A12,A22,...
      • A 1 n , A 2 n , . . . A_{1}^{n},A_{2}^{n},... A1n,A2n,...
    • 含义:谓词符号表示进行判断,结果为真或假,可以对一个变元进行判断,比如判断 x 1 x_1 x1的值是否为零,可以用 A 1 1 ( x 1 ) A_1^1(x_1) A11(x1)表示;也可以对多个变元判断,比如判断 x 1 + x 2 x_1+x_2 x1+x2是否大于 x 3 x_3 x3,可以用 A 2 1 ( x 1 , x 2 , x 3 ) A_2^1(x_1,x_2,x_3) A21(x1,x2,x3)表示。
    • 谓词符号集用 p p p表示
  • 函数符号

    • 格式:
      • f 1 1 , f 2 1 , . . . f_{1}^{1},f_{2}^{1},... f11,f21,...
      • f 1 2 , f 2 2 , . . . f_{1}^{2},f_{2}^{2},... f12,f22,...
      • f 1 n , f 2 n , . . . f_{1}^{n},f_{2}^{n},... f1n,f2n,...
    • 含义:函数符号表示对数值进行处理,比如对 x 1 x_1 x1加一,可以用 f 1 1 ( x 1 ) f_1^1(x_1) f11(x1)表示;
    • 函数符号集用 F \mathcal{F} F表示
  • 个体常元符号(常值符号)

    • 格式: a 1 , a 2 , . . . a_{1},a_{2},... a1,a2,...
    • 含义:个体常元符号可以视为没有任何变元的函数符号,可以看作程序中的常量,或者表示天空的颜色是蓝色等含有
    • 常元符号集用 C C C表示
    • 因为常元可以看作0元函数,所以常元也叫零元函数
  • 连接符 ¬ ∨ ∧ → \neg \vee \wedge \to ¬

  • 量词符 ∀ , ∃ \forall,\exists ,

    ( ∃ x i ) A (\exist x_i)A (xi)A等价于 ¬ ( ∀ x i ) ¬ A \neg(\forall x_i)\neg A ¬(xi)¬A

  • 辅助符 ) , ( ),( ),(

  • 例题一:

    • 假设有一阶自然数语言 L n \mathcal{L}_n Ln
      • 变元符: x 1 , x 2 , . . . x_{1},x_{2},... x1,x2,...表示自然数变元
      • 个体常元符号: a 1 a_{1} a1表示自然数0
      • 谓词符号:
        • A 1 1 A_{1}^{1} A11 表示非零判断
        • A 1 2 A_{1}^{2} A12 表示相等判断
        • A 1 1 A_{1}^{1} A11 表示小于等于判断
        • A 1 1 A_{1}^{1} A11 表示大于等于判断
      • 函数符:
        • f 1 1 f_{1}^{1} f11 表示后继函数,比如 x 1 x_{1} x1的后继函数是 x 1 + 1 x_{1}+1 x1+1
        • f 1 2 f_{1}^{2} f12 表示加法函数
        • f 2 2 f_{2}^{2} f22 表示乘法函数
    • 问题
      • 问题1: A 1 1 ( f 1 1 ( x 1 ) ) A_{1}^{1}(f_{1}^{1}(x_1)) A11(f11(x1))的含义是什么?
      • 问题2: ∀ x ∃ y ( A 1 2 ( f 1 1 ( x ) , y ) ) \forall x\exist y(A_{1}^{2}(f_{1}^{1}(x),y)) xy(A12(f11(x),y))的含义是什么?
    • 答案:
      • 问题1答案:自然数 x 1 x_1 x1的后继不为 0,即 x 1 + 1 ≠ 0 x_{1}+1\neq 0 x1+1=0
      • 问题2答案:任给自然数 x x x, 存在自然数 y y y, 使得 x + 1 = y x + 1 = y x+1=y

  • L \mathcal{L} L中的项(用符号 t t t表示)由变元、个体常元和函数符构成:

    • 每个变元、个体常元都是项;
    • f i n f_i^n fin L \mathcal{L} L n n n元函数符号, t 1 , t 2 , . . . , t n t_{1},t_{2},...,t_{n} t1,t2,...,tn是项,则 f i n ( t 1 , t 2 , . . . , t n ) f_i^n(t_{1},t_{2},...,t_{n}) fin(t1,t2,...,tn)是项;
    • L \mathcal{L} L中的项均是由上面两种方式组成,由Backus Naur可以写成:
      t : : = a ∣ x ∣ f i n ( t 1 , t 2 , . . . , t n ) t ::= a | x | f_i^n(t_{1},t_{2},...,t_{n}) t::=axfin(t1,t2,...,tn)
      其中 x x x取遍每一个变元的集合 v a r var var a a a取遍 F \mathcal{F} F中的零元函数符号, f f f取遍 F \mathcal{F} F中的元 n > 0 n>0 n>0的符号
    • : : = ::= ::=是“被定义为”的意思
    • 用符号 T L \mathcal{T}_{\mathcal{L}} TL表示一阶语言 L \mathcal{L} L的全体项之集
  • 闭项:不含变元的项。

    • 范例:一阶自然数语言 L N : f 1 1 ( a ) , f 1 2 ( f 1 1 ( a ) , a ) , f 2 2 ( f 1 1 ( x 1 ) , f 1 2 ( x 2 , x 3 ) ) \mathcal{L}_{\mathcal{N}}:f_1^1(a),f_1^2(f_1^1(a),a),f_2^2(f_1^1(x_1),f_1^2(x_2,x_3)) LNf11(a),f12(f11(a),a),f22(f11(x1),f12(x2,x3))都是项,而 f 1 1 ( a ) , f 1 2 ( f 1 1 ( a ) , a ) f_1^1(a),f_1^2(f_1^1(a),a) f11(a),f12(f11(a),a)不含变元,称为闭项。

项通常表示对象,可以作为句子的主语,也因为没有谓词,不能表示为命题

一阶语言 L \mathcal{L} L的公式

  • 定义:

    • P ∈ P P \in P PP n ⩾ 1 n \geqslant 1 n1元的谓词符号, t 1 , t 2 , . . . , t n t_{1},t_{2},...,t_{n} t1,t2,...,tn F \mathcal{F} F上的项,则 P ( t 1 , t 2 , . . . , t n ) P(t_{1},t_{2},...,t_{n}) P(t1,t2,...,tn)是公式;
    • ϕ \phi ϕ是公式,则 ( ¬ ϕ ) (\neg \phi) (¬ϕ)也是公式;
    • ϕ \phi ϕ ψ \psi ψ是公式,则 ϕ ∨ ψ , ϕ ∧ ψ , ϕ → ψ \phi \vee \psi,\phi \wedge \psi,\phi \to \psi ϕψ,ϕψ,ϕψ也是公式;
    • ϕ \phi ϕ是公式, x x x是变元,则 ( ∀ x   ϕ ) (\forall x \ \phi) (x ϕ) ( ∃ x   ψ ) (\exist x \ \psi) (x ψ)也是公式;
  • L \mathcal{L} L的公式分为两种:

    • 原子公式(又叫做没有子公式的公式):
      • 定义:设 A n A_n An n n n元谓词, t 1 , t 2 , . . . , t n t_{1},t_{2},...,t_{n} t1,t2,...,tn是项, A i n ( t 1 , t 2 , . . . , t n ) A_i^n(t_{1},t_{2},...,t_{n}) Ain(t1,t2,...,tn)称为原子公式。
      • 范例: L N : A 1 1 ( f 1 1 ( x 1 ) , a ) , A 2 2 ( f 1 1 ( x 1 ) , f 1 2 ( x 2 , x 3 ) ) \mathcal{L}_{\mathcal{N}}:A_1^1(f_1^1(x_1),a),A_2^2(f_1^1(x_1),f_1^2(x_2,x_3)) LNA11(f11(x1),a),A22(f11(x1),f12(x2,x3))
    • 合式公式(又称谓词公式):
      • 定义:(由BNF范式给出如下定义)
        A : : = 原 子 公 式 ∣ ¬ A ∣ A ∨ A ∣ A ∧ A ∣ A → A ∣ ( ∀ x i ) A ∣ ( ∃ x i ) A A ::= 原子公式 | \neg A | A \vee A | A \wedge A | A \to A | (\forall x_i)A | (\exist x_i)A A::=¬AAAAAAA(xi)A(xi)A
        因为 ( ∃ x i ) A (\exist x_i)A (xi)A可以简写为 ¬ ( ∀ x i ) ¬ A \neg (\forall x_i)\neg A ¬(xi)¬A,所以 L \mathcal{L} L公式可以简写为:
        A : : = 原 子 公 式 ∣ ¬ A ∣ A → A ∣ ( ∀ x i ) A A ::= 原子公式 | \neg A | A \to A | (\forall x_i)A A::=¬AAA(xi)A
      • 范例: ( ∀ x 1 ) ¬ A 1 2 ( f 1 1 ( x 1 ) , f 2 2 ( x 1 , x 2 ) ) , ( ∀ x 1 ) ( ¬ A 2 1 ( x 1 , a ) → ( ∃ x 2 ) A 2 1 ( x 1 , f 1 1 ( x 2 ) ) ) (\forall x_1)\neg A_1^2(f_1^1(x_1),f_2^2(x_1,x_2)), (\forall x_1)(\neg A_2^1(x_1, a) \to (\exist x_2)A_2^1(x_1, f_1^1 (x_2))) (x1)¬A12(f11(x1),f22(x1,x2)),(x1)(¬A21(x1,a)(x2)A21(x1,f11(x2)))
    • F ( L ) \mathcal{F}({\mathcal{L}}) F(L)表示全体公式集,包含所有可能的公式。以后讲到的很多定理中经常用到,某一个公式 A A A满足 A ∈ F ( L ) A \in \mathcal{F}({\mathcal{L}}) AF(L),表示 A A A可以是任何一个公式,再由此推出其他定理。
    • 任何原子公式都是合式公式。
  • 符号优先级约定:

    • ¬ , ∀ y , ∃ y \neg,\forall y,\exist y ¬,y,y优先级最高
    • 其次是 ∨ , ∧ \vee,\wedge ,
    • 然后是右结合 → \to
  • 范例:

    • 将下面的语言翻译成谓词逻辑公式:我父亲的每个儿子都是我的兄弟。
    • 当我们将"父亲"看作一个谓词符号时:
      • 选择常量 m m m表示为"我",选择谓词集 { S , F , B } \{S,F,B\} {S,F,B},其中, S ( x , y ) : x S(x,y):x S(x,y):x y y y的儿子, F ( x , y ) : x F(x,y):x F(x,y):x y y y的兄弟, B ( x , y ) : x B(x,y):x B(x,y):x y y y的父亲
      • 谓词逻辑公式为: ∀ x ∀ y ( F ( x , m ) ∨ S ( y , x ) → B ( y , m ) ) \forall x \forall y (F(x,m)\vee S(y,x)\to B(y,m)) xy(F(x,m)S(y,x)B(y,m))
      • 公式含义:对所有 x x x y y y,若 x x x m m m的父亲, y y y x x x的儿子,则 y y y m m m的兄弟
    • 当我们将"父亲"看作一个函数符号时:
      • m 、 S 、 B m、S、B mSB与上面保持一致,用 f f f表示一个变元的函数,返回值是该变元的父亲,此时,因为父亲存在且唯一,所以 f f f确实是要给函数,而不仅仅是一个关系
      • 谓词逻辑公式为: ∀ x ( S ( x , f ( m ) ) → B ( x , m ) ) \forall x (S(x,f(m)) \to B(x,m)) x(S(x,f(m))B(x,m))
      • 公式含义:对所有的 x x x,若 x x x m m m的父亲的儿子,则 x x x m m m的兄弟

约束变元与自由变元

  • 定义:公式中出现 ( ∀ x i ) A (\forall x_i)A (xi)A或者 ( ∃ x i ) A (\exist x_i)A (xi)A时, A A A叫做 ∀ x i \forall x_i xi或者 ∃ x i \exist x_i xi的辖域, 此时 A A A中的变元 x i x_i xi称为 A A A的约束变元,不是约束变元的变元称为自由变元。
  • 例题二:
    • 问题:
      • 问题1: L N : ( ∀ x 1 ) ¬ A 1 2 ( f 1 1 ( x 1 ) , f 2 2 ( x 1 , x 2 ) ) \mathcal{L}_{\mathcal{N}}:(\forall x_1)\neg A_1^2(f_1^1(x_1),f_2^2(x_1,x_2)) LN(x1)¬A12(f11(x1),f22(x1,x2)),则公式中,有哪些变元以及他们出现的次数?
      • 问题2: L N : A 1 2 ( x 1 , a ) ∧ ( ∃ x 1 ) A 1 1 ( f 1 1 ( x 1 ) , a ) \mathcal{L}_{\mathcal{N}}:A_1^2(x_1,a) \wedge (\exist x_1) A_1^1(f_1^1(x_1),a) LNA12(x1,a)(x1)A11(f11(x1),a)公式中, x 1 x_1 x1每一次出现时,是什么变元?
    • 答案
      • 问题1答案: x 1 x_1 x1是约束变元,约束出现3次; x 2 x_2 x2是自由变元,出现1次。
      • 问题2答案: x 1 x_1 x1出现3次,第1次是自由变元,后2次是约束变元。
  • 项的自由性
    • 定义:若 t t t A A A中的 x i x_i xi的每一个自由出现代入都不会使得 t t t中的变元失去自由性,则项 t t t称为对公式 A ( x i ) A(x_i) A(xi)的自由变元 x i x_i xi是自由的。
    • 例如:公式 ( ∀ x 1 ) ( ∀ x 2 ) ( A 2 1 ( x 1 , x 2 ) → A 1 1 ( x 2 ) ) (\forall x_1)(\forall x_2)(A_2^1(x_1, x_2) → A_1^1(x_2)) (x1)(x2)(A21(x1,x2)A11(x2))中无自由变元,对于任何项 t t t(比如 t = f 2 1 ( x 1 , x 2 ) , t ′ = f 2 3 ( x 1 ) t=f_2^1(x_1,x_2),t'=f_2^3(x_1) t=f21(x1,x2),t=f23(x1))关于此公式中的 x 1 , x 2 x_1, x_2 x1,x2都是自由的,这就叫做项的自由性。
    • 例题三:
      • 问题:
        • 公式 ( ∀ x 1 ) ( A 1 3 ( x 1 , x 2 , x 3 ) → A 2 3 ( x 1 , x 2 , x 3 ) ) (\forall x_1)(A_1^3(x_1, x_2, x_3) \to A_2^3(x_1, x_2, x_3)) (x1)(A13(x1,x2,x3)A23(x1,x2,x3))
          • (1) t 1 = f 1 2 ( x 1 , x 2 ) t_1= f_1^2(x_1,x_2) t1=f12(x1,x2),项 t 1 t_1 t1 x 2 x_2 x2是否是自由的?
          • (2) t 2 = f 1 2 ( x 1 , x 2 ) t_2 = f_1^2(x_1,x_2) t2=f12(x1,x2),项 t 2 t_2 t2 x 3 x_3 x3是否是自由的?
          • (3) t 3 = f 2 2 ( x 1 ) t_3 = f_2^2(x_1) t3=f22(x1),项 t 3 t_3 t3 x 1 x_1 x1是否是自由的?
          • (4) t 4 = f 2 1 ( x 2 ) t_4 = f_2^1(x_2) t4=f21(x2),项 t 4 t_4 t4 x 2 x_2 x2是否是自由的?
          • (5) t 5 = f 1 1 ( x 1 ) t_5 = f_1^1(x_1) t5=f11(x1),项 t 5 t_5 t5 x 2 x_2 x2是否是自由的?
      • 答案:
        • 公式内具有自由变元 x 2 , x 3 x_2,x_3 x2,x3,约束变元 x 3 x_3 x3
          • (1)若用项 t 1 t_1 t1代入 x 2 x_2 x2会得到如下的公式, ( ∀ x 1 ) ( A 1 3 ( x 1 , f 1 2 ( x 1 , x 2 ) , x 3 ) → A 2 3 ( x 1 , f 1 2 ( x 1 , x 2 ) , x 3 ) ) (\forall x_1)(A_1^3(x_1,f_1^2(x_1,x_2), x_3) \to A_2^3(x_1, f_1^2(x_1,x_2), x_3)) (x1)(A13(x1,f12(x1,x2),x3)A23(x1,f12(x1,x2),x3)),导致公式原 x 2 x_2 x2的位置产生了新的约束 x 1 x_1 x1,因此项 t 1 t_1 t1 x 2 x_2 x2是不自由的。
          • (2)若用项 t 2 t_2 t2代入 x 3 x_3 x3会得到如下的公式, ( ∀ x 1 ) ( x 1 , x 2 , f 1 2 ( x 1 , x 2 ) ) → A 2 3 ( x 1 , x 2 , f 1 2 ( x 1 , x 2 ) ) ) (\forall x_1)(x_1,x_2, f_1^2(x_1,x_2)) \to A_2^3(x_1,x_2, f_1^2(x_1,x_2))) (x1)(x1,x2,f12(x1,x2))A23(x1,x2,f12(x1,x2))),导致公式原 x 3 x_3 x3的位置产生了新的约束 x 1 x_1 x1,因此项 t 2 t_2 t2 x 3 x_3 x3是不自由的。
          • (3)若用项 t 3 t_3 t3代入 x 1 x_1 x1会得到如下的公式, ( ∀ x 1 ) ( A 1 3 ( f 1 2 ( x 1 ) , x 2 , x 3 ) → A 2 3 ( f 1 2 ( x 1 ) , x 2 , x 3 ) ) (\forall x_1)(A_1^3(f_1^2(x_1), x_2, x_3) \to A_2^3(f_1^2(x_1), x_2, x_3)) (x1)(A13(f12(x1),x2,x3)A23(f12(x1),x2,x3)),在公式原 x 1 x_1 x1的位置上并没有产生新的约束,所以 t 3 t_3 t3 x 1 x_1 x1是自由的。
          • (4)若用项 t 4 t_4 t4代入 x 2 x_2 x2会得到如下的公式, ( ∀ x 1 ) ( A 1 3 ( x 1 , f 2 1 ( x 2 ) , x 3 ) → A 2 3 ( x 1 , f 2 1 ( x 2 ) , x 3 ) ) (\forall x_1)(A_1^3(x_1, f_2^1(x_2), x_3) \to A_2^3(x_1, f_2^1(x_2), x_3)) (x1)(A13(x1,f21(x2),x3)A23(x1,f21(x2),x3)),在公式原 x 2 x_2 x2的位置上并没有产生新的约束,所以 t 4 t_4 t4 x 2 x_2 x2是自由的。
          • (5)若用项 t 5 t_5 t5代入 x 2 x_2 x2会得到如下的公式, ( ∀ x 1 ) ( A 1 3 ( x 1 , f 1 1 ( x 1 ) , x 3 ) → A 2 3 ( x 1 , f 1 1 ( x 1 ) , x 3 ) ) (\forall x_1)(A_1^3(x_1, f_1^1(x_1), x_3) \to A_2^3(x_1,f_1^1(x_1), x_3)) (x1)(A13(x1,f11(x1),x3)A23(x1,f11(x1),x3)),导致公式原 x 2 x_2 x2的位置产生了新的约束 x 1 x_1 x1,因此项 t 5 t_5 t5 x 1 x_1 x1是不自由的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

print_Hyon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值