离散数学

323 阅读59分钟

什么是离散数学

数学的研究对象根据其数据类型可以分为两种:

  1. 连续对象,如长度、温度、面积等。
  2. 离散对象, 如商店商品, 学生所学课程等。

离散数学是研究离散对象的结构以及他们之间相互关系的科学

离散数学可以培养学生的数学修养和逻辑思维能力。正如著名的物理学家劳厄所说:

重要的不是获得知识,而是发展思维能力。教育是一切已学过东西都遗忘的时候,剩下的就是思维能力,它可以长期起作用。

离散数学中的符号

在.txt文件中输入编码, 然后按 Alt+x 便可以生成符号

  • 任意 ∀ 2200
  • 一些 ∃ 2203
  • 空集 ∅ 2205
  • 属于 ∈ 2208
  • 不属于 ∉ 2209
  • 合取 ∧ 2227
  • 析取 ∨ 2228
  • 交集 ∩ 2229
  • 并集 ∪ 222A
  • 严格子集 ⊂ 2282
  • 严格超级 ⊃ 2283
  • 不是子集 ⊄ 2284
  • 不超集 ⊅ 2285
  • 包含于 ⊆ 2286,
  • 包含 ⊇ 2287,
  • 非 ¬ FFE2,
  • 自然数的无限基数 ﬡ FB21 אּ FB30
  • ⌊ 230a ⌋ 230b

Unicode字码表

常用数字上标: ⁰  ¹  ²  ³  ⁴  ⁵  ⁶  ⁷  ⁸  ⁹

常用数字下标::₀  ₁  ₂  ₃  ₄  ₅  ₆  ₇  ₈  ₉

常用字符上标::⁺  ⁻  ⁼  ⁽ ⁾   ˙

常用字符下标::₊  ₋  ₌  ₍ ₎

常用小写字母上标: ᵃ ᵇ ᶜ ᵈ ᵉ ᶠ ᵍ ʰ ⁱ ʲ ᵏ ˡ ᵐ ⁿ ᵒ ᵖ ʳ ˢ ᵗ ᵘ ᵛ ʷ ˣ ʸ ᶻ 

常用大写字母上标::ᴬ ᴮ ᒼ ᴰ ᴱ ᴳ ᴴ ᴵ ᴶ ᴷ ᴸ ᴹ ᴺ ᴼ ᴾ ᴼ ᴿ ᵀ ᵁ ᵂ 

常用符号下标: ₐ  ₔ  ₑ  ₕ  ᵢ  ⱼ  ₖ  ₗ  ₘ  ₙ  ₒ  ₚ  ᵣ  ₛ  ₜ  ᵤ  ᵥ  ₓ  ᙮  ᵤ  ᵩ  ᵦ  ₗ  ˪  ៳  ៷  ₒ  ᵨ  ₛ  ៴  ᵤ  ᵪ  ᵧ

第一篇

数理逻辑

逻辑学起源于2000多年前的古希腊。

人物贡献国家
亚里士多德演绎推理
弗朗西斯·培根归纳推理
莱布尼茨现代逻辑德国
罗素,怀特海命题演算,谓词演算

什么是逻辑?

“逻辑”是英语Logic的译音,源于古希腊文,愿意主要指言语、思想、理性、规律性等。

逻辑学

逻辑学也称为形式逻辑,是关于“思维形态的结构”及其规律的科学。

什么是思维的形态结构?

思维形态是人们在思考过程中用以反映客观现实的具体形式,即概念、判断、推理

什么是推理

由若干个已知的判断(前提),推出新的判断(结论)的思维过程。

演绎推理

由一般规律推出个别事实的推理

image.png

什么是 数理逻辑

数理逻辑(符号逻辑),数理逻辑是用“数学的方法”研究形式逻辑。

数学的方法

建立一套有严格定义的符号体系,即建立一套形式语言,来研究形式逻辑

数理逻辑分为“命题逻辑”和“谓词逻辑”两部分

命题逻辑

什么是命题?

命题是表达判断的陈述句。

一个判断只有两种可能:正确的判断或者错误的判断。

把这种“正确”或者“错误”赋予命题,就得到命题的真值。

命题的真值

命题的真值只有两个:“真”或“假”。

命题的真值为真:一个命题所表达的判断与客观情况一致,记作T(True)。

命题的真值为假:一个命题所表达的判断与客观情况不一致,记作F(False)。

判断一句话是否是命题有两个关键:

  1. 是陈述句;
  2. 有且只有一个真值。

image.png

命题的种类

原子命题(简单命题):

不能再分解成更简单陈述句的命题。

复合命题(分子命题):

由若干个连接词、标点符号及原子命题复合构成的命题。

image.png

逻辑连接词

image.png

蕴含

p->Q 读成 "P则Q".

称P是P->Q的前件, Q是P->Q的后件。也可以说P是Q的充分条件,Q是P的必要条件。

P->Q有一个善意的规定: 当P为F时 P->Q为T

image.png

用 "->" 表达必须前件是后件的充分条件,即若前件成立,后件一定成立。这一点需要特别注意!!!它决定了哪个作为前件,哪个作为后件

双条件

比较下面二表

PQP⊕Q
FFF
FTT
TFT
TTF
PQP<->Q
FFT
FTF
TFF
TTT

得出一个公式为 P⊕Q <=> ¬(P<->Q)

命题公式

先看一个命题公式:

P:3是素数。

(P->F)∨(Q<->R)∧T

该公式中有三种数值

  1. T,F 命题常项
  2. P 常值命题
  3. Q,R 命题变元

在命题公式中有三种数据类型:

  1. 命题常项:即命题的真值。T,F
  2. 常值命题:即具体的命题。P
  3. 命题变元:用大写字母表示的任一命题。命题变元本身不是命题,因为它没有固定真值,只有给它赋值,才变成命题。

将一个命题常项常值命题赋予命题变元的过程称为给命题变元赋值,也称为对命题变元作指派。

合式公式 (合法的命题公式)定义:

  1. 单个命题变元、常值命题及命题常项是合式公式。
  2. 若A是合式公式,则¬A是合式公式。
  3. 若A和B是合式公式,则(A∧B),(A∨B),(A->B),(A<->B)都是合式公式。
  4. 当且仅当有限次地应用1,2,3所得到的符号串是合式公式。

为了简化命题公式,约定:

  1. 最外层括号可省略。
  2. 不影响运算次序的括号可省。

运算次序由高到低为:¬,∧,∨,->,<->

image.png

命题公式的真值表

一个含有命题变元的命题公式不是命题,因为它没有固定真值,但是给其中的所有命题变元赋值以后它就有了唯一的真值。将所有各种赋值情况汇列成表,即为该命题公式的真值表

例:命题公式(¬P->Q)∨Q的真值表如下所示

PQ¬P¬P->Q(¬P->Q)∨Q
FFTFF
FTTTT
TFFTT
TTFTT
构造真值表的步骤:
  1. 由于每个命题变元都有两种赋值可能性(T,F), 所以含有n(n≥1)个命题变元的命题公式真值表有 2n2^n
  2. 将n个命题变元按字母次序排序。
  3. 将F记为0,T记为1,按照二进制数的次序赋值。
  4. 赋值从00...0开始,然后按二进制加法依次加1,直到11...1未止。
  5. 对每个赋值,计算命题公式的真值。

例:构造P->(Q-R)的真值表

PQRQ->RP->(Q->R)
000FFFTT
001FFTTT
010FTFFT
011FTTTT
100TFFTT
101TFTTT
110TTFFF
111TTTTT

等价定义

  1. A、B是含有命题变元P1,P2,...,Pn的命题公式。如不论对P1,P2,...,Pn作何种赋值,A和B的真值均相同,则称命题公式A与B等价, 记作A<=>B。

  2. 若两个命题公式的真值表相同,则它们等价。

运算次序由高到低为:¬,∧,∨,->,<->

基础等价公式

  1. 对和律:¬¬P<=>P;
  2. 幂等律:P∨P<=>P、P∧P<=>P;
  3. 交换律:P∨Q<=>Q∨P、P∧Q<=>Q∧P、P<->Q<=>Q<->P;
  4. 结合律:P∨(Q∨R)<=>(P∨Q)∨R、P∧(Q∧R)<=>(P∧Q)∧R、P<->(Q<->R)<=>(P<->Q)<->R;
  5. 分配律:P∨(Q∧R)<=>(P∨Q)∧(P∨R)、P∧(Q∨R)<=>(P∧Q)∨(P∧R);
  6. 吸收律:P∨(P∧Q)<=>P、P∧(P∨Q)<=>P;
  7. 底·摩根定律:¬(P∨Q)<=>¬P∧¬Q、¬(P∧Q)<=>¬P∨¬Q;
  8. 同一律:P∨F<=>P、P∧T<=>P;
  9. 零律:P∨T<=>T、P∧F<=>F;
  10. 互补律:P∨¬P<=>T、P∧¬P<=>F;
  11. P->Q<=>¬P∨Q;
  12. 假言易位:P->Q<=>¬Q->¬P;
  13. 等价式: P<->Q<=>(P->Q)∧(Q->P);
  14. 等价式: P<->Q<=>(¬P∨Q)∧(P∨¬Q);
  15. 等价式: P<->Q<=>(P∧Q)∨(¬P∧¬Q);
  16. 等价否定等式: P<->Q<=>¬P<->¬Q;
  17. 归谬论: (P->Q)∧(P->¬Q)<=>¬P;
等价公式的证明方法:
  1. 列真值表。
  2. 用等价公式变换。(用置换定律)

对偶式:

在一个只含有连接词¬,∧,∨的公式A中,将∨换成∧,∧换成∨,T换成F,F换成T,其余部分不变,得到另外一个公式AA^*称A与AA^*互为对偶式。

image.png

例如:

AAA^*
PP
¬Q∧R¬Q∨R
(P∨T)∧¬Q )(P∧F)∨¬Q
定理:

令A(P1,P2,...Pn)是一个只含有连接词¬,∧,∨的命题公式,则¬A(P1,P2,...,Pn)<=>A*(¬P1,¬P2,...,¬Pn) 此定理可以反复地使用底·摩根定律证明。

推论:A(¬P1,¬P2,...,¬Pn)<=>¬A*(P1,P2,...,Pn)

等价“<=>”是关系符号,不是运算符号,它表明的是两个命题公式之间的关系。

等价的性质

  1. 有自反性:对任何命题公式A,均有A<=>A。
  2. 有对称性:若A<=>B,则B<=>A。
  3. 有传递性:若A<=>B且B<=>C,则A<=>C

