中文
周一谈治学首页  学生园地  周一谈治学

第180期 | 数理逻辑学程推介:从数理逻辑到无限世界

时间:2022-01-19

数理逻辑学程是教务处联合哲学学院、数学科学学院与计算机科学技术学院设计的专注于从本科生中选拔、培养数理逻辑研究型人才的创新课程体系。本期“周一谈治学”我们邀请到哲学学院逻辑学方向的杨睿之老师,来为我们介绍数理逻辑学程培养方案与相关研学活动。同时,也请杨睿之老师来为同学们解答数理逻辑学习过程中的困惑。

本期嘉宾:杨睿之,北京大学哲学博士,复旦大学哲学学院副教授。主要研究领域为数理逻辑、数学哲学。代表作有《作为哲学的数理逻辑》、“结构主义是一种有效的数学哲学吗?”等。开设课程包括数理逻辑、集合论、递归论、证明论。


走进学程




请介绍一下数理逻辑学程,数理逻辑与其他逻辑学课程有什么关联呢?

数理逻辑学程首先是培养方案中面向本科生的多元发展路径之一。由于本科阶段没有一个专门的逻辑学专业或方向,同时逻辑学这门学科的性质又导致了它在某种意义上是一门交叉学科。与应用性的交叉学科不一样,它是一种我称之为“下交叉”的交叉学科,它同时是哲学、数学和计算机科学的基础。所以说要学好这门课,你可能会需要学习除了哲学基础课以外的一些课程,对来自于数学专业或者计算机专业学生一样,也需要学一些其他方向的课程。但是受限于国内高校的学科设置,很难在某个学科内提供一个完整的数理逻辑课程体系。我们考虑到这种情况,就试图来建立一个课程的套餐(package),这里面包括我们哲学系开的一些数理逻辑的核心课程,比如说数理逻辑、集合论、可计算性理论、模型论,也有数学系的数学分析原理、计算机系的计算复杂性等课程。

我们希望提供逻辑学专业的训练,对于学生需要学的那些课程,我们会提供一个完整的修读建议。同时,我们也希望这个方案是能够与学校整体的本科生培养体系兼容。恰逢学校推出了“2+X”的跨学科培养方案,可以说数理逻辑学程是最早的一个跨学科的学程。对于特别是来自于数学、哲学和计算机系的学生来说,他来选修数理逻辑学程可能需要付出的代价就不是那么大,因为哲学学院的学生本来就需要上数理逻辑,数学系的学生要上数学分析,计算系的学生要上计算机的课,他们只需要学其他院系另外那几门课就行了。所以它和学校已有的培养方案有较好的兼容性,相比以前的二专、辅修,对学生的修课的负担增加得不多。此外,学程的进出方式比较自由,选择数理逻辑学程的学生,需要按要求修读这些课程,但是如果修了一部分以后觉得自己不合适,那也可以按原来的专业培养方案修读,多学了一门数学课也可以当作任意选修类课程的学分。需要注意的是,数理逻辑是正式的本科学程,其学分可以作为“2+X”中“跨学科发展路径”来认定,但不选择跨学科发展路径的学生也可以通过修满学程要求的15分获得教务处颁发的学程证书。

每年报名参加数理逻辑学程的学生还是比较多的,他们基本上是来自于哲学系、数学系、计算机系,也有来自于历史学系、法律、保险、医学、自科等院系的学生。对于后面这些院系的学生,他们本专业没有这些课程修读要求,所以他们要学习的课程以及需要花费的精力相对多一点。但完成数理逻辑学程最少要求的15分相对以前的二专、辅修等并不算多。数理逻辑学程实际上是18年才开始的,2020年有第一届学生毕业。此后,每年实际毕业的学生并不算多,这也符合我们的预期,我们一开始设置的就是一个自由进出的方式。学生无论是否完成整个培养过程都能有所收获。

对于哲学学院想要选修数理逻辑学程的同学,我的建议是除了哲学学院的课程,可以尽早修一门数学系的数学分析或者计算机系的计算理论基础,然后再根据学程要求修读一些必要的课程。

我们有面向哲学学院的学生开设的数理逻辑和面向学程的数理逻辑。可能面向哲学学院学生的数理逻辑在节奏上会慢一些,但主要的内容差不了太多。对我们哲学系的学生来说,你可以选修面向哲学学院开放的《数理逻辑》,因为它同时也是大家的必修课。对于其他院系的学生,则建议选修专门面向学程开放的《数理逻辑》。

