数理逻辑的推理及形式证明;_第1页
数理逻辑的推理及形式证明;_第2页
数理逻辑的推理及形式证明;_第3页
数理逻辑的推理及形式证明;_第4页
数理逻辑的推理及形式证明;_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一讲引言一、课程内容数理逻辑:是计算机科学的基础,应熟练掌握将现实生活中的条件化成逻辑公式,并能做适当的推理,这对程序设计等课程是极有用处的。集合论:数学的基础,对于学习程序设计、数据结构、编译原理等几乎所有计算机专业课程和数学课程都很有用处。熟练掌握有关集合、函数、关系等基本概念。代数结构:对于抽象数据类型、形式语义的研究很有用处。培养数学思维,将以前学过的知识系统化、形式化和抽象化。熟练掌握有关代数系统的基本概念,以及群、环、域等代数结构的基本知识。图论:对于解决许多实际问题很有用处,对于学习数据结构、编译原理课程也很有帮助。要求掌握有关图、树的基本概念,以及如何将图论用于实际问题的解决

2、,并培养其使用数学工具建立模型的思维方式。讲课时间为两个学期,第一学期讲授数理逻辑与集合论,第二学期讲授代数结构和图论。考试内容限于书中的内容和难度,但讲课内容不限于书中的内容和难度。二、数理逻辑发展史1.目的了解有关的背景,加深对计算机学科的全面了解,特别是理论方面的了解,而不限于将计算机看成是一门技术或工程性的学科。通过重要的历史事件,了解计算机科学中的一些基本思维方式和一些基本问题。2.数理逻辑的发展前期前史时期古典形式逻辑时期:亚里斯多德的直言三段论理论初创时期逻辑代数时期(17世纪末)资本主义生产力大发展,自然科学取得了长足的进步,数学在认识自然、发展技术方面起到了相当重要的作用。人

3、们希望使用数学的方法来研究思维,把思维过程转换为数学的计算。莱布尼兹(leibniz, 16461716)完善三段论,提出了建立数理逻辑或者说理性演算的思想:提出将推理的正确性化归于计算,这种演算能使人们的推理不依赖于对推理过程中的命题的含义内容的思考,将推理的规则变为演算的规则。使用一种符号语言来代替自然语言对演算进行描述,将符号的形式和其含义分开。使得演算从很大程度上取决与符号的组合规律,而与其含义无关。布尔(g. boole, 18151864)代数:将有关数学运算的研究的代数系统推广到逻辑领域,布尔代数既是一种代数系统,也是一种逻辑演算。3.数理逻辑的奠基时期弗雷格(g. frege,

4、 18481925):概念语言一种按算术的公式语言构成的纯思维公式语言(1879)的出版标志着数理逻辑的基础部分命题演算和谓词演算的正式建立。皮亚诺(giuseppe peano, 18581932):用一种新的方法陈述的算术原理(1889)提出了自然数算术的一个公理系统。罗素(bertrand russell, 18721970):数学原理(与怀特黑合著,1910, 1912, 1913)从命题演算和谓词演算开始,然后通过一元和二元命题函项定义了类和关系的概念,建立了抽象的类演算和关系演算。由此出发,在类型论的基础上用连续定义和证明的方式引出了数学(主要是算术)中的主要概念和定理。逻辑演算的

5、发展:甘岑(g. gentzen)的自然推理系统(natural deduction system),逻辑演算的元理论:公理的独立性、一致性、完全性等。各种各样的非经典逻辑的发展:路易斯(lewis, 18831964)的模态逻辑,实质蕴涵怪论和严格蕴涵、相干逻辑等,卢卡西维茨的多值逻辑等。4. 集合论的发展看待无穷集合的两种观点:实无穷与潜无穷康托尔(g. cantor, 18451918):以实无穷的思想为指导,建立了朴素集合论外延原则(集合由它的元素决定)和概括原则(每一性质产生一集合)。可数集和不可数集,确定无穷集合的本质在于集合本身能与其子集一一对应。能与正整数集合对应的集合是可数的

