摘要
本课开启课程的第一个单元,这一单元专讲命题逻辑的语言。本课介绍单元的四节课以及把它们串联起来的线索,从有效性与真的区分,直到用汉语表述的论证的形式化;把本单元放到课程的完整路线中,这条路线从语言走向演绎、语义和元理论,并解释为什么语法必须先于其余三部分;说明为什么选择一种只有两个符号(圆圈和圆盘)、只有一条形成规则的语言;指明假定已有的那一点点知识,即细心阅读和初等算术;提出本单元要解决的问题,即如何书写才能使每个表达式只有一种读法,并对无穷多个公式证明这一点;最后给出学习本单元的建议。
学习目标
- 描述本单元内容的顺序,并说明每节课为下一节课提供了什么。
- 把本单元放到课程的路线(语言、演绎、语义和元理论)中,并解释为什么语法要先于其余三部分来学习。
- 用一个例子说明,为什么联结词写在其运算对象之间且不用括号的记法是有歧义的,而圆圈与圆盘的语言为什么没有歧义。
- 认清本单元所假定的那一点点知识,并以入门自测为起点安排本单元的学习。
入门测评
在学习本单元之前,先测一测自己的起点是有益的。这份测评是自我测评:不计分,唯一的目的是为学习指引方向。它的十一道题按顺序对应本单元的四节课:第一课三道,第二课三道,第三课两道,第四课三道。从未学过逻辑的人不必指望全部答对,这也无关紧要:每个答案,无论对错,都会解释要点,并指出讲解这一要点的那节课。同样的技能会在单元末尾的总结课中再次测量;由于这是一门没有先修要求的课程的第一个单元,所以没有关于前面单元的题目。
开始本单元之前,先测一测你的起点。这是一次简短的自我测评:不计分,结果只保存在你的浏览器中。
第 1 题一个论证是有效的,而它的结论为假。关于它的前提可以断言什么?
这是把有效性与真混为一谈。有效性是形式的性质:“每个素数都是奇数; 是素数;所以, 是奇数”是有效的,它的结论为假,是因为它的第一个前提为假。这要求得太多了:在关于数 的那个论证中,前提“ 是素数”为真。有效性只保证前提并非全都为真。论证的前提可以是任何东西,甚至只是假设;有效性对前提的真不作任何断言,只说明前提为真时会发生什么。有效论证不可能所有前提都为真而结论为假:如果前提全都为真,结论也会为真。因此,结论为假时,必有某个前提不成立;一个就够了。复习: 什么是数理逻辑
第 2 题语句“‘罗马’有两个字”谈的是什么?它为真吗?
这适用于不加引号的“罗马有两个字”,那里这个词被用来谈论城市。加了引号,语句谈的就是这个词。这是把使用与提及混在了一起:如果语句谈的是城市,它就把字归给了城市,而城市并没有字;有两个字的是城市的名字,语句谈的正是这个名字。这个语句谈的不是它自己,而是一个词;它是一个陈述句,或真或假,因而是一个命题。引号把表达式变成了这个表达式的名字:这个语句提及这个词,而不是用它来指称那座城市。这个词确实有两个字。复习: 什么是数理逻辑
第 3 题关于数的列表 、、,有人断言:“列表中所有的数不是素数”。关于这个语句可以说什么?
这只是它的一种读法,即对每个数分别加以否定的读法。这个语句还有另一种同样合乎语法的读法,而对这个列表,两种读法的真值不同。这是“并非所有的数都是素数”这种读法;这个语句也可以读作“没有一个是素数”,而这种读法为假。在评价一个有歧义的语句之前,必须先确定评价的是它的哪一种读法。悖论是从可以接受的假设推出矛盾;这里推不出任何矛盾:有两种读法,各有自己的真值。歧义不是悖论。这是辖域的歧义:不知道否定是作用于每一个数,还是作用于整个断言。由于 是素数,第一种读法为假;由于 不是素数,第二种读法为真。复习: 什么是数理逻辑
第 4 题长为 的不同符号串,用两个符号 和 能写出多少个?
正确答案:
四个位置中每一个都可以取两个符号,而每一种选法都给出一个不同的符号串:从一种长度到下一种长度,符号串的个数翻一番,所以符号串有 、、、 个,长度依次为 到 。得到 的人把 乘以长度,而不是以长度为指数取它的乘方;得到 的人把从 到 所有长度的符号串加在了一起。复习: 命题逻辑的语言
第 5 题若 ,,那么连接 ,即把 写在 之后,是哪个符号串?
这是 :先写了 。连接不满足交换律,字母的顺序表示符号串的顺序。符号串不是符号的集合:重复的符号每出现一次就算一次,连接保留两个符号串的全部符号。连接只产生一个符号串,含三个符号;字母 和 只是给它的两个部分起的名字。先写 的符号,再写 的符号,按这个顺序;长度是两者长度之和,。复习: 命题逻辑的语言
第 6 题在本课程的语言中,变元是符号串 、、,依此类推,而唯一的规则说:如果 和 是公式,那么 也是公式。下列哪个符号串是公式?
它以圆圈开头,所以如果它是公式,就会是一个变元;但在变元 之后多出一个圆盘,而没有哪个变元以两个圆盘结尾。开头的圆盘要求后面跟两个公式,而这里只有一个,即变元 。每个公式都以圆盘结尾:变元是这样结尾的,而规则保留 的最后一个符号。以圆圈结尾的符号串不是公式。它是一个圆盘后面跟着变元 和 :把规则对两个公式应用一次。复习: 命题逻辑的语言
第 7 题有人证明:对每个自然数 ,如果 是偶数,那么 是偶数。由此能得出什么结论?
它省略了基始,而基始不是走过场:没有它,归纳步骤可能对一个从不成立的性质也为真,就像这个性质。归纳步骤并不确立任何出发点;要从 起得出结论,就必须证明 是偶数,而它不是。没有一个可以出发的真实情形,归纳步骤连一个也保证不了;而这里一个也没有。归纳步骤只断言性质从每个自然数传递到下一个;如果性质对第一个数不成立,蕴涵的链条就没有任何固定点。这里 是奇数,而奇数之积是奇数。复习: 自然数上与公式上的归纳法
第 8 题为了证明圆圈与圆盘的语言的所有公式都具有某种性质,只需证明什么?
它漏掉了其他变元和几乎所有的复合公式: 的否定是特殊的符号串 ,而像 这样两个成分不同的公式不是否定。长为 的公式只有 一个;检验一个情形或许多情形,对其余无穷多个情形都说明不了什么。需要一个把性质传递给复合公式的步骤。无论多少个经过验证的例子,都证明不了关于无穷多个公式的断言;正因为如此,本单元才构造归纳法。这就是对公式复杂度的归纳原理:它的基始涵盖所有初始的部件,它的归纳步骤涵盖唯一的形成规则。每个公式都是用这些部件和这条规则得到的,所以没有一个公式被遗漏。复习: 自然数上与公式上的归纳法
第 9 题用词典 :“下雨”,:“比赛取消”,“只有下雨,比赛才会取消”如何形式化?
这是把“只有……才”与“如果”混为一谈:这个公式说下雨就足以使比赛取消,而原句并没有这样断言;它只是说,不下雨就不会取消。它加上了原句没有的一个条件:下雨就足以使比赛取消。“只有……才”只给出一个方向。它断言下雨并且比赛取消,而原句是条件句:在不下雨、比赛照常进行的日子里,它也为真。“ 仅当 ”说的是 不会在没有 的情况下发生:如果比赛取消了,那么在下雨。箭头指向“仅当”之后的部分(在“只有……才”的说法中,就是“只有”之后的部分),也就是必要条件。复习: 自然语言的形式化
第 10 题用词典 :“下雨”,:“冷”,哪个公式字面地遵循“既不下雨也不冷”这一结构?
只要两件事中至少有一件不发生,这个公式就为真,例如下雨而不冷的时候;而原句要求两件事都不发生。它说“并非两者都”,这在只有一件事发生时为真;“既不……也不”要求两件事都不发生。它说的是“既不是不下雨,也不是不冷”,也就是说下雨而且冷:或非本身已经含有否定,再否定它的部分就把否定重复了。或非恰在它的两个部分都为假时为真,读作“既非 也非 ”:语言中有一种结构,恰好对应于本课程唯一的初始联结词。复习: 自然语言的形式化
第 11 题本课程的蕴涵 ,即所谓实质蕴涵,在哪些情形下为假?
恰恰相反:前件为假时,无论 如何,蕴涵都为真。“对每个 ,如果 是 的倍数,那么它是偶数”在 时也必须为真。实质蕴涵并不断言它的两个部分之间有任何联系,无论是因果上的还是意义上的:它的真只取决于 的真和 的真。这是把蕴涵与它的逆 混为一谈。后件为真时, 为真。蕴涵是 的缩写,后者在 为假或 为真时为真;它只在一种情形下不成立。这是一个条件句唯一禁止的情况。复习: 自然语言的形式化
本单元的内容
本单元首先服务于课程的第一个目标,即区分对象语言与元语言,并用形成规则判定一个符号串是否为公式;它也服务于第二个目标,即把自然语言的陈述句和论证形式化,并为第四个目标做准备,即用归纳法证明元定理,这一目标将伴随课程直到最后一个单元。它的目标是,学完本单元的人知道逻辑研究什么,掌握一种以完全的严格性构造出来的形式语言,会证明它的所有公式的性质,并能把汉语的陈述句和论证翻译成这种语言,同时知道翻译保留了什么、失去了什么。它的四节课环环相扣,每一节都以前面各节为基础。
- 什么是数理逻辑。划定这门学科的对象:不是个别陈述句的真,而是有效性,即前提与结论之间保证前者的真传递给后者的那种关系。它把有效性与真区分开来,说明为什么自然语言既有歧义又能谈论自身,因而不足以研究有效性,并确立对象语言与元语言的区分。它连同明确的假设分析说谎者悖论、贝里悖论、理发师悖论和罗素悖论,最后给出课程的地图。
- 命题逻辑的语言。讲授集合与符号串中不可或缺的内容,计算用两个符号可以写出的符号串的个数,并构造基础语言:用圆圈和圆盘写成的无穷多个变元、唯一一条形成规则和一个封闭条款,由该条款可推出一条用来证明所有公式之性质的原理。它给出判定一个符号串是否为公式的程序,并在基础语言之上构造今后使用的元语言:元变元、用括号书写的或非,以及其余联结词的正式缩写。
- 自然数上与公式上的归纳法。讲授自然数上的归纳法,包括简单归纳和强归纳,并把它推广到公式上。用它证明权重引理,再由权重引理证明前一课已经陈述过的唯一可读性定理:每个复合公式都只能以一种方式分解。最后,唯一可读性使对公式的递归定义(长度、子公式、深度)以及在一个子公式处代入另一个公式成为正当的。
- 自然语言的形式化。在汉语与形式语言之间架起桥梁:形式化的词典,从初始联结词的读法推出的每个联结词的读法,“但是”、“只有……才”和“除非”的微妙之处,联结词的辖域,实质蕴涵,以及命题逻辑无法表达的东西。最后它把完整的论证形式化为一个前提集和一个结论,以后各单元将用演绎和语义来检验它们。
本单元以总结与挑战一课结束,这一课把已取得的成果汇集成一条演绎之链,在结业测评中重复入门测评的各项技能,并提出综合几节课内容的挑战题。
本单元在课程中的位置
本课程针对最简单的逻辑语言,走完一种逻辑理论的全过程,分为四个部分,也就是它的四个内容单元。第一部分,即本单元,确定语言。第二部分是演绎,它定义一个公式 借助公理和推理规则从一个公式集 得出是什么意思,这将记作 ;这是有效性的语法的一面,在这里人们操作符号而不考虑它们的含义。第三部分是语义,它在每个赋值下给每个公式指派一个真值,并定义 是 的语义后承是什么意思,这将记作 ;这是有效性的语义的一面。第四部分是元理论,它证明这两面是一致的:可靠性说一切可推演的都是后承,完备性说一切后承都是可推演的。
如果是这样,语法就不是一段可以缩短的开场白,而是其余三部分的前提条件。一个推演是一个公式序列,要判定一个序列是不是推演,就必须毫不犹豫地知道哪些符号串是公式、它们怎样分解;一个赋值通过递归从变元扩张到所有公式,而只有当每个公式只能以一种方式来读时,递归才给每个公式一个唯一的值;元理论的定理是用归纳法证明的,或者对公式的复杂度归纳,或者对推演的长度归纳。由此得出本单元的顺序:首先,想要研究的是什么,以及为什么需要一种形式语言;其次,语言本身;然后,证明关于它的所有公式的某种性质的工具,唯一可读性就是用它证明的;最后,通向汉语论证的桥梁,它们正是前面一切的存在理由。
为什么是圆圈与圆盘的语言
本课程的语言的字母表只有两个符号,即圆圈 和圆盘 ,并且只有一条形成规则:如果 和 是公式,那么 也是公式。第 个变元是由 个圆圈后跟一个圆盘组成的符号串,。乍看之下,这种选择很奇怪,因为这样写出的公式很难读。不过,它有四个明确的理由。
第一,两个符号就足以写出无穷多个变元而不越出有穷的字母表,因此每个公式按字面意思就是由一个二元集合中的符号组成的有穷符号串,关于语言的问题就是关于符号串的问题,而符号串是可以计数和比较的。第二,只有一条规则,每个归纳证明就只有一种情形:对变元和对 证明了的东西,就对所有公式都证明了,而不必每个联结词各有一种情形。第三,这条规则把联结词放在它的两个运算对象之前,就像扬·卢卡西维茨在 20 世纪 20 年代提出的记法那样,因此不需要括号:唯一可读性可以用一页篇幅的论证来证明,这个论证给每个变元指派权重 ,给每个联结圆盘指派权重 。第四,唯一的联结词,即或非,“既非 也非 ”,足以表达所有其他联结词,这是查尔斯·桑德斯·皮尔士在 1880 年前后注意到、亨利·谢弗在 1913 年发表的,语义单元也将加以证明;因此,语言的经济性并不牺牲命题逻辑能够表达的任何东西。
然而,这种经济性的代价是可读性,而本单元在元语言中付出这一代价:没有人会天天写圆圈和圆盘组成的符号串,而是写它们的名字,、、,这些名字只定义一次,并且随时都可以展开为它们所指称的符号串。因此,课程同时在两个层次上工作:一个极简的基础语言,关于它进行证明;一套方便的记法,用它来书写;而第一课引入的对象语言与元语言的区分,正是使我们不把二者混淆的东西。
假定已有的知识
本单元几乎从零开始。它不假定学过逻辑,不假定了解集合论,也不假定曾经证明过任何定理:它用到的集合知识由第二课讲授,用到的归纳法由第三课讲授。它只假定两件事。第一,细心阅读:在形式语言中,多一个或少一个符号就改变了符号串,而一个定义中词语的顺序与词语本身同样重要。第二,自然数的初等算术,在本课程中自然数是 :会做加法和乘法,会计算 的幂,会区分偶数与奇数,会识别素数。
想在归纳法方面获得更多帮助的人,可以参阅关于皮亚诺公理和关于求和与归纳法的课,它们属于代数与几何 I课程;不过这并非必要,因为本单元的第三课从归纳法的陈述讲起。
本单元要解决的问题
逻辑研究有效性,而有效性取决于论证的形式。但要严格地谈论形式,就需要每个表达式只有一种形式,而自然语言并不保证这一点:“二乘三加四”可以是 ,也可以是 ,取决于怎样分组。这就提出了两个问题,它们正是本单元的问题。第一个问题是构造一种语言,使其中每个表达式只能以一种方式来读。第二个问题是证明这一点:公式有无穷多个,任何逐个情形的检验,无论多长,都不能确立所有公式都只能以一种方式来读。下面的例子在一个表达式中同时展示了这两个问题。
表达式 把联结词写在运算对象之间且不用括号,它没有表明两个联结词中哪一个是主联结词。相反,在圆圈与圆盘的语言中,每一种分组都是一个不同的符号串,而符号串本身就说明了它是怎样分组的。
证明
第一种读法:第一个联结词把 与 连起来,第二个是主联结词。在基础语言中,两个圆盘都放在前面。
第二种读法:第二个联结词把 与 连起来,第一个是主联结词。第二个圆盘放在 与 之间。
用圆圈和圆盘写出来,这两个符号串在第二个符号上就已经不同:它们是不同的公式。
要读第一个符号串,只需计数:在开头的圆盘之后,每个联结圆盘减 ,每个变元加 ,第一个成分在和第一次达到 的地方结束。
由此,第一个成分是 ,第二个成分是 :这个符号串按第一种读法来读,而不能以任何别的方式来读。这种计数对所有公式都有效,而不只对这一个公式有效,这就是唯一可读性定理,第三课用归纳法证明它。
因此,本单元对这两个问题的回答由两部分组成。对第一个问题,是一种唯一的规则把联结词放在前面、因而不需要括号的语言,以及一种每个缩写都只指称一个符号串的元语言。对第二个问题,是一条证明原理,即对公式复杂度的归纳法,它从有限次检验(变元和规则)过渡到所有公式,正如自然数上的归纳法从 以及从 到 的步骤过渡到所有的数。有了这两部分,论证的形式就成了一个精确的对象,它是否有效的问题就可以在以后各单元中严格地提出。
如何学习本单元
最好从这份入门测评开始,并记下答错的题目,它们指出了需要多下功夫的课。四节课应当按顺序学习,因为每一节都要用到前面各节所确立的东西。学习第二课和第三课需要纸和笔:圆圈和圆盘组成的符号串在屏幕上很难读,最好把它们抄下来,把它们分成词(每个变元和每个单独的圆盘),并标出每个词的权重,直到唯一可读性的计数成为习惯。证明以分步播放器的形式发布,每一步都应当能够说明理由之后再往下走。第一课和第四课的功夫在于细心阅读:面对每一个汉语句子,都要问自己它究竟断言了什么、它有哪些读法、哪个公式表示它。最后,每道练习题的提示和答案,只有在认真尝试之后才打开。
通向何处
学完本单元,语言就确定下来了,以后各单元将在它的基础上建造,而不再讨论它。演绎单元将定义一个由公理和两条推理规则组成的系统,这两条规则是 modus ponens(分离规则),以及在证明了双重否定之后的双重否定替换,这个系统中的推演是公式序列;它的公理用本单元定义的正式缩写来书写,它的演绎定理通过对推演长度的归纳来证明,所用的正是这里学到的工具。演绎单元的第一课是关于形式演绎系统的课。语义单元将给变元指派真值,并通过递归把它们扩张到所有公式,这只有依靠唯一可读性才能做到;它将用真值表为第四课所用的联结词的非形式读法提供依据,并将在关于功能完全性的课中证明,或非足以表达任何联结词。最后,元理论单元将用归纳法证明可靠性与完备性,而本单元教人形式化的那些论证,终于可以不加区别地用演绎或语义来判定了。
在本课程之外,形式语言的语法就是一切程序设计语言的语法:C++ 程序设计 I课程中的编译器首先判定一个程序是否合式,并以唯一的方式对它进行分解。有效性与真的区分也是亚里士多德逻辑课程的出发点,那门课研究三段论的形式;第三课的归纳法,也正是在代数与几何 I课程中证明数的性质的那种归纳法。在所有这些领域中,正如在起草规章和合同时一样,道理都是相同的:要精确地说出断言了什么,就需要一种每个表达式只有一种读法的语言。
已完成
登录账户以保存您的进度