重言式,矛盾式

image.png

¬P∨P 为重言式(永真式);

¬P∧P 为矛盾式(永假式);

若公式A<=>T,则A为重言式或永真式。若公式A<=>F,则A为矛盾式或永假式。

定理:设A,B为两个命题公式,A<=>B 当且仅当 A<->B是一个重言式。

重言蕴含式

定义:当且仅当A->B是重言式,则称A重言(永真)蕴含B,记作A=>B。即若A->B<=>T, 则A=>B。

基础重言蕴含式:
  1. I1: P∧Q => P;
  2. I2: P∧Q => Q;
  3. I3: P => P∨Q;
  4. I4: Q => P∨Q;
  5. I5: ¬P => P->Q;
  6. I6: Q => P->Q;
  7. I7: ¬(P->Q) => P;
  8. I8: ¬(P->Q) => ¬Q;
  9. I9: P,Q => P∧Q; 合取引入规则
  10. I10: P∨Q,¬P => Q, P∨Q,¬Q => P; 选言三段论
  11. I11: G->H,G => H; 假言推理规则
  12. I12: G->H,¬H => ¬G; 否定后件式
  13. I13: ¬P∧(P∨Q) => Q;
  14. I14: P∧(P->Q) => Q;
  15. I15: ¬Q∧(P->Q) => ¬P;
  16. I16: (P->Q)∧(Q->R) => P->R; 假言三段论
  17. I17: P∨Q,P->R,Q->R => R; 二难推论
  18. I18: A->B => (A∨C)->(B∨C);
  19. I19: A->B => (A∧C)->(B∧C);
基础重言蕴含式举例:
  1. 如果a是偶数,则a能被2整除; a是偶数.所以a能被2整除.
可描述为: P->Q, P=>Q (假言推理规则)

2. 如果一个人是单身汉,则他不幸福; 如果一个人不幸福,则他死的早; 所以单身汉死的早.

可描述为: P->Q,Q->R => P->R (假言三段论)

3. 若你发电子邮件告诉我密码, 则我将完成程序的编写; 我没有完成程序的编写.所以,你没有发电子邮件告诉我密码.

可描述为: P->QQ-P (否定后件式)

4. 这个案件的凶手肯定是王某或陈某;经过调查,王某不是凶手.所以,陈某是凶手.

可描述为: PQP=>Q (选言三段论)
重言蕴含式的性质:
  1. 有自反性:对任何命题公式A,有A=>A。
  2. 有传递性:若A=>B且B=>C,则A=>C。
  3. 有反对称性:若A=>B且B=>A,则A<=>B。
  4. 若A=>B且A=>C,则A=>B∧C。
  5. 若A=>B且C=>B,则A∨C=>B。

范式

范式的概念: 命题变项及其否定统称作文字. 仅有有限个文字构成的析取式称作简单析取式. 仅有有限个文字构成的合取式称作简单合取式.

  • P, ¬Q等为一个文字构成的简单析取式, P∨¬P,¬P∨Q等为两个文字构成的简单析取式, ¬P∨¬Q∨R,P∨¬Q∨R等为三个文字构成的简单析取式.
  • ¬P, Q等为一个文字构成的简单合取式, ¬P∧P,P∧¬Q等为两个文字构成的简单合取式, P∧Q∧¬R,¬P∧P∧Q等为三个文字构成的简单合取式.
  • 注意: 一个文字既是简单析取式,又是简单合取式.

析取范式与合取范式

析取范式定义:

命题公式A如果可等价地写成如下形式:A1∨A2∨...∨An(n>=1)。其中每个项 Ai(i=1,2,...,n) 是命题变元或其否定形式的合取式,称该公式为A的析取范式。

例子: P<->Q<=>(P∧Q)∨(¬P∧¬Q);

合取范式定义:

命题公式A如果可等价地写成如下形式:A1∧A2∧...∧An(n>=1)。其中每个项 Ai(i=1,2,...,n) 是命题变元或其否定形式的析取式,称该公式为A的合取范式。

例子: P<->Q<=>(¬P∨Q)∧(P∨¬Q);

从定义可以看出:在析取范式与合取范式中只含有连接词“¬,∧,∨”。“¬”在命题变元之前。

注:P∧Q既是合取范式,也是析取范式。

主析取范式

小项定义:

是n个命题变元的合取式,其中每个变元出现且仅出现一次(以本身或否定形式),称这个合取式为小项。

例如:含有两个变元的小项:P∧Q、P∧¬Q,¬P∧Q、¬P∧¬Q;

若有n个变元,则有2n个小项。

小项编码:
  • 含有n个变元的小项的角标用n位二进制码表示。
  • 变元按字母次序排序
  • 用1表示变元本身,0表示变元的否定形式。

例:

m00<=>¬P∧¬Qm01<=>¬P∧Q

m10<=>P∧¬Qm11<=>P∧Q

m101<=>P∧¬Q∧Rm100<=>P∧¬Q∧¬R

m00m01m10m11
PQ¬P∧¬Q¬P∧QP∧¬QP∧Q
00FFTFFF
01FTFTFF
10TFFFTF
11TTFFFT
  1. 每个小项当且仅当其赋值与编码相同时,其真值为T;而其余的2n-1组赋值均使该小项的真值为F。
  2. 全体小项的析取式为永真式,记为:∑mi <=> m0 ∨ m1 ∨ ... ∨ m2n-1 <=> T
主析取范式定义:

若一个命题公式的析取范式为 A1 ∨ A2 ∨ ... ∨ An (n>=1)。其中每个Ai(i=1,2,...,n)都是小项,则称之为该命题公式的主析取范式。

主析取范式的求法1:
  1. 先写出给定公式的析取范式 A1 ∨ A2 ∨ ... ∨ An
  2. 为使每个 Ai 都变成小项,对缺少变元的项 Ai 要补全变元,比如缺变元R,就用“∧(R∨¬R)”的形式补R。
  3. 用分配律等公式加以整理。
主析取范式的求法2(真值表):
  1. 列出给定公式的真值表。
  2. 找出该公式真值表中每个为“T”行的赋值所对应的小项。
  3. 用“∨”连接上述小项,即可

定理:在真值表中,一个使公式的真值为T的赋值所对应的小项的析取,即为此公式的主析取范式。

主合取范式

大项定义:

是n个命题变元的析取式,其中每个变元必出现且仅出现一次(以本身或否定形式),称该析取式为大项。

若有n个变元,则有2n个大项。

大项编码:
  • 大项的编码正好与小项相反。
  • 用0表示变元本身,1表示变元的否定形式。

例:

M00<=>P∨QM01<=>P∨¬Q

M10<=>¬P∨QM11<=>¬P∨¬Q

显然,Mi<=>¬mi 例:M011<=>P∨¬Q∨¬R<=>¬(¬P∧Q∧R)<=>¬m011

M00M01M10M11
PQP∨QP∨¬Q¬P∨Q¬P∨¬Q
00FFFTTT
01FTTFTT
10TFTTFT
11TTTTTF
  1. 每个大项当且仅当其赋值与编码相同时,其真值为F;而其余的2n-1组赋值均使该大项的真值为T。
  2. 全体大项的合取式为永假式,记为:∏Mi <=> M0 ∧ M1 ∧ ... ∧ M2n-1 <=> F
主合取范式定义:

若一个命题公式的合取范式为 A1 ∧ A2 ∧ ... ∧ An (n>=1)。其中每个Ai(i=1,2,...,n)都是大项,则称之为该命题公式的主合取范式。

主合取范式的求法1:
  1. 先写出给定公式的合取范式 A1 ∧ A2 ∧ ... ∧ An
  2. 为使每个 Ai 都变成大项,对缺少变元的项 Ai 要补全变元,比如缺变元R,就用“∨(R∧¬R)”的形式补R。
  3. 用分配律等公式加以整理。
主合取范式的求法2(真值表):
  1. 列出给定公式的真值表。
  2. 找出该公式真值表中每个为“F”行的赋值所对应的大项。
  3. 用“∧”连接上述大项,即可

定理:在真值表中,一个使公式的真值为F的赋值所对应的大项的析取,即为此公式的主合取范式。

命题逻辑推理(一) ---直接推理

推理的过程就是证明永真蕴含式的过程。

令H1,H2,...,Hn是已知的命题公式(前提),若有H1∧H2∧...∧Hn=>C

则称C是H1,H2,...,Hn的有效结论,简称结论。

两个推理规则:
  1. P规则(引入前提规则):在推理过程中,可以随时引入前提。
  2. T规则(引入结论规则):在推理过程中,如果前面有一个或几个公式重言蕴含公式S,则可将S纳入推理过程中。
mindmap
      推理的方法
          直接推理
          间接推理
            条件论证
            反证法
    
直接推理:

直接推理是由一组前提,利用P规则、T规则直接推演得到有效结论的方法。

推理实际上就是证明永真蕴含的过程。为了使推理过程更加简单、明确,推理会采用另外一种书写格式

推理格式
  • 第一列为步骤列;
  • 第二列为给定前提或得出的结论;
  • 第三列为注释列,标明是前提还是得到的结论,以及此结论是从哪几步得到的,所用公式的类型。

例1 求证 P->Q, Q->R, P=>R 证明:

序号前提或结论注释列
(1)PP
(2)P->QP
(3)QT(1)(2)I
(4)Q->RP
(6)RT(3)(4)I

例2 如果马会飞或羊吃草, 则母鸡就会是飞鸟; 如果母鸡是飞鸟,那么烤熟的鸭子还会跑; 烤熟的鸭子不会跑。所以羊不吃草;

证明:解设 P:马会飞; Q:羊吃草; R:母鸡是飞鸟; S:烤熟的鸭子会跑

(P∨Q)->R, R->S, ¬S => ¬Q

序号前提或结论注释列
(1)¬SP
(2)R->SP
(3)¬R∨ST(2)E
(4)¬RT(1)(3)I
(5)(P∨Q)->RP
(6)¬(P∨Q)∨RT(5)E
(7)¬(P∨Q)T(4)(6)I
(8)¬P∧¬QT(7)E
(9)¬QT(8)I

命题逻辑推理(二) ---间接推理

条件论证

如果要证明的结论是R->S的形式,则可以把结论中R->S的前件R作为附加前提,与给定的前提一起推出后件S即可。

定理 如果H1∧H2∧...∧Hn∧R=>S,则 H1∧H2∧...∧Hn=>R->S