数理逻辑学程里的其他课程和我们的专业课基本上都是一样的。比如说《集合论》和《可计算性理论》都是科学哲学与逻辑学专业培养方案里的课程。如果你以后不想做“2+X”的跨学科培养方案了,选择科逻方向,那么这些课都是有用的,可以作为专业课。其他专业课程的选择也大体按照这个原则。

数理逻辑作为大一同学的必修课,有着怎样的教学方法与目标?

数理逻辑确实是比较接近于数学的一门课程。我想不只对哲学学院的学生来说,所有的本科生都应该有一个批判性思维或是独立思考的训练。在很多学科中有专门教批判性思维的课程,对于我们哲学学院的学生就是《数理逻辑》。在这门课中,我们可能不光是要教大家一些具体的方法或技巧,或者怎么进行所谓的批判性思维,也希望大家能了解这些方法技巧背后的原理。打个比方,就像几乎所有的理科生在大学都要学高等数学系列课程,学习怎么算微积分,但是数学系或者计算机系的学生,他们却不上高数,但要上《数学分析》。数学分析不光教你怎么算微积分,而是从定义和公理开始一步步推导,告诉我们能这么算背后的理由。所以《数理逻辑》这门课和面向普通大学生开设的逻辑学导论或批判性思维课程有类似的功能,教我们如何正确地阅读、思考和论证。但它同时也告诉你为什么是这样的,逻辑到底是什么。就像对数学系学生的要求不仅仅是会算,我认为对哲学专业的学生来说,不仅仅学习一些思维的窍门、规律,而是提出更高的一些要求是合理的。

当然《数理逻辑》本身也是一门课具有丰富哲学内涵的课程。现代逻辑被认为响应了莱布尼茨关于通用文字的设想。他试图用人工语言作为哲学的工作语言从而以计算的方式消除哲学上的各种争论。而现代逻辑实际起源于弗雷格等人为数学寻找基础的努力,之后逐渐演变成了我们教的一阶谓词逻辑。它的目的就是为数学寻找一个新的基础,也可以看作是莱布尼茨计划的第一步,所以“数理逻辑”的字面意思就是数学的逻辑。数理逻辑的另外一个理解就是用数学方法来研究逻辑本身。这个看起来像“自指”的现象,伴随着数理逻辑的学习过程会带来一些值得思考的哲学问题。总之,这门学科起源于关于数学哲学的思考。而关于数学基础的思考在哲学中具有十分重要的地位。因此,如果希望继续从事数学哲学、形而上学、知识论或者这些相关方向的研究,这是一门基础课。它至少扮演了以上两个角色。

在课程中,我们会通过证明定理和不断做题来训练同学们。做习题和批改、修正是数理逻辑教学中很重要的一环。我们希望同学们能保持一个从高中以来的学习习惯,就是不仅仅要看书,还要动手做题。通过这些练习,同学们也能够认识到自己哪些地方还没有完全搞明白。学哲学也是一样,要搞明白自己到底有没有搞明白是一件很难的事情。在阅读一篇文献的时候,很难确信自己是不是真的理解了,或者是否在思路上跟作者连接起来了。但是在数理逻辑里,通过做题可以比较容易地看清楚自己到底有没有弄懂。只要知道自己哪里没懂,再通过自己思考、问同学、问老师把它弄懂,就是比较容易的事了。这是我理解的做题非常重要的意义。这也是为什么数理逻辑可以作为一门大一的基础课,它在这个意义上难度较低。




研学活动





能否向大家介绍一下数理逻辑暑期学校?

复旦的数理逻辑暑期学校是数理逻辑学程的重要组成部分。我们每年暑假会请到这个领域最好的专家来为学生集中授课,使得学生能够在比较短的时间,从基础开始直接接触到研究的前沿。基本上的形式就是一周5天每天上午三个小时左右的讲座课,下午是习题研讨,一般会由助教来带领。学生们可就上午课上不清楚或者不懂的问题互相讨论。一般每次讲座课都会布置作业,学生也可以利用下午的时间就习题进行讨论。

