离散数学第一章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数理逻辑的五大分支
1. 逻辑演算 2. 公理集合论 3. 证明论 4. 递归论 5. 模型论
逻辑演算
我们称命题逻辑和一阶逻辑为经典逻辑, 或标准逻辑。从上世纪四十年代开始,逻辑学不 仅与数学相互渗透与结合,而且也与社会科学、 自然科学和技术相互渗透与结合。人们扩充和改 造经典的一阶逻辑,用数学方法发展了形形色色 的非标准逻辑。
布尔的贡献在于,他在逻辑史上首先提出了一个 逻辑演算,部分实现了莱布尼兹的设想。经过许 多数学家的改进,今天的布尔代数已发展成为一 个具有广泛应用的丰富的代数理论。 英国逻辑学家德摩根 (De Morgan) 提出了论 域的概念,明确指出了关系对于推理的重要性, 研究了关系的种类和性质。
德国逻辑学家、数学家弗雷格 ( Frege) 首先 引入和使用了量词和约束变元,构造了一个初步 自足的一阶谓词演算系统。这是历史上笫一个关 于逻辑规律的严格的公理系统。这个公理系统还 有某些缺点,例如其中的某些公理可由其他公理 推出,某些推理规则表述不够严格。 意大利逻辑学家、数学家皮亚诺 (Peano) 创 立了一套表意的符号语言,他提出的关于自然 数的五个公理一直沿用至今。
德国数学家希尔伯特 (Hilbert) 和阿克曼 (Ackerman) 在他们合著的《理论逻辑基础》中给 出了一个完全严格的一阶谓词演算系统。 1921 年美国逻辑学家波斯特 (Post) 证明了 命题演算系统的完备性。1929 年奥地利逻辑学 家哥德尔 (Gödel) 证明了一阶谓词演算系统的完 备性。上世纪三十年代波兰逻辑学家塔斯基 (Tarski) 用归纳法明确表述了一阶公式的语义。
对一个程序来说,如何验证它的正确性呢? 目前一般采取调试的方法,即给程序某些输入信 息进行试算,检查输出信息是否正确。由于调试 只能对少数输入信息进行,因而有很大的局限性, 只能帮助人们发现程序中的错误,却不能保证程 序没有错误。因此,人们试图通过另一些途径, 即形式化的方法从理论上研究程序的正确性。 一段程序是正确的,是指这段程序能准确无 误地完成编写者所期望赋于它的功能。或者说, 对任何允许的输入信息,程序执行后能得到正确 的输出信息。在研究程序正确性证明时,我们将 程序的输入信息和输出信息应该满足的条件分别 称为输入断言和输出断言。
莱布尼兹只是进行了一些初步的尝试,并没 有能够实现他的关于通用符号语言和通用代数的 设想,但是数理逻辑却是沿着他的设想的精神发 展起来的,因此人们公认他为数理逻辑的创始人。 布尔构造了一个抽象的代数系统,并且给 予它多种解释,如类的演算、命题演算、概率 演算。当然,布尔所提出的演算很不成熟,演算 的某些公式没有逻辑解释。
模型论
模型论是研究形式语言及其解释之间关系的 理论。虽然模型论的某些重要定理早在上世纪二 十年代就已经出现,如紧致性定理、洛文海姆斯科伦定理,但直到五十年代以后模型论才逐渐 形成一门独立的学科。用模型论方法可以解决数 学中的某些问题。模型论在计算机科学和人工智 能中也有重要应用,如在计算机程序设计语言的 语义研究、数据类型理论研究和非单调推理研究 中,都广泛应用模型论的概念和方法。
上世纪二十年代希尔伯特提出了用有穷方法 直接证明数学理论的协调性(即无矛盾性)的方 案。希尔伯特把数学理论本身作为研究对象,称 其为对象理论,把作为研究工具的理论称为元理 论。因此,这种研究被叫做元数学,也被称为证 明论。希尔伯特被公认为证明论的创始人。
1929年,23岁的哥德尔证明了一阶逻辑的完 备性。并在第二年证明了划时代的哥德尔不完全 性定理:自然数理论是不完全的:存在自然数理 论不能证明的真的数论命题。并由此得出,如果 自然数理论是无矛盾的,则其无矛盾性在自然数 理论本身中不可证,需要更强的数学理论才能证 明,而更强的数学理论是否是无矛盾的,则需要 更更强的数学理论才能证明… 这说明用逻辑方法一劳永逸地解决数学的无 矛盾性问题是不可能的,宣告了希尔伯特规划是 行不通的。
例如,用于计算机科学和人工智能的程 序逻辑、算法逻辑、直觉主义逻辑、动态逻辑、 知道逻辑、模糊逻辑、内涵逻辑、时态逻辑、 模态逻辑、三值逻辑、非单调逻辑等,用于物 理学的量子逻辑,用于社会科学的道义逻辑、 认识论逻辑、优先逻辑等。
公理集合论
德国数学家康托 (Cantor) 于19世纪70年代创 立了集合论,提出了以一一对应作为集合的分类 标准,并给出了基数和序数的概念。
乔治·布尔(George Boole,1815~1864),1815年生于英格兰。19世纪最重要的数学家 之一,出版了《The Mathematical Analysis of Logic》,这是他对符号逻辑诸多贡献中的第一 次。1854年,他出版了《The Laws of Thought》,这是他最著名的著作。在这本书中布尔介 绍了现在以他的名字命名的布尔代数。
连续统假设又被称为希尔伯特第一问题,在1900 年第二届国际数学家大会上,大卫·希尔伯特把康托尔 的连续统假设列入20世纪有待解决的23个重要数学问 题之首。
证明论
实数理论是分析的基础,可以用有理数定义 实数,可以用自然数定义有理数,可以用集合定 义自然数。整个数学都可以化归为集合论。只要 集合论是无矛盾的,整个数学就是无矛盾的。 不幸的是,罗素于1901年发现了罗素悖论, 说明康托尔集合论并不可靠。于是,人们提出了 公理集合论。在公理集合论中克服了罗素悖论以 及当时发现的另外一些悖论,但是会不会引起新 的悖论呢?
都选择一个元素和其所在的集合配成有序对来组成一个新的集合。
康托提出假设:实数集合的基数是比自然 数集合的基数大的最小基数,这就是著名的连 续统假设(continuum hypothesis)。哥德尔于 1938年证明了连续统假设和选择公理相对于 ZFC 系统是协调的(不相互矛盾)。美国数学 家科恩 (Cohn) 于1963年证明了连续统假设独立 于 ZFC 系统,即在 ZFC 系统中证明不了连续统 假设正确与否。
开始 (y2, y1) (x1, 0)
A
T y2 x2 F (z1, z2 ) (y1, y2 ) 结束
(y2, y1) (y2 x2, y1 + 1)
输入断言 : x1 0 且 x2 > 0 输出断言 : x1 = z1 x2 + z2 且 0 z2 < x2 在 A 点:x1 = y1 x2 + y2 且 y2 0(循环不变式)
早在1936年英国数理逻辑学家图灵就从理论 上证明了可以设计出存储程序式计算机,这比世 界上第一台电子计算机的诞生早了十年。推理与 计算是相通的,计算是受控制的推理。因此,逻 辑中的不少成果可以用于计算机科学。 例如,PROLOG 语言就以一阶逻辑为基础。 在程序验证、程序变换、程序综合、软件形式说 明、程序设计语言的形式语义学、人工智能等方 面,都大量地应用数理逻辑的概念、方法和理论。 同时,计算机科学的发展也向数理逻辑提出 了大量新的问题,促进了数理逻辑的繁荣。
康托集合论把集合看作由具有某种性质的对象构 成的整体,这导至了1901年罗素发现的如下悖论 (罗素悖论):
如果令集合 S = {x | x x},那么 SS ? 1. 若 SS ,因而 SS 。 2. 若 SS ,因而 SS 。 为了克服悖论,策梅罗 (Zermelo) 提出了一 个集合论的公理系统,并经弗兰克尔 (Fraenkel) 及斯科伦(Skolem) 等人的改进,最终得到了一个 比较完善的公理系统(称为 ZF 系统),排除了 罗素悖论以及当时发现的另外一些已知的悖论。 如果再增加选择公理, ZF 系统就成为 ZFC 系统。 设C为一个由非空集合所组成的集合。那么,我们可以从每一个在C中的集合中,
完备性也称完全性,可以从不同的角度来精确描述这个定义,所以在不同领域,“完备”有 不同含义,如代数闭域(algebraically closed field)、紧化(compactification)。在数理逻辑中,一 个理论(theory)被称为完备的,如果对于其语言(language)中的任何一个句子(sentence)S,这 个理论包括且仅包括S或S之逆。一个系统是兼容的,如果不存在同时P和非P的证明。
弗雷格发展的逻辑演算系统没有引起广泛 的注意,影响深远的是英国逻辑学家、哲学家 罗素 (Russell) 和英国数学家怀特海 (Whitehead) 在他们合著的《数学原理》中给出的系统。在 《数学原理》中,他们建立了完备的命题演算 系统和谓词演算系统。在《数学原理》中未对 推理规则作出明确的陈述,这主要是因为当时还 未对对象语言和元语言作出明确的区分。
递归论
递归论又叫做能行性理论,主要讨论关于能 行可计算性和能行可判定性的问题。能行可计算 函数是用理想计算机(要求计算机有任意足够大 的内存并可计算任意足够长的时间)可计算的函 数。能行可判定问题是用理想计算机可在有穷长 时间内给出答案的问题。要证明一个问题是可判 定的,只需给出解答它的算法即可。而要证明一 个问题不是可判定的,即不存在解答它的算法, 却需要将理想计算机的概念精确化。
致 谢
衷心感谢 尹宝林老师、和 何自强老师的支持与帮助!
第一次课课件
什么是逻辑学Hale Waihona Puke Baidu数理逻辑
逻辑学是研究推理的科学,数理逻辑是数 学化的逻辑学,是用数学方法研究推理的科学。 古希腊的亚里士多德 (Aristotle) 等人于两千多 年前创立了古典形式逻辑,也称为传统逻辑。 传统逻辑的不足:用自然语言加少量符号 表述命题,不严格,常有二义性,并且没有包 括所有的正确推理形式。 为弥补传统逻辑的不足,德国数学家、哲学 家莱布尼兹 (Leibniz) 于十七世纪中叶明确地提 出了建立通用的符号语言和通用代数的思想。
如果对于满足输入断言 的所有输入信息, 只要程序 S 终止,输出信息就满足输出断言 , 就称 S关于 和 是部分正确的。部分正确性只 保证不输出错误的信息,不能保证程序终止。 如果对于满足输入断言 的所有输入信息, 程序 S都终止,就称 S 关于 终止。 如果程序 S 关于 和 是部分正确的,并且 S 关于 终止,就称 S 关于 和 是完全正确的。 完全正确性保证程序总是终止的,并且输出总是 正确的。
Cantor,Georg ,集合论创始人。生于俄国列宁格勒(今俄罗斯圣彼得堡)。父亲是犹太 血统的丹麦商人,母亲出身艺术世家。1862年入苏黎世大学学工,翌年转入柏林大学攻读数 学和神学,受教于Kummer、Weierstrass和Kronecker。康托尔爱好广泛,极有个性,终身 信奉宗教。早期在数学方面的兴趣是数论,1870年开始研究三角级数并由此导致19世纪末、 20世纪初最伟大的数学成就——集合论和超穷数理论的建立。
在现代电子计算机还未出现的上世纪三十 年代,丘奇 ( Church ) 提出了 可定义函数的概 念,图灵 ( Turing ) 提出了一种被称为图灵机的 理想计算机,赫布兰德 (Herbrand)、哥德尔、克 林 (Kleene) 提出了一般递归函数的概念。人们 证明了, 可定义函数、图灵机可计算函数、一 般递归函数的概念是等价的。 因此,人们把它们作为能行可计算函数的 精确数学定义,这就是著名的丘奇-图灵论题: 任何在算法上能够有效计算的问题同样可由图 灵机计算。其中的前提假设--“能够有效计算”是一个模糊的定义--在某种意义上是
不甚明确的直觉结果。所以,该论题依然是一个假想。尽管邱奇-图灵论题不能被证明,到目前 为止它仍然受到近乎全面的接受。
后来,人们又提出了几十种计算模型,并且 证明了它们都是与上述三种计算模型等价的。 利用能行可计算性的上述形式定义,人们证 明了某些问题不是能行可判定的,例如,图灵机 的停机问题、一阶逻辑公式的逻辑有效性问题、 波斯特对应问题等都不是能行可判定的。递归论 研究不可判定问题的分类,将自然数上的递归推 广到任意序数以及某些数学结构上的递归。对于 可计算函数分类的研究导致产生了计算复杂性理 论,这是理论计算机科学的一个分支。