证明: 因为 H₁∧H₂∧...∧Hₙ∧R=>S 则

(H₁∧H₂∧...∧Hₙ∧R)->S是永真式 而

(H₁∧H₂∧...∧Hₙ∧R)->S

<=> ¬( H₁∧H₂∧...∧Hₙ∧R ) ∨S

<=> ¬( (H₁∧H₂∧...∧Hₙ) ∧ R ) ∨ S

<=> ¬(H₁∧H₂∧...∧Hₙ) ∨ ¬R ∨ S

<=> ¬(H₁∧H₂∧...∧Hₙ) ∨ (¬R ∨ S)

<=> ¬(H₁∧H₂∧...∧Hₙ) ∨ (R -> S)

<=> H₁∧H₂∧...∧Hₙ -> (R -> S)

我们把上述定理写成如下规则

CP 规则(Conditional Proof):

反证法

不相容定义:

设H1,H2,...,Hn是命题公式,P1,P2,...,Pm是公式中的命题变元。如果P1,P2,...,Pm,至少有一组赋值使得H1,H2,...,Hn的真值为T,则称公式集合{H1,H2,...,Hn}是相容的(也称是一致的);

如果对P1,P2,...,Pm的每一组赋值,都使得H1,H2,...,Hn的真值为F,则称公式集合{H1,H2,...,Hn}是不相容的(也称是不一致的)。

反证法

若要证明H1,H2,...,Hn=>C,只要证明{H1,H2,...,Hn,¬C}是不相容的即可。 即:若要证明H1,H2,...,Hn=>C,只要证明 H1∧H2∧...∧Hn∧¬C是个矛盾式即可。

定理 如果 H₁∧H₂∧...∧Hₙ∧¬C 是个矛盾式,则 H₁∧H₂∧...∧Hₙ=>C 成立

证明: 设 H₁∧H₂∧...∧Hₙ∧¬C 是矛盾式 则

¬(H₁∧H₂∧...∧Hₙ∧¬C)是永真式 而

¬(H₁∧H₂∧...∧Hₙ∧¬C)

<=> ¬( (H₁∧H₂∧...∧Hₙ) ∧ ¬C)

<=> ¬(H₁∧H₂∧...∧Hₙ) ∨ C

<=> (H₁∧H₂∧...∧Hₙ) -> C 是一个永真式

所以 H₁∧H₂∧...∧Hₙ=>C 成立

谓词逻辑

问题的提出:
所有的人都会死,苏格拉底是人,所以苏格拉底是会死的。

A:所有的人都会死。
B:苏格拉底是人。
C:苏格拉底会死。
该推理符号化为:AB =>C

这是著名的三段论推理,A是大前提,B是小前提,C是结论。显然,这个推理是有效的,但是这个推理用命题逻辑是无法推证的。

因为命题AB、C在句子的内部是有联系的,而仅把命题表示成一个大写字母,就掩盖了这种联系。也就是说一个命题仅用一个大写字母表示的方式太粗了,我们必须加以细化,用另外的表示方式来表达命题。

命题是表达判断的陈述句,将其细分,表达出主语、谓语及宾语(若有的话),而一个句子中“谓语”最重要,这就提出了谓词的概念。
基本概念

个体:能够独立存在的具体或抽象的事物,称之为个体,也称之为客体。通常用小写英文字母a、b、c、...表示。

例如:小张,小李,8,a,沈阳,社会主义等等都是客体。

个体常项:具体或特定的个体。常用小写英文字母a、b、c、...表示。

个体变元:泛指某一个个体。常用小写英文字母x、y、z、...表示

谓词:用以刻化个体属性或者表达个体之间关系的词,即为谓词。谓词用大写字母表示。

例:令S:是大学生,a:小张,b:小李
命题:小张是大学生  可以表示成S(a)。
命题:小李是大学生  可以表示成S(b)。
从符号S(a)、S(b)可看出小张和小李都是大学生的共性。

设Q:大于,命题3>7 表示为Q(3,7)。
设B:表示...在...与...之间,
命题 点a在点b与点c之间 表示为B(a,b,c)

一个命题若其中的个体是个体常项,则该命题用谓词后边加括号,括号内是若干个体表示。

谓词也有常项与变项之分。

  • 表示具体性质与关系的谓词称为谓词常项。
  • 泛指某一性质或关系的谓词称为谓词变项。

一般的,含有n(n>0)个个体变元x1,x2,...,xn的谓词P称为n元谓词,记作P(x1,x2,...,xn)。

  • 当n=1,P(x)表示x具有性质P;
  • 当n>1,P(x1,x2,...,xn)表示x1,x2,...,xn具有关系P;

约定:

  • 将不带个体变元的谓词称为0元谓词。 例如: S(a), G(3,7)等

当谓词是常项时, 0元谓词是命题; 否则当谓词是变项时, 0元谓词是命题变元。

命题函数:含有n个变元的命题函数是以个体域为定义域,以{F,T}为值域的n元函数。

命题函数 是一个更广泛的概念,‌它可以是0元(‌即没有个体变元,‌直接表达一个命题)‌、‌1元、‌2元或多元谓词。‌命题函数可以由一个或多个简单命题函数通过逻辑联结词组合而成,‌形成更复杂的表达式。‌因此,‌3元谓词是命题函数的一个特例,‌它是具有3个个体变元的特殊类型的命题函数。‌这种分类有助于我们更精确地分析和构建涉及多个对象的逻辑表达式

例:A(x):x身体好。 (一元谓词)
    G(x,y):x>y。   (二元谓词)
    B(x,y,z):点x在点y与点z之间。 (三元谓词) 
    这些也都是命题函数。 
    
例:A(x):x身体好。
    B(x):x学习好。
    C(x):x工作好。
    
    ¬A(x)->(¬B(x)∧¬C(x)) 表示:如果x身体不好,则x的学习与工作都不会好
    这也是命题函数
    

注意:命题函数本身并不是命题,只有在括号内填入足够的具体客体,或用足够的量词约束后才变成命题。

例:B(x,y,z):点x在点y与点z之间。是命题函数,不是命题。
c:锦州,d:沈阳,e:山海关,则B(c,d,e)表示:锦州在沈阳与山海关之间,是命题。
    

个体域个体变元 的取值范围,称之为个体域,也称之为论域。

  1. 由所有个体构成的个体域,称之为全总个体域。它是“最大”的个体域。
  2. 约定:对于一个命题函数,如果没有指明其个体域,则假定其个体域是全总个体域。

量词:在命题中,表示对个体量化的词,称之为量词。

例如:有些人是大学生。
      所有事物都是发展变化的。
"有些","所有的",就是对个体量化的词。

有两种量词

  1. 存在量词:记作 ∃,表示“有些”、“一些”、“某些”、“至少一个”等。
  2. 全称量词:记作 ∀,表示“每个”、“任何一个”、“一切”、“所有的”、“凡是”、“任意的”等。

量词的指导变元:量词后边要有一个个体变元,指明对哪个个体变元进行量化,称此个体变元是指导变元。

例如:∀x(读作:"任意x"), ∃x(读作:"存在x"),其中的x就是指导变元

例1. 所有的自然数都是整数。
解1: 设I(x): x是整数, 个体域: {自然数}。
此命题可以写成 ∀x(I(x)): 也表示 对于任意的自然数x,x都是整数。
解2:若没设个体域,即个体域为全总个体域,则需用特性谓词加以限定。
设N(x): x是自然数(特性谓词). I(x): x是整数.
此命题可以写成 ∀x(N(x)->I(x)) 也表示 对于任意的x,只要x是自然数的话那么x就是整数

例2. 有些大学生吸烟.
解1: 令A(x): x吸烟, 个体域:{大学生}
则命题的表达式为∃xA(x)
解2: 若没设个体域, 个体域即为全总个体域, 则需用特性谓词加以限定.
设S(x): x是大学生(特性谓词)
A(x): x吸烟
命题可以表达为∃x(S(x)∧A(x))

为什么∀x后要加括号∃x则不需要

对于表达式∀x(I(x))需要加括号,‌而∃xA(x)不需要加括号的原因在于它们所表达的量词和逻辑的不同。‌

  • 对于全称量词∀x(I(x)),‌它表示的是“对于所有的x,‌I(x)都成立”。‌在这种情况下,‌加括号是为了明确表达“对于每一个x”这一概念,‌确保读者或计算机能够正确理解逻辑结构。‌例如,‌如果去掉括号写成∀xI(x),‌这可能会引起误解,‌因为不清楚是表示“对每一个x,‌I(x)都成立”还是“I(x)对所有x成立”。‌因此,‌加括号有助于明确表达这一逻辑结构。‌
  • 存在量词∃xA(x)则表示“存在至少一个x使得A(x)成立”。‌这种情况下,‌不需要加括号是因为“存在”这一概念已经清晰地表达了至少有一个实例满足条件A(x),‌这种表述本身不会引起歧义。‌例如,‌写成∃xA(x)是简洁且明确的,‌它直接表明存在至少一个x使得A(x)为真。‌

总的来说,‌是否需要加括号取决于表达式的逻辑结构和量词的使用。‌全称量词需要明确指出其作用范围,‌而存在量词则因其自身的语义清晰而不需要额外的括号

特性谓词:一般来说,特性谓词是描述个体特征的谓词,往往就是给定命题中量词后边的那个名词.

特性谓词的添加规则

  1. 对全称量词, 特性谓词常作蕴含前件.

  2. 对存在量词, 特性谓词常作合取项.

    分析一下特性谓词和原谓词所表达概念之间的关系:
    对于全称量词: 例如, 所有的自然数都是整数.
    令N: 自然数集合, I: 整数集合.
    

image.png

   对于存在量词: 例如, 有些大学生吸烟.
   令S: 大学生集合, A: 烟民的集合.

image.png

例题3. 每个人都有一个生母.

解1: 设个体域为: {人}, M(x,y): y是x的生母.
此命题可以表达为: ∀x∃yM(x,y)

解2: 设P(x): x是人, M(x,y): y是x的生母.
此命题可以写成 ∀x(P(x)->∃y(P(y)∧M(x,y)))

谓词公式

原子谓词公式
  1. 常量符号: 指所属个体域D中的某个元素, 用带或不带下标的小写英文字母a、b、c、...a₁、b₁、c₁、...来表示.
  2. 变量符号: 指所属个体域D中的任意元素, 用带或不带下标的小写英文字母x、y、z、...x₁、y₁、z₁、...来表示.
  3. 函数符号: n元函数符号 f(x₁,x₂,...,xₙ)可以是所属个体域集合Dⁿ->D的任意一个函数, 用带或不带下标的小写英文字母f、g、h、...f₁、g₁、h₁、...来表示.
