A Mathematical Introduction to Logic -- Introduction
\(\def\tauequ{\mathbin{\vDash\style{display: inline-block; transform: scaleX(-1)}{\vDash}}}\) \(\def\Dashv{\mathbin{\style{display: inline-block; transform: scaleX(-1)}{\vDash}}}\) \(\def\DEF{\sf{D\scriptsize EF}.\quad}\) \(\def\DEFi{\sf{D\scriptsize EF}^*.\quad}\) \(\def\DEFn{\sf{D\scriptsize EF}_*.\quad}\) \(\def\DEFin{\sf{D\scriptsize EF}^*_*.\quad}\) \(\def\llbracket{\unicode{x27E6}}\) \(\def\rrbracket{\unicode{x27E7}}\) \(\def\PROOF{\sf{P\scriptsize ROOF}.\quad}\) \(\def\MYNOTE{\sf{M\scriptsize{Y}}\sf{N\scriptsize{OTE}}.\quad}\) \(\def\EXAMPLE{\bf\sf{E\scriptsize{XAMPLES}}\quad}\) 这是一个关于数理逻辑的读书笔记和学习总结, 书名是A Mathematical Introduction to Logic (以下简称AMIL), 作者Herbert B. Enderton, University of California
本文是引言(Introduction), 讲述了符号逻辑的概念, 以及提纲挈领的描述一下本书关心的关于符号逻辑的主要问题.
由于中文版错误太多, 大部分章节读的是英文第二版, 所以笔记也是中英文夹杂着写的. 英文一般是关键原文. 中文有的是原文的翻译, 有的是我自己的理解, 还有的是 为了做练习写的证明和计算过程.
前缀关键字的含义:
- \(\DEF\) : 表明后面是概念定义.
- \(^*\) : 表明后面内容并不是数学上的精确表达.
- \(_*\) : 表明后面的内容并不来自于这本书.
- \(\MYNOTE\) : 后面的内容是我用自己的话做的总结,或心得体会
本书中, 一般用Symbolic Logic即符号逻辑这个词, 跟数理逻辑(Mathematical Logic)的概念无区别.
\(\DEFi\)Mathematical Model(数学模型)是对真实世界上的对象的数学抽象. 选取被研究的真实世界中的对象的某些特性, 用数学模型表达, 而其他特性则被忽略. 使得被建立的数学模型的行为在某些方面(本质的, 被关注的)跟远对象很像, 但其他方面(无关的)又不像. 模型是否符合它意欲达成的目的是依赖于选取原对象那些特征来用模型表达. 例如概率论是真实世界的不确定性的数学模型.
\(\MYNOTE\) 这个解释及其易懂. 自然数最初是"计数"这个现实需求的数学模型, 欧氏几何就是真实世界的对象的各种形状的数学模型, 拓扑学最初则是忽略形状和大小而只考虑真实世界对象相对位置的一种数学模型.
\(\DEFi\)符号逻辑最初是一种演绎思维(deductive thought)的数学模型. 但跟数学其他分支一样, 它已经自我生长, 现在远远超出了它诞生之初的环境.
\(\MYNOTE\)
- 演绎逻辑这个真实世界里的研究对象也是一个比较抽象的对象. 用自然语言对这个对象进行研究就是形式逻辑. 而通过数学建模对其研究就是符号逻辑.
- 一旦模型建立, 数学家可以根据模型的符号系统做各种跟真实世界无关的研究, 最后的研究成果有可能反过来让人们发现真实世界对象的新的特征和规律. 当然也有可能对真实世界没有任何用(或暂时没发现有任何用).
通过对真实世界的自然语言表达的逻辑正确的研究, 一个原则被发现: 演绎(deduction)的逻辑正确性取决于演绎的形式而不是演绎的内容. 这个表述是模糊的, 正是这种模糊性激励我们找到一种数学模型. 这种数学模型的一个主要目标就是给出这个原则的一个精确的版本. 我们最初最关心的关于这个数学模型的问题包括:
- What does it mean for one sentence to "follow logically" from certain others? 什么叫一个命题可以从其他命题"逻辑推出"?
- If a sentence does follow logically from certain others, what methods of proof might be necessary to establish this fact? 如果一个命题可以从其他命题逻辑推出是一个事实(fact), 为了建立这个事实, 什么样的证明的方法是必须的?
- Is there a gap between what we can prove in an axiomatic system(say for the natural numbers) and what is true about the natural numbers? 以下两种命题是否有区别? a) 那些我们可以在一个公理系统(比如说自然数的公里系统)里证明的命题, b)关于自然数是"真"的命题
- What is the connection between logic and computability? 逻辑和可计算性有什么联系.
本书事实上给出了两个模型, 命题逻辑(sentential logic)和一阶逻辑(first-order logic). 前者对真实世界的演绎的那部分简略的(crude)特征的抽象, 因而不足以回答上述所有我们感兴趣的有关演绎的问题. 后者则极好的符合在数学中碰到的所有演绎.
\(\MYNOTE\)
- 看了大半的书, 再回过头来看这个序言, 才感觉自己真正能读懂了.
- 关于术语的选择对于阅读体验非常重要, 关键性术语应该尽量选择那些跟平时用语有区别的词. 比如英文sentence在这本书的中文版里有些地方被翻译成"命题", 但有些地方(一阶逻辑部分)被翻译成"句子". 明显"命题"是更好的翻译(我怀疑这两个章节不是一个人翻译的). 读到"句子"的时候往往很困惑. 英文其实用sentence不如用proposition, 估计母语是英语的人最初读到sentence的时候也会困惑. 这个笔记里把deduction翻译成"演绎"而不是"推论"或"推理"也是因为这个原因.
- 命题逻辑虽然不足以表现数学上有关演绎思想的所有问题, 但实际上是计算机科学的数学基础.