6、,否则是不可数的。证明了有理数集是可数的,使用对角线法证明了实数集合是不可数的。超穷基数和超穷序数朴素集合论的悖论:罗素悖论公理集合论的建立:zfc系统6.第三次数学危机与逻辑主义、直觉主义与形式主义集合论的悖论使得人们觉得数学产生了第三次危机,提出了数学的基础到底是什么这样的问题。罗素等的逻辑主义:数学的基础是逻辑,倡导一切数学可从逻辑符号推出,数学原理一书是他们这一思想的体现。为解决悖论产生了逻辑类型论。布劳维尔(brouwer, 18811966)的直觉主义:数学是心灵的构造,只承认可构造的数学,强调构造的能行性,与计算机科学有重要的联系。坚持潜无穷,强调排中律不能用于无穷集合。海丁(h

7、eyting)的直觉主义逻辑。希尔伯特(d. hilbert)的形式主义:公理化方法与形式化方法,元数学和证明论,提倡将逻辑演算和数学证明本身形式化,把用普通的语言传达的内容上的数学科学变为用数学符号和逻辑符号按一定法则排列的一堆公式。为了消除悖论,要数学建立在公理化基础上,将各门数学形式化,构成形式系统,并证明其一致性,这是希尔伯特的数学纲领。7.数理逻辑的发展初期哥德尔(godel, 19061978)不完全性定理:一个足够强大的形式系统,如果是一致的则不是完全的,即有的判断在其中是不可证的,既不能断定其为假,也不能证明其为真。各种计算模型:哥德尔的递归函数理论,邱吉尔的l演算,图灵机模型

8、这些计算模型是计算机科学的理论基础,是计算机的理论模型。三、预备知识1.集合的基本概念集合(set):集合是数学中最基本的概念之一,不能以更简单的概念来定义(define),只能给出它的描述(description)。一些对象的整体就称为一个集合,这个整体的每个对象称为该集合的一个元素(member或element)。用大写字母a, b, c等表示集合,用小写字母a, b, c等表示集合的元素aa表示:a是集合a的元素,或说a属于集合aaa表示:a不是集合a的元素,或说a不属于集合a集合中的元素是无序的,不重复的。通常使用两种方法来给出一个集合:列元素法:列出某集合的所有元素,如:a = 0,

9、 1, 2, 3, 4, 5, 6, 7, 8, 9表示所有小于10的自然数所构成的集合b = a, b, , z 表示所有小写英文字母所构成的集合性质概括法:使用某个性质来概括集合中的元素,如:a = n | n 是小于10的自然数c = n | n 是质数 表示所有质数所构成的集合集合由它的元素所决定,换句话说,两个集合a和b相等,记为a = b,如果a和b具有相同的元素,即a属于集合a当且仅当a属于集合b。子集(subset):说集合a是集合b的子集,记为ab,如果a属于集合a则a也属于集合b。因此a=b当且仅当ab且ba。说集合a是集合b的真子集(proper subset),如果ab

10、且a不等于b(a b)。空集(empty set):约定存在一个没有任何元素的集合,称为空集,记为f,有时也用来表示。按子集的定义,空集是任何集合的子集(为什么?)。幂集(power set):集合a的幂集,记为p(a),是a的所有子集所构成的集合,即:p(a) = b | b a 例如,a = 0, 1,则p(a) = , 0, 1, 0, 1 显然,对任意集合a,有f p(a)和ap(a)补集(complement set):集合a的补集,记为a,是那些不属于集合a的元素所构成的集合,即a = x | xa。通常来说,是在存在一个全集u的情况下讨论集合的补集。全集u是所讨论的问题域中所有元

11、素所构成的集合。集合的并(union):集合a和b的并ab定义为:ab = x | xa或者xb,集合的并可推广到多个集合,设a1, a2, , an都是集合,它们的并定义为:a1a2an = x | 存在某个i,使得xai集合的交(intersection):集合a和b的并ab定义为:ab = x | xa而且xb,集合的交也可推广到多个集合,设a1, a2, , an都是集合,它们的交定义为:a1a2an = x | 对所有的i,都有xai集合的差(difference):集合a和b的差a-b定义为:a-b = x | xa而且xb。2.关系和函数的基本概念有序对(ordered pair

12、):设a和b是两个集合,aa, bb是两个元素,a和b的有序对,记为,定义为集合a, a, b。设和是两个有序对,可以证明 = 当且仅当a1 = a2且b1 = b2。(如何证?)有序对可推广到n个元素,设a1, a2, , an是集合,a1a1, a2a2, , anan是元素,定义有序n元组(ordered n-tuple)为, an,注意这是一个归纳(inductive)定义,将有序n元组的定义归结为有序n-1元组的定义。显然有 = 当且仅当a1 = b1且a2 = b2且且an = bn。集合的笛卡尔积(cartesian product):两个集合a和b的笛卡尔积ab定义为:ab =