函数

为何需要函数符号?

周红的父亲是教授

解1(函数): 若令 f(x): x的父亲, P(x):x是教授, c:周红 P(f(c))

解2: P(x): x是教授, F(x,y):x是y的父亲, C:周红 (∀x)(F(x,c)->P(x))

谓词合式公式

命题公式的合式公式

定义

  1. 原子谓词公式是合式公式.

  2. 如果A是合适公式, 则¬A也是合式公式.

  3. 如果A、B是合适公式,则(A∧B)、(A∨B)、(A->B)、(A<->B)都是合式公式.

  4. 如果A是合式公式, x是A中的个体变元, 则∀xA和∃xA也是合式公式.

  5. 只有有限次地应用(1)至(4)得到的符号串才是合式公式.

    合式公式也称为谓词公式, 简称公式. 
    下面都是合式公式:
    P、(P->Q)、(Q(x)∧P)、∃x(A(x)->B(x))、∀x(C(x))
    

为了方便, 最外层的括号可以省略.

量词的作用域(辖域)

在谓词公式中, 量词的作用范围称之为量词作用域, 也叫量词的辖域.

   例: ∀x(A(x))中∀x的辖域为A(x)
   ∃x(A(x)->B(x))中∃x的辖域为(A(x)->B(x))

image.png

一般地,

  • 如果量词后边只是一个原子谓词公式时, 该量词的辖域就是此原子谓词公式.
  • 如果量词后边是括号, 则此括号所表示的区域就是该量词的辖域.
  • 如果多个量词紧挨着出现, 则后边的量词及其辖域就是前边量词的辖域.
自由变元与约束变元

在谓词公式中的 个体变元 可以分成两种, 一种是受到量词约束的, 一种是不受量词约束的.

例: ∀x(F(x,y)->∃yP(y))∧Q(z)
F(x,y)中的x在∀x的辖域内, 受到∀x的约束而y不受∀x的约束.
P(y)中的y在∃y的辖域内, 受∃y的约束.
Q(z)中的z不受量词约束. 

定义: 如果个体变元x在∀x或者∃x的辖域内, 则称x在此辖域内约束出现, 并称x在此辖域内是约束变元. 否则x是自由出现, 并称x是自由变元.

例: ∀x(F(x,y)->∃yP(y))∧Q(z)
F(x,y)中的x和P(y)中的y是约束变元. 
而F(x,y)中的y和Q(z)中的z是自由变元.

说明

  1. 一个n元谓词P(x1,x2,...,xn), 若在前边添加k个量词, 使其中的k个个体变元变成约束变元, 则此n元谓词就变成了n-k元谓词.

  2. 一个谓词公式如果无自由变元, 它就表示一个命题.

    例: 假设P(x,y,z)表示x+y=z, 个体域是整数集. ∀x∃yP(x,y,z) 表示 "对任意给定的整数x, 都可以找到整数y, 使得x+y=z". 
    如果令z=1, 则∀x∃yP(x,y,1)就变成了命题 "任意给定的整数x, 都可以找到整数y, 使得x+y=1"
    

可见每当给z指定某个整数a后, ∀x∃yP(x,y,z) 就变成了一个命题. 所以谓词公式 ∀x∃yP(x,y,z) 是只含有个体变元z的一元谓词.

约束变元的换名规则:

设A为-谓词公式, 将A中某量词辖域内的一个约束变元的所有出现及相应的指导变元全部改成A中没出现过的某个变元符号, A中其余部分不变, 记所得公式为A', 则 A<=>A'.

例: (1) ∀x( F(x,y)->∃yP(y) )∧Q(z)

对约束变元y进行改名, 谓词公式变为 ∀x( F(x,y)->∃tP(t) )∧Q(z)

例: (2) ∀x( P(x)->Q(x,y) )∨(R(x)∧A(x))

对约束变元x进行改名, 谓词公式变为 ∀z( P(z)->Q(z,y) )∨( R(x)∧A(x) )

自由变元的代入规则: (对自由变元也可以换名, 此换名叫代入. )

设A为一谓词公式, 将A中某个自由出现的个体变元的所有出现用某个A中没出现过的变元符号代替, A中其余部分不变, 记所得公式为A', 则A<=>A'.

例: (2) ∀x( P(x)->Q(x,y) )∨( R(x)∧A(x) )

对自由变元x进行代入, 谓词公式变为 (2) ∀x( P(x)->Q(x,y) )∨( R(z)∧A(z) )

谓词逻辑中量词的符号化

在谓词演算中,命题的符号化比较复杂。 命题的符号化表达式与个体域有关系。 而个体域的指定需随题目而定。能指定个体域的当然要指定,这样会使表达式变的简单。若不能指定个体域,则为全总个体域。在谓词演算中,最基本的命题符号化就三种类型:

  1. 主语是具体个体对象的,用谓词加括号,括号里是具体个体表示。

  2. 描述所有的、任意的个体对象,用全称量词,特性谓词作蕴含前件。

  3. 描述一些客体对象,用存在量词,特性谓词作合取项。

    1:张强和李平都是足球运动员
    解:设 Z(x): x是足球运动员, a:张强, b:李平;
    命题表达为: Z(a)∧Z(b);
    
    例2: 凡人都呼吸.
    解: 设 H(x):x是人, B(x):x呼吸;
    命题表达为: ∀x(H(x)->B(x));
    
    例3: 有的人用左手写字.
    解: 设 H(x):x是人, L(x):x用左手写字
    命题表达为: ∃x(H(x)∧L(x));
    
    例4: 没有不犯错误的人 <=> 没有人不犯错误
    解: 设 H(x):x是人, M(x):x犯错误
    命题表达为: ¬∃x(H(x)∧¬M(x));
    也可以理解为所有人都犯错误
    命题表达为: ∀x(H(x)->M(x));
    
    例5: 不是所有的自然数都是偶数
    解: 设N(x):x是自然数, E(x):x数偶数;
    命题表达为: (1): ¬∀x(N(x)->E(x)); (2): ∃x(N(x)∧¬E(x));
    
    例6: 所有大学生都喜欢一些歌星
    解: 设C(x):x是大学生, S(y):y是个星, L(x,y):x喜欢y ;
    命题表达为: ∀x( C(x)->∃y( S(y)∧L(x,y) ) )
    
    例7: 每个自然数都有唯一的后继数.
    解: 设 H(x,y):y是x的后继数, E(x,y): x=y, 个体域:{自然数}
    命题表达为: ∀x∃y( H(x,y)∧∀z( H(x,z)->E(y,z) ) );
    
    例8: 金子闪光, 但闪光的不一定都是金子. 
    解: 设 G(x):x是金子, F(x):x闪光;
    命题表达为: (1): ∀x(G(x)->F(x))∧∃x(F(x)∧¬G(x));
    (2): ∀x(G(x)->F(x))∧¬∀x(F(x)->G(x))
    

谓词演算的等价式与蕴含式

一、对谓词公式赋值(给谓词公式一个解释)
  1. 指定非空个体域集合;

  2. 将谓词公式中的命题变元,用确定的命题替代;

  3. 对公式中的个体变元用论域中的具体个体替代;

  4. 对公式中含有的谓词变项,用谓词常项替代;

    例:公式 P->N(x).
    个体域: 实数集合R;
    P:2>1;
    N(x): x是自然数;  x=4.
    是它的一个赋值:
    此公式变成T->N(4), 它的真值为"T".
    
二、谓词公式的永真式

给定谓词公式A, 如果不论对其作任何赋值, 都使得谓词公式A的真值为真, 则称A为永真式.

   例:公式 I(x)∨¬I(x).
   
三、谓词公式的等价公式

给定谓词公式A、B, 如果A<->B是永真式, 则称A与B等价, 记作A<=>B.

  例如: N(x)->I(x)<=>¬N(x)∨I(x).
  
四、谓词公式的永真蕴含式

给定谓词公式A、B, 如果A->B为永真式, 则称A永真蕴含B, 记作A=>B.

例如: (G(x)∧N(x))=>N(x).
(G(x)∧N(x))->N(x) <=>
¬(G(x)∧N(x))∨N(x) <=>
(¬G(x)∨¬N(x))∨N(x) <=>
¬G(x)∨(¬N(x)∨N(x)) <=>
¬G(x)∨T <=> T 是永真式. 
所以 (G(x)∧N(x))=>N(x).
谓词演算的等价及蕴含公式
一、由命题演算推广出的公式

因一个不含自由变元的谓词公式是命题. 而含有n个自由变元的原子谓词公式, 可以看成命题变元. 所以只要不牵涉到量词的运算, 命题演算中的等价公式和重言蕴含公式均可推广到谓词演算中使用.

例如: A(x)=>A(x)∨QB(x).
P=>P∨Q

∃x(A(x)->B(x))<=>∃xA(x)∨B(x));
P->Q<=>¬PQ

¬(∃xA(x)∧∃xB(x))<=>¬∃xA(x)∨¬∃xB(x)
¬(PQ)<=>¬P∨¬Q
一、有限个体域消去量词的等价公式

设论域为{a1,a2,...,an}, 则

  1. ∀xA(x) <=> A(a1)∧A(a2)∧...∧A(an)

  2. ∃xB(x) <=> B(a1)∨B(a2)∨...∨B(an)

    例如: 令A(x): 表示x是整数,
    B(x): 表示x是奇数,
    个体域为{1,2,3,4,5}
    ∀xA(x)=>A(1)∧A(2)∧A(3)∧A(4)∧A(5).
    ∃xB(x)=>B(1)∨B(2)∨B(3)∨B(4)∨B(5).
    

∀xA(x)<=>A(a1)∧A(a2)∧...∧A(an)

证明: 若一个赋值使得 ∀xA(x) 为 T, 则个体域中每个个体均为 T. 于是A(a1)为T, A(a2)为T,...,A(an)为T, 所以

A(a1)∧A(a2)∧...∧A(an) 为T.

若一个赋值使得 ∀xA(x) 为 F, 则个体域中一定存在着某个个体A(ai), 使得A(ai)为F, 于是 A(a1)∧A(a2)∧...∧A(an) 为F.

