2 命题逻辑:语法

2.1 形式系统

形式系统

  1. Q: 如何理解“形式(演绎)系统中有关符号的一切行为和性质不依赖符号特定的意义和具体的性质”?用常微分方程的形式幂级数解举例阐述。
    A: 提示:形式上规定针对幂级数可以逐项求微分或积分,而不考虑收敛性,从而给出常微分方程的形式幂级数解。
    这里的演算都是形式上、符号上的,不一定符合幂级数的实际数学含义。
  2. Q: 语言、公理、规则和理论计算机中的哪些计算模型有联系?试举例。
    A: 如语言、规则和半Thue过程有类似之处。每次应用规则可能用前面的若干条已证明的定理但具体用哪条并未指定类似于非确定图灵机(DTM)。等等。
  3. Q: 命题演算形式系统\(L\)中的形式语言\(\mathscr L_0\)由哪两部分构成?
    A: 一个(可能无穷)的符号集\(\sim,\to,(,),p_1,p_2,\cdots\),以及一个合式公式(well-formed formulas)集。
    注:回忆\(\{\sim,\to\}\)是完备集。
    合式公式集是递归定义的。即\(p_i\)是公式;且对于公式\(\mathscr A,\mathscr B\),有\((\sim \mathscr A)\)\((\mathscr A\to\mathscr B)\)是公式。
    注:当然也可以采用前缀表达式,从而不需要引入括号。
  4. Q: 上面的符号集中的符号\(\sim\)和函数\(f:\{0,1\}\to\{0,1\};f(0)=1,f(1)=0\)有什么联系?
    A:
    形式系统\(L\)中的字符\(\to\)\(\sim\)是抽象的记号,我们并不天然地认为它们代表了用真值表或布尔函数定义的“具体”的连接符\(\to,\sim\). 但是\(L\)的公理模式和推理规则实际上从某种程度上符合了\(\to,\sim\)的意义。
  5. Q: 说“\(L\)的公理只有三条”有何不准确之处?
    A: \(L\)有三个公理模式。每个公理模式中的\(\mathscr A,\mathscr B\)等都可以代表任意公式(命题形式),从而有无数条公理。
    当然,也可以引入替换规则,这样可以只使用三条公理而不用前面说的“公理模式”了。
  6. Q: \(L\)中的公理模式和演绎规则有什么密切的联系?
    A: 可以发现所有的公理模式都是\(\mathscr A\to\mathscr B\)形式。因此如果另已知\(\mathscr A\),就可以通过分离规则得到直接后承\(\mathscr B\). 这体现了两者的密切关系。

形式证明

  1. Q: 形式证明中的公式序列中的公式可能是哪两种?
    A: 或者是一条公理(即公理模式代入具体公式后得到的公式)。或者是由序列中位于前面的两公式应用分离规则的直接后承。
  2. Q: 依据形式证明的定义,能否在\(L\)中证明\(L\)的公理?
    A: 按照定义,\(L\)中的公理自然也是\(L\)中的定理。证明是只含有自身的序列。
    注:公理是没有经过证明,但被当作不证自明的命题。这和“\(L\)中证明公理”是两个方面的东西。
  3. Q: 从什么集合的演绎就是证明?
    A: 空集(或:包含若干条公理的集合)
    注:从集合\(\Gamma\)的演绎和从\(\Gamma\cup \Gamma'\)的演绎(其中\(\Gamma'\)中所有公式都是公理)依据定义是相同的。
    注:因此\(\mathscr A\)\(L\)中定理可以简记为\(\emptyset\vdash_L\mathscr A,\vdash_L\mathscr A,\vdash\mathscr A\).
  4. Q: 使用前缀表达式(前置式),在\(L\)中构造\(\mathscr A, \to \mathscr B\to\mathscr A\mathscr C\vdash\to \mathscr B\mathscr C\)的演绎。
    A:
    (1)\(\mathscr A\)(假设)
    (2)\(\to \mathscr B\to\mathscr A\mathscr C\)(假设)
    (3)\(\to \mathscr A \to \mathscr B \mathscr A\)(L1)
    (4)\(\to \mathscr B \mathscr A\)((1)(3)MP)
    (5)\(\to\to \mathscr B\to \mathscr A \mathscr C \to\to \mathscr B \mathscr A\to \mathscr B \mathscr C\)(L2)
    (6)\(\to\to \mathscr B \mathscr A\to \mathscr B \mathscr C\)((2)(5)MP)
    (7)\(\to \mathscr B\mathscr C\)((4)(6)MP)
  5. Q: 抽象出上述过程,可以得到一条(),其具有推理规则的效果,可以帮助简化证明。
    A: 元定理。(关于对象语言形式系统的结果。区分与形式证明得到的具体的“定理”)
  6. Q: 斜形证明中何时增加行首空格?
    A: 提示:画有向无环图,看经过的边数量。
  7. Q: 在证明元定理\(\vdash\to \mathscr A\mathscr A\)\(\vdash\to\sim\mathscr B\to\mathscr B\mathscr A\)时,所使用的隐含分配(L2)分别具体是什么?
    A: 可能的答案:
    \(\to \to\mathscr A \to\to \mathscr A\mathscr A\mathscr A \to\to\mathscr A\to \mathscr A\mathscr A\to\mathscr A\mathscr A\).
    \(\to\to\sim \mathscr B\to\to\sim \mathscr A\sim\mathscr B\to\mathscr B\mathscr A \to\to\sim \mathscr B\to\sim \mathscr A\sim\mathscr B\to\sim\mathscr B\to\mathscr B\mathscr A\).