13、 | aa且bb例如,设a = a, b, c,b = 1, 2,则:ab = , , , , , 笛卡尔积可推广到多个集合的情况,集合a1, a2, , an的笛卡尔积定义为:a1a2an = | a1a1且a2a2且且anan集合之间的关系(relation):定义n个集合a1, a2, , an之间的一个n元关系r为集合a1, a2, , an的笛卡尔积a1a2an的一个子集。设a1a2an,若r,则称a1, a2, , an间具有关系r,否则称它们不具有关系r。特别地:当a1 = a2 = = an = a时,称r为a上的n元关系。当n = 2时,有ra1a2,称r为a1与a2间的一个

14、二元关系(binary relation)。这时若r则简记为a1ra2,否则(即r)记为a1ra2。通常研究得最多的是二元关系,n元关系的许多性质可从二元关系的性质扩充而得到。如果没有特别指明的话,说r是一个关系则是指r是一个二元关系。当n = 1时,这时可认为r是集合a上满足某种性质的子集。关系的一些性质:设r是a上的二元关系:说r是自反的(reflexive),如果对任意的aa有ara。说r是反自反的(irreflexive),如果对任意的aa有ara。说r是对称的(symmetric),如果对任意的a, ba有若arb则bra。 说r是反对称的(antisymmetric),如果对任意的

15、a, ba有若arb且bra则a = b。说r是传递的(transitive),如果对任意的a, b, c a有若arb且brc则arc。说r是等价关系(equivalence),如果r是自反的、对称的和传递的。集合之间的函数(function,或说映射mapping):定义集合a到b的函数f是a和b的笛卡尔积ab的一个子集,且满足若f及f则y = z。因此函数是a和b之间的一个特殊的二元关系。通常记集合a到b的函数f为f : ab。函数f : ab的定义域(domain)dom(f )定义为:dom(f ) = x | 存在某个yb使得f 函数f : ab的值域(range)ran(f )定

16、义为:ran(f ) = y | 存在某个xa使得f 若f,通常记y为f(x),并称y为x在函数f下的像(image),x为y在函数f下的原像。函数也可推广到n元的情形:f : a1a2anb,意味着:f是a1a2anb的一个子集,且 f且 f则y = z。函数的一些性质:设f : ab是集合a到b的函数:说f是全函数(total function),若dom(f )=a,否则称f是偏函数(partial function)。下面如果没有特别指明的话,都是指全函数。说f是满射(surjection, 或说f maps a onto b),如果ran(f ) = b,即对任意的yb都有原像。说f

17、是单射(injection,或说f is one-one),如果有f (x1) = f(x2)则x1 = x2,即对任意的yb,如果它有原像的话,则有唯一的原像。说f是双射(bijection,或说f是一一对应),如果f既是满射,又是单射,即对任意的yb,都有唯一的原像,同样根据全函数的定义,对于任意xa都有唯一的像。这时可以定义f的逆函数(inverse function),记为f -1 : ba,f -1(y) = x当且仅当f(x) = y。显然f -1也是双射。集合的基数(cardinal number)或说势:集合a的基数记为|a|,且有:对于有限集合a,令a的基数为a中元素的个数。

18、定义无限集合,不直接定义基数,而是通过定义两个集合之间的等势关系来刻划集合的基数或势,说集合a和集合b是等势的(equipotent),如果存在一个从a到b的双射。根据双射的性质,可以证明等势是集合上的一个等价关系。称与自然数集等势的集合为可列集(enumerable),有限集和可列集统称为可数集(countable)。设a和b是有限集合,有|p(a)| = 2|a|,|ab| = |a| |b|。3.小结下面以树的形式给出了以上主要概念之间的关系: 集合 子集 集合的补、并、交、差 有序对 幂集 笛卡尔积 关系 关系的自反、对称、传递性 函数 单射、满射、双射4.归纳定义和归纳证明一个集合的