综上, ∀xA(x)<=>A(a1)∧A(a2)∧...∧A(an) 成立

   例如: 论域D = {1,2},
   P(1,1) = T, P(1,2) = T, P(2,1) = F, P(2,2) = F  
   
   求 ∀x∃y(P(y,x)) 的真值
   解: ∀x∃y(P(y,x)) 
   <=> ∃y(P(y,1))∧∃y(P(y,2))
   <=>(P(1,1)∨P(2,1))∧(P(1,2)∨P(2,2))
   <=>T∧T<=>T
   
二、量词否定等价公式 (量词与"¬"的关系)

¬∀xA(x) <=> ∃x¬A(x)

¬∃xA(x) <=> ∀x¬A(x)

量词转换率.

直观解释:

"并不是所有的x都有性质A" 与 "存在x没有性质A" 是一个意思.

"不存在有性质A的x" 与 "所有x都没有性质A" 是一个意思.

   例如: 令 A(x)表示: x是天才, 个体域:{我们班}
   ¬∀xA(x): 不是我们班所有同学都是天才.
   ∃x¬A(x): 我们班有些同学不是天才.
   ¬∃xA(x): 我们班没有同学是天才
   ∀x¬A(x): 我们班所有的同学都不是天才
   
三、量词辖域的扩充与收缩(量词与"∨,∧"的关系, 其中一个运算对象不受该量词约束)
  1. ∀xA(x)∨B <=> ∀x(A(x)∨B)
  2. ∀xA(x)∧B <=> ∀x(A(x)∧B)
  3. ∃xA(x)∨B <=> ∃x(A(x)∨B)
  4. ∃xA(x)∧B <=> ∃x(A(x)∧B)

我们以有限个体域证明公式

∀xA(x)∨B <=> ∀x(A(x)∨B)

证明: 设个体域为{a1,a2,...,an}

∀xA(x)∨B <=> (A(a1)∧A(a2)∧...∧A(an))∨B <=>

(A(a1)∨B)∧(A(a2)∨B)∧...∧(A(an)∨B) <=>

∀x(A(x)∨B)

其他公式: 5. B->∀xA(x) <=> ∀x(B->A(x))

  1. B->∃xA(x) <=> ∃x(B->A(x))

  2. ∀xA(x)->B <=> ∃x(A(x)->B)

  3. ∃xA(x)->B <=> ∀x(A(x)->B)

    例: 证明公式7xA(x)->B <=> ∃x(A(x)->B)
    证明 ∀xA(x)->B <=> ¬∀xA(x)∨B <=> ∃x¬A(x)∨B  <=> ∃xA(x)∨B)  <=> ∃x(A(x)->B)
    
四、量词分配公式(量词与"∨,∧"的关系, 其中两个运算对象均受量词约束)
  1. ∀x(A(x)∧B(x)) <=> ∀xA(x)∧∀xB(x)
  2. ∃x(A(x)∨B(x)) <=> ∃xA(x)∨∃xB(x)
  3. ∃x(A(x)∧B(x)) => ∃xA(x)∧∃xB(x)
  4. ∀xA(x)∨∀xB(x) => ∀x(A(x)∨B(x))

证明公式1 ∀x(A(x)∧B(x)) <=> ∀xA(x)∧∀xB(x)

设个体域为D.

若一个赋值使得∀x(A(x)∧B(x))为T, 则对任意个体x∈D均有A(x)∧B(x)为T, 于是对任意个体x∈D均有A(x)为T, 并且对任意个体x∈D均有B(x)为T, 所以∀xA(x)∧∀xB(x)为T

若一个赋值使得∀x(A(x)∧B(x))为F, 则至少有一个个体a∈D使得A(a)∧B(a)为F, 即A(a)为F或者B(a)为F, 于是∀xA(x)为F或者∀xB(x)为F, 所以∀xA(x)∧∀xB(x)为F

综上: ∀x(A(x)∧B(x)) <=> ∀xA(x)∧∀xB(x)

证明公式2 ∃x(A(x)∨B(x)) <=> ∃xA(x)∨∃xB(x)

可以用公式1来证明公式2:

∃x(A(x)∨B(x))

<=> ¬(¬∃x(A(x)∨B(x)))

<=> ¬(∀x¬(A(x)∨B(x)))

<=> ¬(∀x(¬A(x)∧¬B(x)))

<=> ¬(∀x¬A(x)∧∀x¬B(x))

<=> ¬(¬∃xA(x)∧¬∃xB(x))

<=> ∃xA(x)∨∃xB(x)

举例说明公式3: ∃x(A(x)∧B(x)) => ∃xA(x)∧∃xB(x)

A(x): x在联欢会上唱歌,
   B(x): x在联欢会上跳舞,
   论域为: {我们班};
   
   ∃x(A(x)∧B(x))表示: 我们班有些同学在联欢会上既唱歌又跳舞.
   ∃xA(x)∧∃xB(x)表示: 我们班有些同学在联欢会上唱歌并且有些同学在联欢会上跳舞. 
   
   可以看出 ∃x(A(x)∧B(x)) => ∃xA(x)∧∃xB(x)
   

证明公式 ∃x(A(x)∧B(x)) => ∃xA(x)∧∃xB(x)

证明: 假设前件 ∃x(A(x)∧B(x)) 为T, 则个体域中至少有一个个体a, 使得 A(a)∧B(a)为T, 于是 A(a)和B(a)都为T, 所以∃xA(x)为T以及∃xB(x)为T. 因此 ∃x(A(x)∧B(x)) => ∃xA(x)∧∃xB(x)

证明公式4: ∀xA(x)∨∀xB(x) => ∀x(A(x)∨B(x))

   利用公式3可以证明公式4
   证明 ∃x(¬A(x)∧¬B(x)) => ∃x¬A(x)∧∃x¬B(x)
   <=> ∃x¬(A(x)∨B(x)) => ¬∀xA(x)∧¬∀xB(x)
   <=> ¬∀x(A(x)∨B(x)) => ¬(∀xA(x)∨∀xB(x))
   若 p=>Q 则 ¬Q=>¬pxA(x)∨∀xB(x)=>∀x(A(x)∨B(x))

其他公式

  1. ∃x(A(x)->B(x)) <=> ∀xA(x) -> ∃xB(x)
  2. ∃xA(x)->∀xB(x) => ∀x(A(x)->B(x))

证明公式6: ∃xA(x)->∀xB(x) => ∀x(A(x)->B(x))

   证明 ∃xA(x)->∀xB(x)
   <=> ¬∃xA(x)∨∀xB(x)
   <=> ∀x¬A(x)∨∀xB(x)
   =>∀x(¬A(x)∨B(x))
   <=>∀x(A(x)->x))

前束范式

与命题公式的范式类似, 谓词公式也有范式形式.

这里主要介绍前束范式 -- 所有量词都在公式前边.

1. 前束范式定义:

如果一个谓词公式符合下面条件, 它就是前束范式:

  • 所有量词前面都没有连接词;

  • 所有量词都在公式的左面;

  • 所有量词的辖域都延伸到公式的末尾.

     例如 ∃y∀x∃z(A(x)->(B(x,y)∨C(x,y,z)))
     ∀x(A(x)->B(x))
    

2. 求前束范式的步骤:

  1. 消去公式中的连接词->和<-> (为了便于量词辖域的扩充).

  2. 如果量词前有 "¬", 用量词转化率将"¬"后移.

  3. 用约束变元的改名规则或自由变元的代入规则对变元换名 (为量词辖域扩充做准备).

  4. 用量词辖域扩充公式提取量词, 使之成为前束范式的形式.

    1xA(x)->∃xB(x)
    解1: ∀xA(x)->∃xB(x) 
    <=> ¬∀xA(x)∨∃xB(x) 
    <=> ∃x¬A(x)∨∃xB(x) 
    <=> ∃x¬A(x)∨∃yB(y) (约束变元改名)
    <=> ∃x∃yA(x)∨B(y)) (量词辖域扩充)
    
    解2: ∀xA(x)->∃xB(x) 
    <=> ¬∀xA(x)∨∃xB(x) 
    <=> ∃x¬A(x)∨∃xB(x) 
    <=> ∃xA(x)∨B(x))
    
    例2 求 ∀x(P(x)∧R(x))->(¬∃xP(x)∧Q(x))
    解:  ∀x(P(x)∧R(x))->(¬∃xP(x)∧Q(x))
    <=> ¬∀x(P(x)∧R(x))∨(¬∃xP(x)∧Q(x))
    <=> ∃x¬(P(x)∧R(x))∨(∀x¬P(x)∧Q(x))
    <=> ∃x¬(P(x)∧R(x))∨(∀y¬P(y)∧Q(z)) (约束变元改名,自由变元代入)
    <=> ∃x∀y(¬(P(x)∧R(x))∨(¬P(y)∧Q(z))) (量词辖域扩充)
    

谓词演算的推理理论(一)

我们已经讲过命题演算的推理理论, 现在我们来研究一下在谓词演算中如何进行推理? 我们知道谓词逻辑与命题逻辑的最大区别就在于命题表达的不同, 实际上也就是多了量词的处理问题, 所以对谓词演算的推理也是增加了量词的处理. 我们增加了四个规则: US, ES, EG, UG, 用于脱掉和添加量词.

推理方法:

  • 直接推理,
  • 条件论证,
  • 反证发 所用公式:
  • 基础等价公式
  • 基础重言蕴含公式. 推理规则: P、T、US、ES、EG、UG、CP、反证法以及其他一些规则

US、ES、EG、UG 规则用于处理量词. 因为推理时要使用不含量词的命题公式, 所以US、ES规则脱掉量词; 如果结论中有量词, 还把量词添上, EG、UG规则用于添加量词.

1. 全称特指规则US (Uninversal Specialization)

形式: ∀xA(x)=>A(c); (其中c是个体域内任意指定个体)

含义: 如果∀xA(x)为真, 则个体域内任意指定个体C, 有A(c)为真.

作用: 去掉全称量词

2. 存在特指规则ES (Existential Specialization)

形式: ∃xA(x)=>A(c); (其中c是个体域内使A(c)为T的某个个体)

含义: 如果∃xA(x)为真, 则个体域内一定有某个个体c, 使得A(c)为真

作用: 去掉存在量词

要求: 用ES指定的个体c, 不应该是在此之前用US规则或者用ES规则指定过的个体.

3. 存在推广规则EG (Existential Generalization)

形式: A(c)=>∃xA(x); (其中c是个体域内某个个体)

含义: 如果在个体域内某个个体c使得A(c)为真, 则∃xA(x)为真.