数理逻辑暑期学校是面向全国甚至全世界招生的。不仅有复旦的学生,也有来自全国对数理逻辑方向非常感兴趣的优秀学生。我们希望建立一个非常良性的互相学习互相督促的学习氛围,大家一起在暑期学校课程中讨论学习。这两年由于疫情我们改到了线上,在一个空间中的学习氛围少了些,但招生的范围更广了,影响力也更大了。2020年我们的线上暑期学校有300多学生、学者注册参加,也方便了很多来自于欧美顶尖高校学生参与。

数理逻辑暑校之外,我们一般每个月会有数理逻辑研讨班,都是请这个领域非常优秀的、主要是年轻的专家来做报告。数理逻辑有很多方向,比如集合论、模型论、递归论,不同的学生可以根据他们的兴趣来选择听哪些报告。然后我们每年基本上会有一周的时间开展 “逻辑周”活动。这是一个推广逻辑学的活动,主要是请一些领域内著名专家来做一系列科普讲座,培养学生的兴趣。我们还有学生自己组织的讨论班。这学期就有本科生组织的范畴论研讨班。因为我们的课程设置有限的,所以这些学生自发组织的学习可以从深度和广度上加以补充。

能否简要介绍一下逻辑学方向最近的学术前沿?

复旦的逻辑学专业现在主要有两个方向:一个是数学基础、数学哲学,还有一个是模型论及其基础。

数学哲学的核心问题是:数学是关于什么的?它是客观的吗?以及如果集合论是数学的基础,而集合论又不是完全的理论,也就是说存在一些独立的命题不能被这些公理证明,也不能证否,那这些命题是否还有客观的真假?对这些问题的思考带动了很多集合论方面的研究。反过来集合论和数理逻辑其他方向的一些研究成果也给数学基础问题带来了新的证据或新的挑战。对这些问题的研究是一个方向。

还有一个方向是模型论。我理解模型论的主要工作是对好的一阶理论和坏的一阶理论进行分类。一些数学理论的模型类可能是非常复杂的,比如说算术理论,它的可数模型类的复杂程度可能是最坏的一种可能。给定一个公理系统,它会提供它的模型应当是何种模样的一个图景。但是如果即便有了这些公理,仍然有大量的相互不同的满足这些公理的模型。这似乎给了我们数学世界一片混沌、极其复杂和混乱的印象。但是也有一些理论不是如此,例如实闭域和其他一些我们熟悉的数学理论,它们只有一个或者很少的模型。这又显示出数学世界极强的秩序性。在模型论之中,我们需要考虑哪些理论更好;或者去证明这个理论仅有少数几类模型,从而来揭示数学中的秩序。

至于哪个理论更好的标准,如果我们希望一个理论作为数学的基础,那肯定希望理论越丰富越好。一般来说,我们喜欢算术和集合论的理论,甚至可能添加大基数公理,这样就能解释更多的数学现象。但这会导致这样的理论从某种意义上说是更复杂的。那么,在将简洁性作为标准的模式下,这就是坏的。因此,从不同的学科不同的研究角度看,就会存在不同的好的标准。


彩蛋问题


在教授《数理逻辑》课程时同学们是否会有畏难情绪?会怎样鼓励同学们?

《数理逻辑》在某种意义上不是那么难的一门学科。因为《数理逻辑》有这样一个性质:如果同学们有地方不懂,他会知道他不懂。这就意味着只要他花些精力仔细想想,就总是能知道他是从哪里开始不懂的。而只要他能定位第一个不懂的点,总是能把它搞懂的。他可以通过自己想、问同学、问助教或者问老师来实现。这是个递归的过程。一步步地,他就可以把数理逻辑全部搞定。由此,我证明了同学们一定是能学会数理逻辑的。所以,可以不用畏难。但这里没有设置时间和精力的限制。对同学来说,学好数理逻辑肯定是要花一些时间的,尤其是同学们可能一开始不习惯这套话语、这套严谨而别扭的说话方式,只有花一定的时间通过做题来慢慢适应。

这里,我鼓励大家选荣誉课,因为同样花精力下去,恐怕4个学分才能对得起用来学习的付出。可能有些同学会害怕《数理逻辑》的绩点太低,而4学分在加权平均占的比重太重了转而选择两学分的课。但是从实际的考虑来说,4学分的荣誉课程有40%的A,两学分的课程只有30%,这也就意味着越多的学生选了荣誉课程,就有越高比例的学生能够拿到A。

请老师谈谈课上讲的“数理逻辑是精神原子弹”?