19、归纳定义(inductive definition)通常分为三步:归纳基:一些基本的元素属于该集合;归纳步:定义一些规则(或者说操作),从该集合中已有的元素来生成该集合的新的元素;最小化:该集合中的所有元素都是通过基本元素以及所定义的规则生成的,换句话说,该集合是由基本元素及规则所生成的最小的集合。自然数集n的归纳定义:1.归纳基:0是一个自然数,即0 n。2.归纳步:若n是自然数,则n的后继也是自然数。记n的后继为succ(n),即若nn,则succ(n)n。为方便起见,后面也记n的后继为n+1。3.最小化:所有的自然都通过步骤1和2得到,或者说自然数集是通过步骤1和2得到的最小集合。这种定

20、义方式可推广到对其他一些概念的定义,例如上述多个集合的并、交、笛卡尔积以及多个元素的有序n元组都可通过递归的方式定义。例如,对于多个集合的并可定义为:归纳基:a1a2 = x | xa1或者xa2归纳步:a1a2an = (a1a2an-1) an这里不需要最小化,因为这里不是定义集合。数学归纳法:关于自然数的许多性质都可通过数学归纳法来证明,对于性质r,如果它对0成立,而且如果对于n成立的话,能够得到它对于n+1也成立,那么性质r对所有的自然数成立。这种证明方法的正确性本身可通过自然数的归纳定义来得到证明:定义集合s = nn | 性质r对n成立归纳基:根据上面的定义有0s归纳步:根据上面的

21、定义有如果ns,则n+1s,所以s是满足上面自然数集的归纳定义中的1、2点的一个集合,而自然数集n是满足这两点的最小集合,所以有n s,而显然有sn,所以s = n。数学归纳法举例:使用数学归纳法证明1 + 2 + + n = (n * (n+1)/2归纳基:当n = 0时显然成立。归纳步:如果对于n成立,则有1 + 2 + + n = (n * (n+1)/2(这称为归纳假设),现在要证对于n+1也成立。显然有:1 + 2 + + n + (n + 1) = (n * (n+1)/2 + (n+1) / 根据归纳假设= (n * (n+1) + 2 * (n+1)/2 = (n+1) * (

22、n+1) + 1)/2因此要证的公式对于n+1成立,所以对于所有的自然数成立。显然在数学归纳法中,对于归纳基改为r对于自然数k成立,归纳步不变的话,则可证明r对于所有大于k的自然数都成立。在数学归纳法中,也可将归纳步改为如果r对于所有小于n的自然数成立,则推出r对于n也成立,即归纳步是假设对于所有小于n的自然数性质r成立来导出性质r对于自然数n成立。这种形式的数学归纳法通常称为第二数学归纳法。5.形式系统形式系统的定义:一个形式系统s由下列4个集合构成:一个非空集合ss,称为形式系统s的字母表或说符号(symbol)表;一个由ss中字母的有限序列(字符串)所构成的集合fs,称为形式系统s的公式

23、(formula)集;从fs中选取一个子集as,称为形式系统s的公理(axiom)集;fs上有一个部分函数集rs = rn | rn : fs fs fs fs , n = 1, 2, ,称为形式系统s的规则(rule)集,其中rn : fs fs fs fs是n元的部分函数,我们称其为n元规则。形式系统中的定理(theorem):归纳基:t as 是形式系统s中的定理。 归纳步:t1, t2, , tn是形式系统s中的定理,而rn是s中的规则,那么rn(t1, t2, , tn)也是形式系统s中的定理。对于形式系统中的规则rn : fs fs fs fs,通常表示成下面的形式:t1, t2,

24、 , tnrn(t1, t2, , tn)形式系统具有两个特征:形式化实际上是一个可机械实现的过程,在它里面,符号、规则和演算等被表示得严密、精确。在形式系统s中,只能使用字母表ss中的符号,只承认公式集fs中的符号串的合理性,只能由公理集,根据规则推出有意义的东西来。形式系统一旦完成,就成了符号串及根据规则进行的符号串的改写,系统与一切实际意义就毫不相干,或者说已经通过这种符号,从实际问题中抽象出了我们所需要研究的内容。在形式系统内部,所能认识的只能是符号串及其改写,只能在形式系统外对这种符号串及规则赋予意义。对象语言(object language)与元语言(meta language):

25、数理逻辑所研究的是“数学推理”,而使用的方法也是数学推理,所以有必要区分这两个层次的推理。把作为研究对象的“推理”形式化,使用形式语言来表示作为研究对象的“推理”的前提、结论和规则等,这种形式语言是我们所研究的对象语言。另一方面,关于形式系统的性质、规律的表达和作为研究方面的推理方式使用另一种语言来表达,这个语言称为研究的元语言,通常使用半数学化的自然语言。形式语言的语法(syntax)与语义(semantic):形式语言的语法是构成形式系统的公式集、公理集和规则集的法则。形式语言的语义是关于形式系统的解释和意思。形式语言本身没有含义,但我们在构造它们时是假想它们能代表某种意义的,特别的当我们

26、在选择形式系统的公理时,总是选择所研究的问题域中那些最为明显或最容易公认为正确的性质。6.习题1.令集合a = n | n 10且n 是奇数,b = n | n 10且n是素数,请回答下列问题:a)请用列元素的方法列出集合a和集合b,请问集合b是否是集合a的子集?b)请计算ab、ab、a-b、ab以及p(a)(即a的幂集)。2.设关系r = | a和b是互质的自然数,请问r是自反的吗?对称的吗?传递的吗?为什么?3.设f : ab是函数,r是a上的如下二元关系:r = | a, ba, f (a) = f (b) ,证明r是a上的一个等价关系。4.使用数学归纳法证明:12 + 22 + 32

27、+ + n2 = (n * (n + 1) * (2n + 1) / 65.设有函数f : nn n,f(n) = ,请问f是不是单射、满射或双射?*6.设r1和r2都是a上的等价关系,请问r1r2和r1r2是否还是a上的等价关系?如果是请证明,否则请举一反例。*7.设r是集合a上的等价关系,aa,可定义:a)a = ba | arb ,称a为a关于r的等价类;b)a/r = a | aa,称a关于r的商集。设函数f : aa/r定义为对任意aa有f(a) = a,请问r满足怎样的条件时f是单射?*8请给出的集合方式的定义。若定义:x, y, z = x, x, y, x, y, z,则如果有

