数理逻辑学习笔记[3] #20210710


一阶逻辑:模型论

谓词和量词

  1. Q: 为什么说命题逻辑 L L L的表达能力不够?
    A: 比如难以表达“至少有一个A中元素满足某某”。
    注:命题逻辑较容易表达“所有A中元素都满足某某”。
  2. Q: 含有自由变元的陈述和命题逻辑中的命题形式有何共同点?
    A: 由于变元(自由变元或者命题逻辑中命题变元)的取值未知,我们一般情况来说不能对含有自由变元的陈述命题形式直接判断真值。
  3. Q: 如何理解“真值表无法推广到一阶逻辑”?
    A: 量词引入了变元,例如 ∀ x ( A ( x ) → B ( x ) ) \forall x(A(x)\to B(x)) x(A(x)B(x))表示对每个对象 x x x,若 x x x具有属性 A A A则具有属性 B B B. 如果 x x x可能取的有无限多种情况,就无法列表。
  4. Q: 主词和自然语言意义上的主语一定是一个意思吗?
    A: 很多时候都是。比如 x x x是数学家表示成 A ( x ) A(x) A(x),主语就是主词,谓语(即系+表)就是谓词。
    但是有些时候两者不一定一致。比如对“ a a a b b b”,可以抽象出一个二元谓词 A A A,从而表示成 A ( a , b ) A(a,b) A(a,b).
  5. Q: 尝试阐释为什么在实际应用中,全称量词之后常跟一个隐含词,存在量词之后常跟一个合取词,而不是反过来。
    A: 对于全称量词后跟隐含词,其有用于推理的实际意义。而存在量词后跟隐含词 ∃ x ( A ( x ) → B ( x ) ) \exists x(A(x)\to B(x)) x(A(x)B(x))实际意义不显著:具体地,只要 ∃ x ( ∼ A ( x ) ∨ B ( x ) ) \exists x(\sim A(x)\vee B(x)) x(A(x)B(x)),那命题就为真。
    全称量词跟合取词,表示所有 x x x都同时满足两条性质,这过于平凡,不能提供什么有关两个谓词之间关系的信息。而存在量词跟合取词则往往富有实际意义,例如作为“反例”否定 ∀ x ( A ( x ) → ∼ B ( x ) ) \forall x(A(x)\to\sim B(x)) x(A(x)B(x)).
  6. Q: 简单说明如何形式化常见的两类自然语言句子:“所有满足A的都满足B”“一些满足A的满足B”。如果限定只能使用全称量词怎么办?只能使用存在量词呢?
    A: 提示:“所有满足A的都满足B”实际上相当于不存在 x x x同时满足 A A A且不满足 B B B. (即:“没有反例”)
    而“一些满足 A A A的满足 B B B”也可以理解成“举反例”,也就是并不是所有满足B的都不满足A. (注:也可以并不是所有满足A的都不满足B)
  7. Q: 阐释形式化自然语言中主谓宾结构句子时为什么常常出现 A ( x ) ∧ B ( y ) ∧ C ( x , y ) A(x)\wedge B(y)\wedge C(x,y) A(x)B(y)C(x,y)结构。
    A: 比如学生看书,则“学生”本身就是一种“属性”,需要用一个谓词表示。“书”也同理。而“看”根据3.可以被抽象为二元谓词,即得到结果 ∃ x y ( S t u d e n t ( x ) ∧ B o o k ( y ) ∧ R e a d ( x , y ) ) \exists xy(Student(x)\wedge Book(y)\wedge Read(x,y)) xy(Student(x)Book(y)Read(x,y)).