作用: 添加存在量词.

4. 全称推广规则UG (Universal Generalization)

形式: A(c)=>∀xA(x); (其中c是个体域内任意某个个体)

含义: 如果个体域内任意个体c均使得A(c)为真, 则∀xA(x)为真.

作用: 添加全称量词.

要求: c是个体域内任意的某个个体, 否则不可全称推广.

1. 所有金属都导电; 铜是金属; 故铜导电. 
解: 令 M(x): x是金属, C(x): x导电, a:铜.
符号化为: 
    ∀x(M(x)->C(x)), M(a) => C(a);
(1)  M(a)                  p
(2)  ∀x(M(x)->C(x))        p
(3)  M(a)->C(a)            US(2)
(4)  C(a)                  T(1)(3)I2. 所有自然数都是整数. 有些数是自然数. 因此有些数是整数
解: 令 A(x): x是自然数, B(x): x是整数, 个体域:{实数集合}
符号化为: 
∀x(A(x)->B(x)), ∃xA(x) => ∃xB(x)
(1) ∃xA(x)            p
(2) A(c)              ES(1)
(3) ∀x(A(x)->B(x))    p
(4) A(c)->B(c)        US(3)
(5) B(c)              T(2)(4)I
(6) ∃xB(x)            EG(5)

例3. ∃x(P(x)->Q(x))=>∀xP(x)->∃xQ(x)
用条件论证证明: 
(1) ∀xP(x)           p(附加前提)
(2) ∃x(P(x)->Q(x))   p
(3) P(c)->Q(c)       ES(2)
(4) P(c)             US(1)
(5) Q(c)             T(3)(4)I
(6) ∃xQ(x)           EG(5)
(6) ∀xP(x)->∃xQ(x)   CP

例4. ∃x(P(x)->Q(x))=>∀xP(x)->∃xQ(x)
用反证法证明:
(1) ¬(∀xP(x)->∃xQ(x))         p(假设前提)
(2) ¬(¬∀xP(x)∨∃xQ(x))        T(1)I
(3) ∀xP(x)∧¬∃xQ(x)           T(2)I
(4) ∀xP(x)                    T(3)I
(5) ¬∃xQ(x)                   T(3)I
(6) ∃x(P(x)->Q(x))            p
(7) P(a)->Q(a)                ES(6)
(8) P(a)                      US(4)
(9) Q(a)                      T(7)(8)I
(10) ∃xQ(x)                   EG(9)
(11) ¬∃xQ(x)∧∃xQ(x)          T(5)(10)I

例5. 不存在能表示成分数的无理数; 有理数都能表示成分数; 因此, 有理数都不是无理数.
解: 令 W(x): x是无理数, Y(x): x是有理数, F(x): x能表示成分数
符号化为: 
¬∃x(F(x)∧W(x)), ∀x(Y(x)->F(x)) => ∀x(Y(x)->¬W(x))
(1)  ¬∃x(F(x)∧W(x))      p
(2)  ∀x¬(F(x)∧W(x))      T(1)E
(3)  ∀xF(x)∨¬W(x))     T(2)E
(4)  ∀x(F(x)->¬W(x))      T(3)E
(5)  F(a)->¬W(a)          US(4)
(6)  ∀x(Y(x)->F(x))       p
(7)  Y(a)->F(a)           p
(8)  Y(a)->¬W(a)          T(5)(7)I
(8)  ∀x(Y(x)->¬W(x))      UG(8)

谓词演算的推理理论(二)

注意: 置换定律: A是一个命题公式, X是A的子公式, 如果X<=>Y, 用Y代替A中的X得到公式B, 则A<=>B.

例如: PQ=>P, 是否有 ¬(P∧Q) => ¬P ?
因为: ¬(P∧Q) <=> ¬P∨¬Q
所以 ¬P => ¬P∨¬Q <=> ¬(P∧Q)
即 ¬(P∧Q) => ¬P 不成立

若X是公式A的子公式, 且 X=>Y, 用Y替换A中的X而得到公式B, 则未必有A=>B.

由于US、ES、UG、EG规则都是蕴含式, 所以必须对整个公式用这些规则, 绝不可以对一个子公式用这些规则.

  • 去量词时, 该量词必须是公式最左边的量词, 即该量词的前边无任何符号, 并且它的辖域作用到公式末尾.
  • 添加量词时, 也要加在公式最左边, 即新加的两次前无任何符号, 并且其辖域也要作用到公式的末尾.

image.png

image.png

小杨、小刘和小林为高山俱乐部成员。该俱乐部每个成员都是滑雪者或登山者。没有一个登山者喜欢雨。所有的滑雪者都喜欢雪。凡是小杨喜欢的,小刘都不喜欢。小杨喜欢雨和雪。问:该俱乐部是否有个成员是登山者而不是滑雪者。如果有,他是谁?

解 令:M(x):x是高山俱乐部成员, H(x):x是滑雪者, D(x):x是登山者, L(x,y): x喜欢y, a:小杨,b:小刘,c:小林,d:雨,e:雪;

  1. 小杨、小刘和小林为高山俱乐部成员: M(a), M(b), M(c)

  2. 该俱乐部每个成员都是滑雪者或登山者 ∀x( M(x)->( H(x)∨D(x) ) )

  3. 没有一个登山者喜欢雨 ¬∃x( D(x)∧L(x,d) )

  4. 所有的滑雪者都喜欢雪 ∀x( H(x)->L(x,e) )

  5. 凡是小杨喜欢的,小刘都不喜欢 ∀x( L(a,x)->¬L(b,x) )

  6. 小杨喜欢雨和雪 L(a,d)∧L(a,e)

问: 该俱乐部是否有个成员是登山者而不是滑雪者。如果有,他是谁? ∃x( D(x)∧¬H(x) )

M(a), M(b), M(c), ∀x( M(x)->( H(x)∨D(x) ) ), ¬∃x( D(x)∧L(x,d) ) ,∀x( H(x)->L(x,e) ),∀x( L(a,x)->¬L(b,x) ),L(a,d)∧L(a,e) 是否重言蕴含 ∃x( D(x)∧¬H(x) )

(1) L(a,d)∧L(a,e)                  p
(2) L(a,d)                          T(1)I
(3) L(a,e)                          T(1)I
(4) ∀x( L(a,x)->¬L(b,x) )           p
(5) L(a,e)->¬L(b,e)                 US(4)
(6) ¬L(b,e)                         T(3)(5)I
(7) ∀x( H(x)->L(x,e) )              p
(8) H(b)->L(b,e)                    US(7)
(9) ¬H(b)                           T(6)(8)I  (小刘不是滑雪者)
(10) ∀x( M(x)->( H(x)∨D(x) ) )     p
(11) M(b)->( H(b)∨D(b) )           US(10)
(12) M(b)                           p
(13) H(b)∨D(b)                     T(11)(12)I
(14) D(b)                           T(9)(13)I (小刘是登山者)
(14) ¬H(b)∧D(b)                    T(9)(14)I
(15) ∃x( D(x)∧¬H(x) )              EG(14)

第二篇

集合论

集合论初步

基本概念与集合的表示方法
  1. 集合与元素

集合: 是由确定的对象(客体)构成的集体. 用大写的英文字母表示

这里所谓 "确定" 是指: 论域内任何客体, 要么属于这个集合, 要么不属于这个集合, 是唯一确定的 -- 集合的 "确定性".

元素: 集合中的对象, 称之为元素.

∈: 表示元素与集合的属于关系.

例如, N表示自然数集合, 2∈N;
1.5不属于N写成 ¬(1.5∈N), 或写成 1.5 ∉ N

2. 集合的表示方法

列举法: 将集合中的元素一一列出, 写在大括号内.

例如, N = {1,2,3,4,...}, A = {a,b,c,d}

描述法: 用句子(或谓词公式)描述元素属性.

例如, B = {x | x是偶数}
C = { x | x是实数且2≤x≤5 }

一般的, A = {x | P(x)}, 其中 P(x) 是谓词公式. 如果论域内客体 a 使得 P(a) 为真, 则a∈A, 否则 a∉A.

说明

  1. 集合中的元素次序无关紧要("无序性"), 但是必须是可相互区分的("互异性").

    例如:
    A = {a,b,c,d,a},
    B = {c,b,a},
    AB相同
    
  2. 对集合中的元素无任何限制

    例如:
    A = {人,石头,1,B},
    B = {∅,{∅}},
    
  3. 常用的几个集合符号的约定:

    自然数集合N, 整数集合I, 实数集合R, 有理数集合Q; 
    
  4. 集合中的元素也可以是集合.

    例如
    a:         张同学
    {a}:       一个班级(只有张同学一人)
    {{a}}:     一个系(只有一个班级)
    {{{a}}}:   一学院(只有一个系)
    
集合间的关系
  1. 包含关系(子集关系)

定义: A、B是集合, 如果A中的元素都是B中的元素, 则称B包含A, A包含于B, 也称A是B的子集。 记作A⊆B

   例如
   N是自然数集合, R是实数集合, 则 N⊆R

image.png

包含关系的谓词公式定义

   AB <=> ∀x(x∈A -> x∈B)
   N⊆R <=> ∀x(x∈N -> x∈R)
   

性质

  • 有自反性, 对任何集合A 有 A⊆A.
  • 有传递性, 人任何集合A、B、C,有A⊆B且B⊆C, 则A⊆C.
  • 有反对称性, 对任何集合A、B, 有A⊆B且B⊆A, 则A=B.
  1. 相等关系

定义: A,B是集合, 如果它们的元素完全相同, 则称A与B相等. 记作A=B.

集合相等关系的谓词公式定义

A=B <=> ABBA 
<=> ∀x(x∈A -> x∈B)∧∀x(x∈B -> x∈A) 
<=> ∀x(x∈A <-> x∈B)

集合相等关系的判定

定理: A=B, 当且仅当 ABBA

证明: 
充分性: 已知 ABBA 求证A=B
假设 AB 则至少有一个元素使得 aAaB, 或者 aAaB 
如果aAaB则与AB矛盾, 如果aAaB则与BA矛盾 所以A=B

必要性: 已知A=B 求证 ABBA
根据集合包含关系的自反性 AA,又因为A=B,则有AB
同理BA

性质

(1) 有自反性, 对任何集合A, 有A=A.
(2) 有传递性, 对任何集合A,B,C, 如果有A=BB=C, 则A=C
(3) 有对称性, 对任何集合A,B, 如果有A=BB=A