28、x1, y1, z1 = x2, y2, z2是否意味着有x1 = x2且y1 = y2且z1 = z2?51第二讲数理逻辑一、命题逻辑(propositional logic)1.内容概述简单命题与复合命题:什么是命题?命题联结词及其含义。命题公式与赋值:命题逻辑公式的归纳定义,命题公式的真值表。等值演算:命题公式的等值赋值,重要的等值式。命题联结词的完备集:通过等值演算得到命题联结词的完备集和极小完备集。命题公式的范式:析取范式与合取范式。命题演算系统:使用命题逻辑公式进行推理的形式系统。命题演算系统的语义与命题演算系统的元性质:注意区别形式系统的语法和语义。2.简单命题与复合命题命题(p

29、roposition):经典命题逻辑中,称能判断真假但不能既真又假的陈述句为命题。命题对于命题逻辑来说是一个原始的概念,不能在命题逻辑的范围内给出它的精确定义,只能描述它的性质。命题必须为陈述句,不能为疑问句、祈使句、感叹句等,例如下述句子为命题:1.3 是有理数2.8小于103.2是素数4.乌鸦是黑色的下列句子不是命题:1.这个小男孩多勇敢啊!2.乌鸦是黑色的吗?3.但愿中国队能取胜。4.请把门开一开!下列句子不可能判断其为真或为假,所以也不是命题:1.x + y 102.我正在撒谎命题必须具有真假值,从某种意义上来说,疑问句、祈使句、感叹句没有真假之分。但能判断真假,并不意味着现在就能确定

30、其是真还是假,只要它具有能够唯一确定的真假值即可,例如下述陈述句是命题:1.明年的中秋节的晚上是晴天2.地球外的星球上存在生物3.21世纪末,人类将居住在太空4.哥德巴赫猜想是正确的经典命题逻辑不区分现在已确定为真,还是将来可能确定为真这种情况,处理与时间有关的真值问题是时态逻辑的任务。经典命题逻辑也不区分是在技术上可以确定为真,还是现在的技术条件下不可以确定为真的这种情况,只承认在技术上,或者说能给出某种方法确定为真的那些东西才为真是直觉逻辑的观点。真命题和假命题:命题是为真或为假的陈述句,称这种真假的结果为命题的真值。如果命题的真值为真,则称为真命题,否则称为假命题。命题常量与命题变量:使