演绎定理

  1. Q: 叙述演绎定理(的正向),并针对\(\Gamma\cup\{\mathscr A\}\)\(\mathscr B\)的演绎序列中只有一个公式的情况做出分类证明。
    A: 演绎定理的正向:若\(\Gamma \cup\{\mathscr A\}\vdash_L\mathscr B\),则\(\Gamma\vdash_L(\mathscr A\to\mathscr B)\).
    若演绎序列只有一个公式,则\(\mathscr B\)是公理或\(\Gamma\)中元素时用一次L1即可。而\(\mathscr B\)就是\(\mathscr A\)时回忆上一节6.
  2. Q: 接上,如果\(\mathscr B\)不是以上三种情况,那么它一定是()而得的。那么根据归纳,一定有\(\Gamma\vdash_L\)()和\(\Gamma\vdash_L\)()。于是在()和()的演绎序列后加上几步(要使用L2)即得待求的()的演绎序列。
    A: 由\(\Gamma \cup \{\mathscr A\}\)(通过更少步演绎得到的)两条公式根据MP,\(\mathscr A\to\mathscr C\)\(\mathscr A\to(\mathscr C \to\mathscr B)\)\(\mathscr A\to\mathscr C\)\(\mathscr A\to(\mathscr C \to\mathscr B)\)\(\mathscr A\to\mathscr B\)
  3. Q: 通过演绎定理可以证明HS(假言三段论)也能起到推理规则的作用。而通过HS和()(填公理模式)可以得到\(\vdash\sim\mathscr A \to(\mathscr A\to\mathscr B)\),再用演绎定理得到()。说出该事实的实际含义。
    A: L1和L3,\(\sim\mathscr A,\mathscr A\vdash\mathscr B\).
    自相矛盾的题设可以推出一切结论。
    注:可以发现\(\sim \mathscr A,\mathscr A\)都写到\(\vdash\)左边后,顺序可以调换。从而马上得到\(\vdash\mathscr A\to(\sim\mathscr A\to\mathscr B)\)
  4. Q: 为了证明\(\vdash(\sim \mathscr A\to\mathscr A)\to\mathscr A\),我们考虑对2.中的\(\sim \mathscr A\to(\mathscr A\to\mathscr B)\)应用()(填公理模式),得到:在已知条件\((\sim \mathscr A\to\mathscr A)\)时,对于一切公式\(\mathscr B\)都有()。把\(\mathscr B\)替换为\(\sim(\sim\mathscr A\to\mathscr A)\),就得到了\(\sim\mathscr A\to\mathscr A\vdash \sim \mathscr A \to \sim(\sim\mathscr A\to\mathscr A)\).
    接下来()就证明了结论。
    A: L2,\(\sim\mathscr A\to \mathscr A\vdash \sim\mathscr A\to\mathscr B\),用L3及演绎定理再划去左侧集合中重复的元素\(\sim\mathscr A\to\mathscr A\).
  5. Q: 在形式证明的简略形式中,可以省略指明替换、MP和演绎定理。即:实际书写时行右边的括号标注不再只能是(m)(n)(MP)或(Ln)的形式。而有可能是()(说出在简略形式中可能出现但在非简略形式中被认为不规范的一些括号标注)。省略演绎定理在实际书写中能带来什么便利?
    A: (m)(Ln)形式,(m)(Ln)(HS)形式,等等。
    注意:省略了MP。
    注意:不用单起一行写(Ln)(即:省略了替换)。
    例:
    (1)\(\sim\sim\mathscr A\vdash\sim \mathscr A\to\sim\sim\sim \mathscr A\)
    (2)\(\sim\sim\mathscr A\vdash\sim\sim \mathscr A\to \mathscr A\)(1)(L3)(HS)
    省略演绎定理可以减少括号和\(\cdot\)的使用,把\(\vdash\)当成区分优先级的工具。
  6. Q: 用简略形式证明\(\mathscr A \to\mathscr B \vdash \sim \mathscr B \to \sim \mathscr A\). 尝试解释为什么不把前式作为公理模式。
    A:
    (1)\(\sim\sim\mathscr A\vdash \sim\sim\sim\sim\mathscr A\to\sim\sim \mathscr A\)(L1)
    (2)\(\sim\sim\mathscr A\vdash \sim\mathscr A\to\sim\sim \sim\mathscr A\)(1)(L3)(HS)
    (3)\(\sim\sim\mathscr A\vdash \sim\sim\mathscr A\to\mathscr A\)(2)(L3)(HS)
    (4)\(\sim\sim\mathscr A\vdash \mathscr A\)(演绎定理,此行其实可以省略)
    (5)\(\sim\sim\sim\mathscr A\vdash\sim\mathscr A\)(替换,当然替换可以不写)
    (6)\(\mathscr A\vdash\sim\sim\mathscr A\)(5)(L3)(MP,当然MP可以不写)
    (7)\(\mathscr A\to\mathscr B,\sim\sim\mathscr A\vdash\mathscr A\to\mathscr B\)(假设)
    (8)\(\mathscr A\to\mathscr B,\sim\sim\mathscr A\vdash\mathscr B\)(4)(7)(MP,当然MP可以不写)
    (9)\(\mathscr A\to\mathscr B,\sim\sim\mathscr A\vdash\sim\sim\mathscr B\)(8)(6)
    注:从不同角度讲(采用不同的公式集\(\Gamma\)),(9)可以看成(MP)也可以看成(HS). 通过演绎定理转换即可得到“不同角度”。
    (10)\(\mathscr A\to\mathscr B\vdash \sim\mathscr B\to\sim\mathscr A\)(9)(L3)(HS)
    不选取(10)作为公理模式,一个可能的原因是公理模式(L3)可以去除\(\sim\),而(10)反过来添加\(\sim\),不能合理应用。
  7. Q: 回忆2.中我们得到过\(\mathscr A,\sim\mathscr A\vdash\mathscr B\). 为了把它写成\(\vdash( \sim\mathscr A\wedge \mathscr A)\to\mathscr B\)形式,我们定义合取\(\mathscr A\wedge\mathscr B\)表示()(用语言\(\mathscr L_0\)的合式公式表达,即只能使用\(\to,\sim\)两种连接符)
    为了说明这个定义合理,我们希望由\(\mathscr A,\mathscr B\vdash\mathscr C\)推出\(\vdash\sim(\mathscr A\to\sim\mathscr B)\to\mathscr C\). 如何作此推理?你可以直接使用5.中的(6)(10).
    A:
    填空:\(\sim(\mathscr A\to\sim\mathscr B)\)
    推理:
    (1)\(\mathscr A\vdash \mathscr B\to \mathscr C\)(演绎定理)
    (2)\(\mathscr A\vdash \sim\mathscr C\to\sim \mathscr B\)(1)(5.中的(10))(HS)
    (3)\(\mathscr A,\mathscr \sim \mathscr C\vdash \sim \mathscr B\)(演绎定理)
    (4)\(\sim \mathscr C\vdash \mathscr A\to\sim \mathscr B\)(演绎定理)
    (5)\(\sim \mathscr C\vdash\sim\sim( \mathscr A\to\sim \mathscr B)\)(4)(5.中的(6))(HS)
    (6)\(\sim(\mathscr A\to\sim \mathscr B)\vdash \mathscr C\)(5)(L3)
    (最后一行用演绎定理推出\(\vdash\sim(\mathscr A\to\sim\mathscr B)\to\mathscr C\)可以省略)