一阶语言

  1. Q: 逻辑符号和非逻辑符号的区别是什么?
    A: 非逻辑符号(函项符、谓词符)的含义根据语义的赋予(解释)的不同而不同。比如你可以让 P h i l ( x ) Phil(x) Phil(x)指代“ x x x是哲学家”,也可以让 P h i l ( x ) Phil(x) Phil(x)指代“ x x x是费城人”。
  2. Q: 为什么 + , − , > , < , = , ∃ , ∧ , ∨ +,-,>,<,=,\exists,\wedge,\vee +,,>,<,=,,,都是技术性符号?
    A: 提示:有的是二元函项符,有的是二元谓词符(即二元关系)。
    可以用 ∀ , ∼ , → \forall,\sim,\to ,,等定义 ∃ , ∧ , ∨ \exists,\wedge,\vee ,,.
  3. Q: 常元和函项符有何联系?函项符和谓词符有何联系?
    A: 常元可以看成0元函项符。
    把原子公式 A j n ( t 1 , ⋯   , t n ) A_j^n(t_1,\cdots,t_n) Ajn(t1,,tn)中每一项递归地展开,则原子公式可以抽象地写成(这里抽象出了一个实际含义可能极度复杂 m m m元谓词 B j ′ m B_{j'}^m Bjm B j ′ m ( x 1 , ⋯   , x m ) B_{j'}^m(x_1,\cdots,x_m) Bjm(x1,,xm),其中 x i x_i xi是变元。这说明其实函项符也可以看作技术性符号,即形式上可以把所有原子公式(从而所有公式)只用谓词表示。
    注意函项符值域是论域,相比之下谓词值域是 { 0 , 1 } \{0,1\} {0,1}.
    当然,还有一种思想:把 n n n元函项符看作 n + 1 n+1 n+1元谓词符。这也可以说明只有谓词符就够了。具体严格说明需要后面的知识。
  4. Q: 为了定义项和公式,除了定义递归的出口(对于项是变元和常元,对于公式是原子公式),还需要作出什么定义?
    A: 递归的法则(对于项是用函项符,对于公式是用连接符或量词,即 ( ∀ x i ) A (\forall x_i)\mathscr A (xi)A这样)。
    并且还要专门说明递归的出口和递归的法则确定了所有可能的项(公式)集合,没有其它的项(公式)。
    注:用量词构造公式时,量词后紧跟的变元可能不出现在公式中,即 ( ∀ x ) ( A ( y ) ) (\forall x)(A(y)) (x)(A(y)). 当然这样做在实际中并不常用。参见“约束变元”。
  5. Q: 为什么说命题语言 L 0 \mathscr L_0 L0是一阶语言 L \mathscr L L的子语言?
    A: 在 L \mathscr L L如果不含有量词和项(即:不含常元、变元、函项符),即所有公式都是0元谓词符(即“命题符”),那就是 L 0 \mathscr L_0 L0.
    注意:回忆我们提到过谓词是非逻辑记号,其具体含义(何时为真)可以自己指定。那0元谓词的含义(真假)当然也可以自己指定。这个角度帮助我们理解:0元谓词可以看作命题变元。
    注意:当然也可以脱离“命题真假”这样的语义,纯粹从形式上理解。因为之前我们提过这些形式系统除了表示一般的二值逻辑,还能表示三值逻辑,乃至各种实际语义。
  6. Q: 为什么“扩展”一阶语言时,要把可数个常元、谓词、函项等人为分出多个(有限整数个)“系列”?
    A: 提示:type signature.

复杂度和权重

  1. Q: 闭项的复杂度一定低吗?
    A: 根据定义,不一定。闭项只是说不含变元,只含常元。但其中可能含有许多函项符。
    然而在实际应用中,有时可以用一个具体的常元代替或近似代替闭项(比如:求出函数值),这样一来复杂度(项中出现函项符个数)就是0了。
  2. Q: 如何从“自由和约束”的角度理解 L \mathscr L L-串的权重?
    A: 提示:自由为负,约束为正。比如 n n n个变元总的权重为 − n -n n,用一个 n n n元函项符把它们包起来则类似于 n n n维到1维的映射,即增加了 n − 1 n-1 n1个“约束”。类似地, → , ∀ \to,\forall ,也相当于增加约束。
    思考:“约束变元”和“自由变元”的定义在“权重”定义的哪里得到体现?
  3. Q: 每个项 t t t权重都是-1,且 t t t任意初始(真)子段的权重都非负这一事实和什么数据结构有关?
    A: 提示:想象栈中初始有一个元素 0 0 0,读取 f a 3 t 1 f b 2 t 2 t 3 t 4 f_a^3t_1f_b^2t_2t_3t_4 fa3t1fb2t2t3t4时:
    对于 f a 3 f_a^3 fa3,把0取出再放入 a 1 , a 2 , a 3 a_1,a_2,a_3 a1,a2,a3.
    对于 t 1 t_1 t1,取出 a 1 a_1 a1.
    对于 f b 2 f_b^2 fb2,取出 a 2 a_2 a2再放入 b 1 , b 2 b_1,b_2 b1,b2.
    对于 t 2 t_2 t2,取出 b 1 b_1 b1.
    对于 t 3 t_3 t3,取出 b 2 b_2 b2.
    对于 t 4 t_4 t4,取出 a 3 a_3 a3.
    当然栈和递归(归纳)本质是相同的。
  4. Q: 公式的权重为-1这一事实证明和2.有何异同?
    A: 用前缀表达式书写,则 → , ∼ \to,\sim ,实际上可以和谓词一并统一用2.的方法处理(注意 → , ∼ \to,\sim ,分别是二元、一元运算符)。
    注:全称量词是定义在 { 变 元 } × { 公 式 } \{变元\}\times\{公式\} {}×{}这个笛卡尔积上的二元运算符,则也可以如此处理。
  5. Q: 公式的复杂度定义中, ∼ \sim ∀ \forall 为何都加1?之前难道不是说 ∼ \sim 是一元运算符而 ∀ \forall 是二元吗?
    A: ( ∀ x ) A (\forall x)\mathscr A (x)A这样可以看成关于 A \mathscr A A的一元运算符。
    注:实际上,公式的复杂度等于总的子公式个数-1.(显然每个 ∼ , ∀ \sim,\forall ,多引入一个子公式;每个 → \to 多引入两个子公式。归纳即可证明)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值