31、用符号来表示命题,通常用p, q或带下标来表示命题常量或者变量。如果命题符号p代表命题常量则意味它是某个具体命题的符号化,如果p代表命题变量则意味着它可指代任何具体命题。如果没有特别指明,通常来说命题符号p等是命题变量,即可指代任何命题。简单命题与复合命题:不能分成更简单的陈述句的命题为简单命题或原子命题,否则称为复合命题,复合命题使用命题联结词联结简单命题而得到。复合命题的联结词通常包括:设p是任意命题,复合命题“非p”称为p的否定(非),记为 p。设p和q是任意命题,复合命题“p且q”称为p和q的合取(与),记为pq。设p和q是任意命题,复合命题“p或q”称为p和q的析取(或),记为pq。

32、设p和q是任意命题,复合命题“如果p则q”称为p蕴涵q,记为pq。设p和q是任意命题,复合命题“p当且仅当q”称为p与q等价,记为pq。上述定义中的非(negation)、合取(conjunction)、析取(disjunction)、蕴涵(implication)和等价(equivalence)是在命题逻辑中的术语,而引号中给出的复合命题是自然语言中的典型用法。当然,命题逻辑中符号化形式的复合命题在自然语言中有许许多多的表达方法,这也是为什么自然语言有歧义的原因,参见教材中的各例题,并注意以下几点:pq的逻辑关系是pq为真当且仅当p和q中至少有一个为真。但自然语言中的“或”既可能具有相容性,

33、也可能具有排斥性。命题逻辑中采用了“或”的相容性。pq的逻辑关系是pq为假当且仅当p为真,而q为假,称p为蕴涵式的前件,q为蕴涵式的后件。现实世界中的“如果则”与这种蕴涵有比较大的区别。简单命题逻辑中的这种蕴涵常常称为“实质蕴涵”,相对应地有“严格蕴涵(p严格蕴涵q,意味着p为真,则q不可能为假)”、“相干蕴涵”等。实质蕴涵意味着可从假的前提推出任何命题来,或两个不没有内在联系的命题之间存在蕴涵关系。将日常生活中的陈述句符号化为命题逻辑中的公式是在今后的程序编写等课程中应用数理逻辑知识的重要基础。但就数理逻辑这门课程本身而言,我们只关心公式之间的真值关系,而不关心公式所具体指代的命题。复合命题

34、与简单命题之间的真值关系可用下表给出,其中0代表假,1代表真:pq ppqpqpqpq00100110110110100010011011113.命题逻辑公式【定义1.1】命题逻辑公式(propositional logic formula)由以下子句归纳定义:1.归纳基:命题常量或命题变量是命题逻辑公式,称为命题逻辑公式的原子项。2.归纳步:如果a, b是逻辑公式,则(a)、(ab)、(ab)、(ab)和(ab)也是命题逻辑公式。3.最小化:所有的命题逻辑公式都通过1和2得到。在这里我们隐含地使用的字母表是大小写的英文字母、命题联结符和园括号。英文字母还可带下标。其它的符号都不属于我们的符号

35、表,即在命题逻辑公式中不能出现这些符号。后面我们将命题逻辑公式简称为命题公式,或在没有二义的情况下进一步简称为公式。【例子1.1】(p q) (p) (q r)是命题公式,它通过以下步骤生成:1.p是公式;/ 根据定义1.1的12.q是公式;/ 根据定义1.1的13.(p q)是公式;/ 根据定义1.1的24.(p)是公式;/ 根据定义1.1的25.r是公式;/ 根据定义1.1的16.(q r)是公式;/ 根据定义1.1的27.(p) (q r)是公式;/ 根据定义1.1的2,以及4, 68.(p q) (p) (q r)是公式。/ 根据定义1.1的2,以及3, 7这种生成过程,可以形象地用下