形式系统的性质

一致、平凡、单调

  1. Q: \(L\)中公式集不一致为什么等价于公式集能\(\vdash\)一切公式?
    A: 回忆上一节2.
    并且注意:公式集不一致的定义是能同时\(\vdash \mathscr A\)\(\vdash \sim\mathscr A\),所以能推出一切公式的公式集当然是不一致的。
  2. Q: 平凡性和一致性有什么联系和区别?
    A: 一致性可以作为公式集的性质。如果一切不一致的公式集都能推出一切公式,那么说明形式系统具有平凡性。特别地,\(L\)具有平凡性。(平凡性只考察形式系统)
    注:当然,我们也考察形式系统是否具有一致性。之后我们会证明\(L\)是一致的,这其实就相当于所有公理作为公式集具有一致性。
  3. Q: 不一致公式集和真值指派有何关系?
    A: 不一致公式集没有模型,即一切指派都不能使得不一致公式集中公式全部为真。(通过反证法和不一致公式集的定义可以说明)
  4. Q: 如何理解“平凡性对数学是合理的,但对数学之外则不合理”?
    A: 提示:比如银行管理系统不能因为一个偶然的错误就让任意人取任意钱。这涉及对错误和异常的处理方法等。
  5. Q: 单元素集\(\{p\}\)为什么是公式的一致集合?
    A:
    此问其实已经是扩展了的一致性定理了,并没有想象中的直接
    具体证明方法需要参考下一篇“一致性定理”“赋值”等内容。
    分别考察\(p\)推出\(\mathscr A\)\(p\)推出\(\sim\mathscr A\)的证明序列。这两序列都有限,其中出现的总命题变元也有限。且除了\(p\)外的命题变元第一次出现只能在某公理中。接下来我们考察只能使用这有限个命题变元的语言和相应形式系统,记为\(L\).
    于是定义\(v(p)=v(x_i)=1\),这根据赋值的定义可以诱导出一个\(L\)上赋值\(v\)(这里看出为什么要限制\(L\)中使用的变元),并且\(v(p)=1\).
    归纳地说明\(\{p\}\)能推出的一切公式\(\mathscr B\)都有\(v\models \mathscr B\),这推出\(v\models \mathscr A,v\models \sim\mathscr A\),矛盾。
    注:思考记号“\(v\vdash \mathscr A\)推出\(v\models \mathscr A\)”的含义。
  6. Q: 上一问表示一切某公式\(\mathscr A\)的单元素集\(\{\mathscr A\}\)都是一致的吗?
    A: 否。要求\(\mathscr A\)不能是矛盾式,才能套用上一问的证明。
    实际上,\(\mathscr A\)如果是矛盾式,那么\(\sim\mathscr A\)是重言式,根据完全性定理,可以说明\(\sim\mathscr A\)是定理。从而\(\{\mathscr A\}\)一定不一致。