3. 真包含关系(真子集关系)

定义:

A,B是集合, 如果ABAB, 则B真包含A, 或A真包含于B, 也称AB的真子集, 记作AB

集合真包含关系的谓词公式定义

AB<=>ABAB
<=> ∀x(x∈A->x∈B)∧¬∀x(x∈A<->x∈B)
<=> ∀x(x∈A->x∈B)∧∃x(x∈B∧x∉A)

性质

传递性: 对任何集合A, B, C, 如果有ABBC, 则 AC
特殊集合
  1. 全集E

定义:

包含所讨论的所有集合的集合, 称之为全集, 记作E. 实际上就是论域

image.png

由于讨论的问题不同, 全集也不同. 所以全集不唯一.

  • 若讨论数, 可以把实数集看成全集;
  • 若讨论人, 可以把人类看成全集.

全集E的谓词公式描述法表示形式:

由于论域内任何可以x都属于E, 所以x∈E为永真式.

E = {x|P(x)∨¬P(x)}

性质

对于任何集合A, 都有A⊆E.

  1. 空集∅

定义

没有元素的集合, 称之为空集, 记作∅.

空集∅的谓词公式描述法表示形式:

因为论域内任何可以x∈∅是矛盾式, 所以要用一个矛盾式定义∅.

∅ = {x|P(x)∧¬P(x)}

性质

  • (1) 因为∀x(x∈∅->x∈A)为永真式, 所以 ∅⊆A, 即对于任意集合A, 都有∅⊆A
  • (2) 空集是唯一的.

证明: 假设有两个空集 ∅1, ∅2, 则因为∅1空集, 则由性质1得 ∅1⊆∅2. 因为∅2空集, 则由性质1得 ∅2⊆∅1. 所以 ∅2=∅1

集合的运算
  1. 交运算

定义

A,B 是集合, 由既属于A, 也属于B的元素构成的集合, 称之为A与B的交集, 记作A∩B

例如: A = {1,2,3}, B = {2,3,4}, 则 AB = {2,3}

image.png

集合交运算的谓词公式定义

AB = {x|x∈A ∧ x∈B},
x∈AB = x∈A ∧ x∈B.
如果AB=∅, 则称AB不相交. 

性质

  • (1)幂等律 对任何集合A, 有 A∩A = A.

  • (2)交换律 对任何集合A,B, 有 A∩B = B∩A.

  • (3)结合律 对任何集合A,B,C, 有 (A∩B)∩C = A∩(B∩C).

  • (4)同一律 对任何集合A, 有 A∩E = A.

  • (5)零律 对任何集合A, A∩∅ = ∅.

  • (6)A⊆B <=> A∩B = A.

    下面对性质(6)进行证明: A∩B = A <=> ∀x( x∈A∩B <-> x∈A ) <=> ∀x( (x∈A∩B->x∈A) ∧ (x∈A->x∈A∩B) ) <=> ∀x( (x∉A∩B ∨ x∈A) ∧ (x∉A ∨ x∈A∩B) ) <=> ∀x( (¬(x∈A ∧ x∈B) ∨ x∈A) ∧ (x∉A ∨ (x∈A ∧ x∈B)) ) <=> ∀x( (x∉A ∨ x∉B ∨ x∈A) ∧ (x∉A ∨ (x∈A ∧ x∈B)) ) <=> ∀x( T ∧ ((x∉A ∨ x∈A) ∧ (x∉A ∨ x∈B)) ) <=> ∀x((x∉A ∨ x∈A) ∧ (x∉A ∨ x∈B)) <=> ∀x(T ∧ (x∉A ∨ x∈B)) <=> ∀x(x∉A ∨ x∈B) <=> ∀x(x∈A -> x∈B) <=> A⊆B

  1. 并运算

定义

A,B是集合, 由或者属于A, 或者属于B的元素构成的集合, 称之为A与B的并集, 记作A∪B.

例如: A={1,2,3}, B={2,3,4},则 AB = {1,2,3,4}

image.png

集合并运算的谓词公式定义

AB = {x|x∈A∨x∈B}
x∈AB <=> x∈A ∨ x∈B

性质

  • (1)幂等律 对任何集合A, 有A∪A = A.

  • (2)交换律 对任何集合A,B, 有A∪B = B∪A.

  • (3)结合律 对任何集合A,B,C, 有(A∪B)∪C = A∪(B∪C).

  • (4)同一律 对任何集合A, 有A∪∅ = A.

  • (5)零律 对任何集合A, 有A∪E = E.

  • (6)分配率 对任何集合A,B,C, 有 A∩(B∪C) = (A∩B)∪(A∩C), A∪(B∩C) = (A∪B)∩(A∪C)

  • (7)吸收律 对任何集合A,B, 有 A∪(A∩B) = A, A∩(A∪B) = A

    证明 A∪(A∩B) = (A∩E)∪(A∩B) (同一律) = A∩(E∪B) (分配率) = A∩E = A (零律)(同一律)

  • (8)A⊆B <=> A∪B = B

  1. 差运算

定义

A,B是集合, 由属于A,而不属于B的元素构成的集合, 称之为A与B的差集, 或B对A的相对补集, 记作A-B

例如: A={1,2,3}, B={2,3,4}, 则 A-B = {1}

image.png

集合差运算的谓词公式定义

A-B = {x|x∈A ∧ x∉B}
x∈A-B = x∈A ∧ x∉B

性质

A,B,C是任意集合, 则
(1)A-∅=A  (2)∅-A=∅  (3)A-A=∅  (4)A-BA
(5)AB <=> A-B=∅ <=> AB=A <=> AB=B
(6)(A-B)-C=(A-C)-(B-C)

image.png

(7)A-(B∩C) = (A-B)∪(A-C) 

image.png

(8)A-(B∪C) = (A-B)∩(A-C)

image.png

(9)A∩(B-C) = (A∩B)-(A∩C)

证明性质(9): 任意 x∈(A∩B)-(A∩C)
<=> x∈(A∩B)∧x∉(A∩C)
<=> xAxB ∧ ¬(x∈A ∧ x∈C)
<=> xAxB ∧ (x∉A ∨ x∉C)
<=> (x∈A ∧ x∈B ∧ x∉A) ∨ (x∈A ∧ x∈B ∧ x∉C)
<=> F ∨ (x∈A ∧ x∈B ∧ x∉C)
<=> xAxBxC
<=> xAxB-C
<=> xA∩(B-C)

注意

∪运算对 - (差运算) 是不可分配的. 例如:
A∪(A-B) = A
(A∪A) - (A∪B) = ∅
包含排斥定理

有限集合的计数问题:

  1. 文氏图法
  • Step1: 根据已知条件构建文氏图

  • Step2: 填充已知区域的元素数, 未知区域用变量来表示;

  • Step3: 对未知变量列方程组, 求解;

    例: 对 24 名科技人员掌握外语情况调查发现: 英, 日, 德, 法四种外语中, 每个人至少会一种; 会英,日,德,法语的人数分别是 13,5,10,9 人; 同时会英,日语的有 2 人; 同时会英,法语的有 4 人; 同时会德,法语的有 4 人; 同时会英,德语的有 4 人; 会日语的人不会德语,也不会法语;

    问: 这 24 人中, 只会一种外语的人各是多少人? 同时会英,法,德三种语言的人有多少人?

image.png

  1. 包含排斥定理(容斥定理)

    |A∪B| = |A|+|B|-|A∩B|

    说明: 设 A={1,2,3,4}, B={3,4,5,6}, A∪B = {1,2,3,4,5,6}, 那么 |AUB| = 6, |A| = 4, |B|=4, |A∩B| = 2 所以 |A|+|B|-|A∩B|=6

    |A∪B∪C| = |A∪B|+|C| - |(A∪B)∩C| = |A|+|B|-|A∩B|+|C| - |(A∩C)∪(B∩C)| = |A|+|B|-|A∩B|+|C| - (|A∩C|+|B∩C|-|A∩C∩B∩C|) = |A|+|B|-|A∩B|+|C| - (|A∩C|+|B∩C|-|A∩B∩C|) = |A|+|B|+|C| -|A∩B| - |A∩C|-|B∩C| + |A∩B∩C|

    例: 求 1 到 1000 之间不能被 5,6,8 整除的数的格式. 解: 设全集 E={x|x 是 1 到 1000 的整数} |E| = 1000. A5,A6,A8 是 E 的子集并分别表示可以被 5,6,8 整除的数的集合. ⌊ x ⌋: 表示 x 向下取整 LCM(x,y): 表示 x,y 两个数的最小公倍数

    |A5| = ⌊ 1000/5 ⌋ = 200 |A6| = ⌊ 1000/6 ⌋ = 166 |A8| = ⌊ 1000/8 ⌋ = 125

    |A5∩A6| = ⌊ 1000/LCM(5,6) ⌋ = ⌊ 1000/30 ⌋ = 33 |A5∩A8| = ⌊ 1000/LCM(5,8) ⌋ = ⌊ 1000/40 ⌋ = 25 |A6∩A8| = ⌊ 1000/LCM(6,8) ⌋ = ⌊ 1000/24 ⌋ = 41

    |A5∩A6∩A8| = ⌊ 1000/LCM(5,6,8) ⌋ = ⌊ 1000/120 ⌋ = 8

    |¬(A5∪A6∪A8)| = |E| - |A5∪A6∪A8| = |E| - (|A5|+|A6|+|A8|-|A5∩A6|-|A5∩A8|-|A6∩A8|+|A5∩A6∩A8|) 1000-(200+166+125-33-25-41+8) = 600

二元关系

序偶与集合的笛卡尔积

一, 序偶与有序n元组

  1. 序偶/有序二元组

    由两个对象x,y组成的序列称为有序二元组,也称之为序偶, 记作<x,y>; 称x,y分别为序偶<x,y>的第一,第二元素. 注意: 序偶<x,y>与集合{x,y}不同, 表现在: 序偶<x,y>: 元素x和y有次序. 集合{x,y}: 元素x和y的次序无关紧要

  2. 序偶相等

    设<x,y>,<u,v>是两个序偶, 如果x=u且y=v, 则称<x,y>和<u,v>相等, 记作<x,y>=<u,v>.

  3. 有序3元组

    有序3元组是一个序偶, 其第一个元素也是个序偶 注意: <<a,b>,c> 是有序3元组, 简记成<a,b,c>. <a,<b,c>>不是有序3元组

  4. 有序n元组

    有序n元组是一个序偶, 其第一个元素本身是一个有序n-1元组, 记作<<x1,x2,...xn-1>,xn>, 简记为<x1,x2,...xn-1,xn>.

  5. 有序n元组相等

    <x1,x2,...,xn> = <y1,y2,...,yn>
    等价于 (x1=y1)∧(x2=y2)∧...∧(xn=yn)