36、面的一棵树来表示: (p q) (p) (q r) (p q) (p) (q r) p q (p) (q r) p q r这种树在形式语言与自动机中就称为语法分析树。【反例1.2】根据定义1.1,p q不是公式,因为两边没有园括号根据定义1.1,(p q r)不是公式,实际上,由定义1.1生成的公式,每个命题联结符都会对应一对园括号。显然(pqr)、(q(rp)等都不是公式。【定理1.2】设r是某个性质,如果有:1.对于所有的原子项p,都满足性质r;2.如果对任意的公式a和b都满足性质r,就有(a)、(ab)、(ab)、(ab)和(ab)也满足性质r。那么,所有的公式a就都满足性质r。该定理的

37、证明类似数学归纳法的证明,很容易根据定义1.1得到。【定义1.3】命题公式a的复杂程度deg(a)定义为:1.如果a是原子项,则deg(a) = 0;2.deg(a) = deg(a) + 1;3.deg(a * b) = max(deg(a), deg(b) + 1,其中*代表、之一。此定义等价于教材p11的定义1.7。只不过我们在这里给出的是递归定义。使用归纳法,我们可证明下面定理:【定理1.4】deg(a)小于等于命题公式a中的命题联结符号的数目。【证明】根据命题公式a的结构进行归纳证明:1.归纳基:如果a是原子项,则根据定义1.3有deg(a) = 0,显然定理成立。2.归纳步:假设定

38、理对于命题公式a和b成立(归纳假设),记命题公式a中的命题联结符号数为sym(a),即有deg(a) sym(a)和deg(b) sym(b)。那么由于deg(a) = deg(a) + 1,而sym(a) = sym(a) + 1,所以定理对于a也成立。同样由于deg(a * b) = max(deg(a), deg(b) + 1,而sym(a * b) = sym(a) + sym(b) + 1,因而有deg(a * b) sym(a * b),从而定理对所有的命题公式都成立。【定理1.5】任意命题逻辑公式a中出现相等数目的左右园括号,实际上,左右园括号的个数都等于a中的命题联结符号数。【

39、定理1.6】任意命题逻辑公式a具有下列6种形式之一,且只具有其中一种形式:1.a为原子项;2.(a)3.(ab)4.(ab)5.(ab)6.(ab)定理1.6的确切含义包括以下几点:1.任意命题公式必然具有上述6中形式之一;2.这6中形式都互不相同;3.如果(a)与(a1)相同,则必有a与a1相同;4.如果(a * b)与(a1 * b1)相同,则必有a与a1相同,且b与b1相同。根据定理1.5和定理1.6,我们不难明白例子1.1是如何得到该其中命题公式的语法分析树的。实际上每个命题公式的最左边都是左园括号,如果从第二个符号不是左园括号,那么这个公式只有一个命题联结符。否则找与第二个左园括号配

40、对的右园括号,从而将命题公式划分为这样的形式:() * (),如果原来的命题公式为根的话,那么左右两边的两个命题公式分别为它的左右子树了,而且对这两个公式可作类似的分析,最后到原子项。在后面,为了书写方便起见,我们省略最外边的括号,并规定各个命题联结符的优先级别为大于,大于,大于,大于,从而可省略命题公式中一些不必要的园括号,例如例子1.1中的公式可写为:p q p q r。不过在后面我们书写公式的原则是尽量简便,但又能让读者容易理解。而有关命题公式的性质的讨论,则只针对可由上面定义1.1所能生成的公式形式。上面讨论的命题公式的语法结构,下面讨论命题公式的赋值。【定义1.7】 对命题公式的一次

41、真值赋值t是从所有命题变量所组成的集合到集合0, 1的函数。实际上,对于某个命题公式a来说,我们只关心t在a中的命题变量上的值。这里我们假定存在一个所有命题变量所组成的集合u,或者说我们所有命题公式中的变量都取之于集合u,我们记命题公式a中的所有命题变量所组成的集合为var(a)。设有一个真值赋值t : u0, 1,而对于命题公式a的真值赋值来说,我们只关心t在var(a)上的值。【例子1.3】对于命题公式a = (p q) (p) (q r),有:var(a) = p, q, r这里不妨假定u = var(a),真值赋值就是一个函数t : p, q, r0, 1,例如可令:t(p) = 0,

42、 t(q) = 1, t(r) = 0【定义1.8】命题公式a在真值赋值t : u0, 1下的真值t(a)递归定义如下:1.如果命题公式a是一个命题常量p,则如果p为真,t(a) = 1,否则t(a) = 0;2.如果命题公式a是一个命题变量p,则t(a) = t(p)3.若t(a) = 0则t(a) = 1,否则t(a) = 0。4.若t(a) = t(b) = 1,则t(ab) = 1,否则t(ab) = 0。5.若t(a) = t(b) = 0,则t(ab) = 0,否则t(ab) = 1。6.若t(a) = 0或者t(b) = 1,则t(ab) = 1,否则t(ab) = 0。7.若t

43、(a) = t(b),则t(ab) = 1,否则t(ab) = 0。【例子1.3,续】对于命题公式a = (p q) (p) (q r),及真值赋值函数t:t(p) = 0, t(q) = 1, t(r) = 0有:1.t(p) = 0, t(q) = 1;2.t(p q) = 1;/ 根据定义1.8的54.t(p) = 1;/ 根据定义1.8的35.t(r) = 0;6.t(q r) = 0;/ 根据定义1.8的47.t(p) (q r) = 0;/ 根据定义1.8的78.t(p q) (p) (q r) = 0;/ 根据定义1.8的6因此命题公式a在上述真值赋值下的真值t(a)是0。不难看

44、出,定义1.8与上一节中给出的复合命题与简单命题之间的真值关系表是一致的。而且从上面的例子与例1.1的比较也可看出,对于命题公式的真值,可根据该命题公式的生成步骤来得到。命题公式的真值只与命题公式中所出现的命题变量的真值赋值有关,如果命题公式中含有n个命题变量,则对这些命题变量的真值赋值共有2n种不同情况,可通过一个表,列出在这所有情况下命题公式的真值,这种表称为该命题公式的真值表,例如上述命题公式a的真值表为:pqr(pq)(p)(qr)(p)(qr)(pq) (p)(qr)00001001001010010101100001111111100100111011001111010011111

45、10100【定义1.9】如果命题公式a在任意的真值赋值函数t : u0, 1下的真值t(a)都为1,则称命题公式a为永真式(tautology)(或称重言式);如果命题共a在任意的真值赋值函数下的真值都为0,则称a为矛盾式(contradiction);如果a不是矛盾式,则称为可满足式。【例子1.4】根据命题公式a = (p q) (p) (q r)的真值表,我们知该命题公式是可满足式,但不是永真式。而公式b = (p(qp)r)是永真式,其真值表为:pqr(qp)(p(qp)(p(qp)r)000011001011010111011111100111101111110111111111而公式

46、(pq)q)r)(教材14页简写为(pq)qr)是矛盾式,其真值表为:pqr(pq)(pq)(pq)q)(pq)q)r)00010000011000010100001110001000100101010011010001111000【定义1.10】我们使用符号s来表示一组命题公式所构成的集合。定义s在真值赋值函数t : u0, 1下的真值t(s)为:t(s) = 1当且仅当对s中任意公式a有t(a) = 1,否则定义t(s) = 0(注意只要s中存在某个公式a使得t(a) = 0,就有t(s) = 0)。说s是可满足的,如果存在某个真值赋值函数t使得t(s) = 1,这时称t满足s。【定义1.