极大一致

  1. Q: \(\mathscr L_0\)中公式集的极大一致和一致有什么关系?举一个数学中的对象进行类比说明。
    A: 极大一致的公式集是一致的,但加入任何一条新的公式就不再一致了。类比线性空间的一组基是线性无关的,但加入任何一个新的向量就不再线性无关了。
    这个类比还有其它方面的相似性,例如不一致的公式集并不一定有两条公式直接是互为否定,而是有可能一些公式的推论是另一些公式推论的否定。
  2. Q: 为了证明\(\mathscr L_0\)中极大一致的公式集\(\Gamma\)一定对于任意公式\(\mathscr A\)\(\mathscr A\in \Gamma\)\(\sim\mathscr A\in\Gamma\),可以说明一旦\(\Gamma\cup\{\sim\mathscr A\}\)不一致,那么()\(\in\Gamma\). 如何做此推理?
    A:
    (1)\(\Gamma,\sim\mathscr A\vdash\mathscr B\)(假设)
    (2)\(\Gamma,\sim\mathscr A\vdash\sim\mathscr B\)(假设)
    (3)\(\Gamma,\mathscr B\vdash \mathscr A\)(2)(L3)
    (4)\(\Gamma\vdash\sim\mathscr A\to\mathscr A\)(1)(3)(HS)
    (5)\(\Gamma\vdash\sim\mathscr A\to(\sim \mathscr B\to\sim \mathscr A)\)(L1)
    (6)\(\Gamma\vdash\sim \mathscr A\to(\mathscr A\to \mathscr B)\)(5)(L3)(HS)
    (7)\(\Gamma,\sim\mathscr A\to \mathscr A\vdash\sim \mathscr A\to \mathscr B\)(6)(L2)
    (8)\(\Gamma\vdash \sim\mathscr A \to \mathscr B\)(4)(7)
    (9)\(\Gamma\vdash\sim \mathscr A\to\sim(\sim \mathscr A\to \mathscr A)\)(8)
    (10)\(\Gamma,\sim \mathscr A \to \mathscr A\vdash \mathscr A\)(9)(L3)
    (11)\(\Gamma\vdash \mathscr A\)(4)(10)
    最后,由于\(\Gamma\)极大一致,且\(\Gamma\vdash \mathscr A\),故\(\mathscr A\in \Gamma\).(否则,\(\Gamma \cup \{\mathscr A\}\)\(\Gamma\)的真超集,且是一致的,矛盾)
  3. Q: 极大一致子集唯一吗?为什么?
    A: 不一定。设\(\Gamma\)是一致但不完备的公式集(即\(\Gamma\)不能推出\(\mathscr A\)也不能推出\(\sim\mathscr A\)),则\(\Gamma\cup \{\mathscr A,\sim\mathscr A\}\)的极大一致子集就不唯一。空集是一个平凡的\(\Gamma\)的例子。
    具体地,\(\Gamma\cup\{\mathscr A\}\)\(\Gamma\cup \{\mathscr A,\sim\mathscr A\}\)的一致子集,否则参考上题,有\(\Gamma\vdash\sim \mathscr A\)(注:此处条件和上题不完全相同,所以没有\(\in\)关系),矛盾。
    \(\Gamma\cup \{\mathscr A,\sim\mathscr A\}\)本身不一致显然。因此\(\Gamma\cup\{\mathscr A\}\)\(\Gamma\cup \{\mathscr A,\sim\mathscr A\}\)的极大一致子集。同理\(\Gamma\cup\{\sim\mathscr A\}\)也是。
  4. Q: 由于6.,我们有两种定义“极大一致推理”的方式,即:\(\Gamma\vdash_{MCS}\mathscr A\)当且仅当一切\(\Gamma\)的极大一致子集都\(\vdash_L\mathscr A\). 或\(\Gamma\vdash_{MCS}\mathscr A\)当且仅当存在一个\(\Gamma\)的极大一致子集能\(\vdash_L \mathscr A\).
    对于这两种定义,极大一致推理\(\vdash_{MCS}\)分别是否具有平凡性和单调性?
    A: 无论哪种定义方式,不一致的\(\Gamma\)都不一定能推出一切公式。比如6.中\(\Gamma':=\Gamma\cup \{\mathscr A,\sim\mathscr A\}\)不一致,其所有极大一致子集是\(\Gamma_1:=\Gamma\cup\{\mathscr A\}\)\(\Gamma_2:=\Gamma\cup\{\sim\mathscr A\}\)显然。
    注:原因是\(\Gamma'\)本身不是一致子集,且\(\Gamma\)的任意真子集一定是前述两极大一致子集\(\Gamma_1,\Gamma_2\)之一的子集。
    \(\Gamma'\)无论在哪种极大一致推理的定义下,都不能推出一切公式。
    对于第一种定义方式,没有单调性。比如考虑前述\(\Gamma_1\subset\Gamma'\).,则\(\Gamma'\)的一个极大一致子集\(\Gamma_2\)就不能推出\(\mathscr A\)(但\(\Gamma_1\)可以)
    对于第二种定义方式,有单调性。考察新增\(\mathscr A\),如果\(\Gamma^*\)\(\Gamma\)的极大一致子集,那么\(\Gamma^*\)\(\Gamma\cup\{\mathscr A\}\)的一致子集,从而\(\Gamma^*\)或者\(\Gamma^*\cup\{\mathscr A\}\)之一一定是\(\Gamma\cup\{\mathscr A\}\)的极大一致子集。从而单调性容易说明。

勘误集

ml-2_1.pdf

  • p37 有一个\(A\)忘了花体。