我当时的想法是,同学们可能觉得《数理逻辑》很难,但大家是复旦的学生、是学哲学的。同学们以后会是整个社会最优秀的一批人。以后无论在什么样的岗位上,各位所要面对的会是真正有挑战性的问题。尤其在全球化之后,没有了隔离,全世界的人在同一个市场中竞争。能够做出有意义的工作会变得非常困难。而对于致力于从事哲学的同学(我注意到最近两届有接近60%的同学选择保研),你们面对的挑战会更严峻。这个世界正以惊人的速度丰富化、复杂化。想要有效地理解我们所处的这个世界,想要提供有意义的思考进而让这个世界变得更理想一点,恐怕不可能是一件轻松简单的事情。从柏拉图、亚里士多德到莱布尼茨、康德,哲学家都是他们的时代里最富智识的一些人。马克思如果不是他那个时代最优秀的经济学家,也至少对他所处时代的经济学了如指掌。很难想象一个人根本没有能力阅读进行着的物理学、生物学研究文献,搞不懂社会科学中基本的统计学方法,仅仅凭借着《科学美国人》、《华尔街日报》或者一些同行的介绍就能对当代自然科学、社会科学以及人类社会中真正存在的问题给出富有洞见的哲学思考。我比较担心的是,如果大家总是以所谓的文科生来为自己定位的话,可能会限制了自己的可能性。或许一看到符号公式比较多的书籍就放弃阅读了。人总是善于自我安慰的。从畏难到心安理得,到不以为然,反而觉得那些能够钻研的人匠气、格局小,这就扭曲了。

我希望《数理逻辑》这门课在下面这个意义上,能够成为大家的精神原子弹。大家会觉得《数理逻辑》这门课我都学下来了,我还有什么东西弄不懂的呢?事实上,这门课的确有相当的难度,也确实提供了很有效的训练。我本科学的也是哲学,四年没怎么学数学,读研以后才开始学数理逻辑。但是学了一些数理逻辑以后,我觉得就算自己去读其他的数学专业的东西,无论是分析、代数还是拓扑,都不会觉得太吃力。数理逻辑的学习对我来说是一个很重要的信心支撑,事实上也提供了必要的训练,在这个意义上我理解它是一个精神原子弹。以后无论多难的东西,都至少有勇气去读去学习。

老师在教授数理逻辑课程中有什么有趣的事或者感想?


跟大家聊一个比较难堪的话题——“挂黑板”。同学们看到老师讲课的时候也会“挂黑板”。有的证明我自以为很熟了,但其实忘了一些细节,课上证明的时候一时想不起来,就会被“挂”。此外,我们数理逻辑课有习题课。习题课上会挑选我们觉得作业做得比较优秀的学生来给大家讲解。从批好作业安排同学讲习题课到习题课正式讲题之间的时间较短,可能来不及做什么准备。有时候同学会忘记自己作业中的一些细节,具体讲得时候又比较紧张,有的地方卡住了,就会“挂黑板”。

我想至少可以从两个方面看“挂黑板”,作为自我安慰吧。

首先,“挂黑板”这个现象至少在两个意义上体现逻辑是客观的。在我们数理逻辑的课堂上“挂”了就是“挂”了,一个证明哪里过不去就是过不去。逻辑漏洞就在那里,全班人都看着,圆是圆不过去的。在这个意义上我们会说逻辑这个东西是人人都有的,或者说所有人都有这个潜质来理解逻辑,所以我们才会形成这样一个主体间性的共识。另一方面,“挂黑板”现象提示人关于逻辑的把握是会犯错的,这也是逻辑是客观的而不是我们创造出来的一个证据。我们对客观的东西的认识是会犯错的,所以需要训练,这也是我们为什么要学习数理逻辑。所以,“挂黑板”无非是进一步揭示了上述事实,这么想也就没什么了。

此外,“挂黑板”也是一个训练,训练我们在“挂黑板”的时候仍然能进行有效的思考。我刚做老师的时候,“挂黑板”了就会非常紧张,面红耳赤没法思考了。但“挂”多了也就“皮”了。现在也能够在“挂”的时候正常思考,有时候会想出一个跟往年课上讲的不同的证法,对我来说这就是上课的一种收获。对同学们来说,这种训练是非常必要的。以后从事很多工作都无法避免作presentation。相比事先充分的准备,原文背诵,能够在讲的时候持续思考、根据情况实时调整是更高阶的能力。

采访丨张鹏霄 杨铭燕

文稿丨张鹏霄 杨铭燕