47、11】设s是一组命题公式的集合,说命题公式a是以s为前提的永真式,如果满足对任意满足s的真值赋值函数t都有t(a) = 1,这时我们记为sa。注意在定义1.11中,如果s为空集,则fa表示a为永真式,因为对于空集s来说,显然任意的真值赋值函数t都满足它(因为s中没有命题公式),从而fa意味着对任意的真值赋值函数t都有t(a) = 1,即a为永真式。4.等值演算【定义1.12】当s = a1, a2, , an时,我们也记sa为a1, a2, , ana。如果有ab且ba,则称命题公式a与b等值,记为ab。实际上公式a与b等值记为ab会更准确些,但教材采用了符号ab,为了不会过于混淆,我们也使用这种记号。实际上,根据定义1.11,ab就意味着对任意的真值赋值函数t有t(a) = 1当且仅当t(b) = 1,也就是说对任意的t有t(a) = t(b)。从而定义1.12与教材中关于命题公式等值的定义是等价的,即有下述定理:【定理1.13】ab当且仅当ab是永真式。使用真值表,不难证明下面的定理:【定理1.14】设a, b, c是任意的命题公式,有:1.双重否定律:a (a)2.等幂律:a(aa)a(aa)3.交换律:(ab) (ba)(ab) (ba)4.结合律:(ab

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论