一, 集合的笛卡尔积

定义

设集合A,B, 由A的元素为第一元素, B的元素为第二元素组成的全部的序偶的集合, 称为AB的笛卡尔积, 记作A*B
A*B = {<x,y>|x∈A ∧ y∈B}

例1A = {0,1} ,B = {a,b}, 求A*B, B*A, A*A
解: A*B = {<0,a>,<0,b>,<1,a>,<1,b>}
    B*A = {<a,0>,<b,0>,<a,1>,<b,1>}
    A*A = {<0,0>,<0,1>,<1,0>,<1,1>}

可见 A*BB*A. 所以, 集合笛卡尔积运算不满足交换律

此外
(A*B)*C = {<<a,b>,c>|<a,b>∈A*B ∧ c∈C}
A*(B*C) = {<a,<b,c>>|aA ∧ <b,c>∈B*C}

因 <a,<b,c>> 不是有序三元组, 所以 (A*B)*C ≠ A*(B*C) 可见, 集合笛卡尔积也不满足结合律.

集合的笛卡尔积的性质

  1. 如果 A,B 都是有限集, 且 |A| = m, |B| = n, 则|A*B| = mn.

证明: 由笛卡尔积的定义及排列组合中的乘法原理得证.

  1. A * ∅ = ∅ * B = ∅

证明: 以 A* ∅ = ∅ 为例, 根据集合笛卡尔积的定义, A* ∅ 由 A 的元素为第一元素, ∅ 中的元素为第二元素组成序偶的集合. 由于 ∅ 中没有任何元素, 因此 A*∅=∅.

  1. 笛卡尔积对 ∪ 合 ∩ 运算满足分配律

设 A,B,C 是任意集合, 则 A * (B∪C) = (A * B) ∪ (A * C), A * (B∩C) = (A * B) ∩ (A * C), (A∪B) * C = (A * C) ∪ (B * C), (A∩B) * C = (A * C) ∩ (B * C)

证明: A*(B∪C) = (A*B) ∪ (A*C)
任取: <x,y> ∈ A*(B∪C)
<=> xAyBC
<=> xA ∧ (y∈B ∨ y∈C)
<=> (x∈A ∧ y∈B) ∨ (x∈A ∧ y∈C)
<=> <x,y> ∈ (A*B) ∪ (A*C)

4. 若 C≠∅, 则 A⊆B <=> A * C ⊆ B * C <=> C * A ⊆ C * B

证明: 充分性: 已知 A⊆B,C≠∅ 求证 A * C ⊆ B * C. 任取<x,y> ∈ A * C <=> x∈A∧y∈C => x∈B∧y∈C (因已知 A⊆B) <=> <x,y> ∈ B * C, 所以 A * C ⊆ B * C

必要性: 已知 C≠∅ 由 A * C ⊆ B * C. 求证 A⊆B. 取 C 中元素 y, 并任取 x∈A => x∈A∧y∈C <=> <x,y>∈A * C <=> <x,y>∈B * C (因已知 A * C ⊆ B * C) <=>x∈B∧y∈C => x∈B, 所以 A⊆B

  1. 设 A,B,C,D 为非空集合, 则 AB ⊆ CD <=> A⊆C ∧ B⊆D

    证明: 充分性: 已知 AB ⊆ CD, 证明 A⊆C ∧ B⊆D 任取 x∈A, 任取 y∈B, 则有 x∈A∧y∈B <=> <x,y>∈AB => <x,y>∈CD 由 A * B ⊆ C * D <=> x∈C∧y∈D, 所以, A⊆C ∧ B⊆D

    必要性: 已知 A⊆C, B⊆D, 证明 A * B⊆C * D 任取 <x,y> ∈ A * B <=> x∈A∧y∈B => x∈C∧y∈D (由 A⊆C, B⊆D) <=><x,y> = ∈ C * D

  2. 由于笛卡尔积不满足结合律, 所以约定

    ((...(A1 * A2) * ... * An-1) * An) = A1 * A2 * ... * An 如果 A1 = A2=...=An, 则 A1 * A2 * ... * An = Aⁿ

集合笛卡尔积运算的应用

  1. 设 A1 = {x | x 是学号}, A2 = {x | x 是姓名}, A3 = {男,女}, A4 = {x|x 是出生日期}, A5 = {x|x 是班级}, A6 = {x|x 是籍贯} 则 A1 * A2 * A3 * A4 * A5 * A6 中的一个元素: <001,王强,男,1981:02:16,计 201301,辽宁> 这就是学生档案数据库的一条信息, 所以学生的档案就是 A1 * A2 * A3 * A4 * A5 * A6 的一个子集.

  2. 令 A = {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}, 即英文字母表. 那么, 一个英文单词可以看成有序 n 元组, 如:

英文单词有序 n 元组
at<a,t>∈A²
boy<b,o,y>∈A³
data<d,a,t,a>∈A⁴
computer<c,o,m,p,u,t,e,r>∈A⁷
关系及其表示方法

一, 关系的基本概念

  1. 相关

按照某种规则, 确认了二个对象或多个对象之间有关系, 称这二个对象或多个对象是相关的.

1: 令 α = {A,B,C,D,...,Z}, β = {11000,10011,......,10001} 则我们可以建立大写英文字母
与五单位代码的对应关系R1:
R1 = {<A,11000>,<B,10011>,<Z,10001>} ⊆ α*β

例2: 令A = {1,2,3,4}, 我们可以确定A中元素间的关系≦关系R2:
R2 = {<1,1>,<1,2>,<1,3>,<1,4>,<2,2>,<2,3>,<2,4>,<3,3>,<3,4>,<4,4>} ⊆ A*A

2. 定义

定义 1: 设 A,B 是集合, 如果 R⊆A * B, 则称 R 是一个从 A 到 B 的二元关系. 如果 R⊆A * A, 则称 R 是 A 上的二元关系. 二元关系简称为关系.

定义 2: 任何序偶的集合, 都称之为一个二元关系. 例如: R= {<1,a>,<书,车>,<人,树>}

<x,y> ∈ R(后缀表示) <=> xRy(中缀表示) 也称之为x与y有R关系. 例3. R是实数集合, R上的几个熟知的关系

999.png

  1. 关系的定义域(domain):

设 R ⊆ A * B, 由所有<x,y> ∈ R 的第一个元素组成的集合, 称为R的定义域. 记作dom R, 即 dom(R) = {x|∃y(<x,y> ∈ R)};

  1. 关系的值域(range):

设 R ⊆ A * B, 由所有<x,y> ∈ R 的第二个元素组成的集合, 称为R的值域. 记作ran R, 即 ran(R) = {y|∃x(<x,y> ∈ R)};

令 R1 = {<1,1>,<1,2>,<1,3>,<1,4>,<2,2>,<2,3>,<2,4>,<3,3>,<3,4>,<4,4>}
则
dom(R1) = {1,2,3,4}
ran(R1) = {1,2,3,4}

5. 关系的表示方法 (枚举法, 谓词公式法,有向图发,矩阵法)

枚举法

即将关系中所有序偶一 一列举出, 写在大括号内. 例如:
R = {<1,1>,<1,2>,<1,3>,<1,4>,<2,3>,<2,4>,<3,3>,<3,4>}

谓词公式法

即用谓词公式表示序偶的第一元素与第二元素间的关系. 例如:
R = {<x,y>|x<y}

有向图发

R ⊆ A * B, 用两组小圆圈(称为结点) 分别表示AB的元素, 当<x,y> ∈ R时, 从x到y引一条有向弧(边). 这样得到的图形称为R的关系图
例如: 设
A = {1,2,3,4}, B={a,b,c}, R1 ⊆ A * B, R2 ⊆ A * A,
R1 = {<1,a>,<1,c>,<2,b>,<3,a>,<4,c>},
R2 = {<1,1>,<1,4>,<2,3>,<3,1>,<3,4>,<4,1>,<4,2>}

image.png

image.png

矩阵表示法

设有限集 A = {a1,a2,...,am} 和 B = {b1,b2,...,bn}, R ⊆ A * B, 定义R的 m * n 阶矩阵 MR = (rij)m * n 其中

rij = 1 若<ai,bj> ∈ R

rij = 0 若<ai,bj> ∉ R

(1≦i≦m,1≦j≦n)

例如: 设 A = {1,2,3,4}, B={a,b,c}, R1 ⊆ A * B, R2 ⊆ A * A,

R1 = {<1,a>,<1,c>,<2,b>,<3,a>,<4,c>},

R2 = {<1,1>,<1,4>,<2,3>,<3,1>,<3,4>,<4,1>,<4,2>}

MR1 =

abc
1101
2010
3100
4001

MR2 =

1234
11001
20010
31001
41100
  1. 三个特殊关系

空关系(∅)

因为∅⊆A * B(或∅⊆A * A), 所以∅也是一个从A到B(或A上)的关系, 称之为空关系

例如定义在 {1,2,3}上的空关系

image.png

image.png

显然, 空关系式没有任何元素的关系. 它的关系图中只有结点, 无任何边; 矩阵中全是0

完全关系(全域关系)

设有限集合A,B, A * B(或A * A)本身也是一个从A到B(或A上)的关系, 称之为完全关系.

例如定义在{1,2,3}上的完全关系

image.png

image.png

显然, 完全关系式包括集合笛卡尔积中全部序偶的关系; 矩阵中全是1.

恒等关系

IA ⊆ A × A, 且 IA = {<x,x>|x∈A}, 称为A上的恒等关系.

例如: A = {1,2,3}, 则 IA = {<1,1>,<2,2>,<3,3>}

image.png

image.png

  1. 关系的集合运算

由于关系是集合, 所以集合的 ∩, ∪, -,⊕ 和 ~ 运算对关系也适用

例如: A是学生集合, R是A上的同乡关系, S是A上的同姓关系, 则

R∪S: 或同乡或同姓关系; R∩S: 即同乡又同姓关系;

R-S: 同乡而不同姓关系; ~ R:不是同乡关系, 这里~R = (A×A)-R

R⊕S: 同乡而不同姓,或同姓而不同乡关系

image.png

image.png

image.png

image.png

函数