数理逻辑

命题逻辑

基本概念

  • 命题:只有真、假两种状态的陈述语句,在命题逻辑里,原子命题不提供任何除真假以外的信息,这也导致命题逻辑的局限性
  • 逻辑等价(p≡qp\equiv q):表示**pp等价于qq**,即有相同的真值表
  • 否定(¬p\neg p):表示**pp的否定**
  • 析取(p∨qp\vee q):表示**pp或者qq**
  • 合取(p∧qp\wedge q):表示**pp并且qq**
  • 异或(p⊕qp\oplus q):表示**pp异或qq**
  • 条件(p→qp\rightarrow q):表示若pp,则qq
    • 从定义上看,只有当p=T∧q=Fp=T\wedge q=F时违反了语句,故其它情况均人为定义为TT
  • 双条件(p↔qp\leftrightarrow q):表示**pp当且仅当qq**,与p⊙qp\odot q等价
    • 若p↔qp\leftrightarrow q为永真式,称p≡qp\equiv q或p⇔qp\Leftrightarrow q
  • 对条件语句p→qp\rightarrow q:
    • 反命题:¬p→¬q\neg p\rightarrow\neg q,即对输入取反,真值表上下颠倒
    • 逆命题:q→pq\rightarrow p,真值表上下颠倒
    • 逆否命题:¬q→¬p\neg q\rightarrow \neg p,和原命题等价
  • 优先级:¬>∧>∨>→>↔\neg>\wedge>\vee>\rightarrow>\leftrightarrow

与其它逻辑系统的对应

命题逻辑逻辑代数位运算符集合论自然语言描述
¬p\neg ppˉ\bar pNOT\rm NOT否定/取反
∨\vee++OR\rm OR∪\cup析取/或/逻辑和/并
∧\wedge⋅·AND\rm AND∩\cap合取/与/逻辑积/交
p→qp \rightarrow qpp蕴涵qq
p⇒qp\Rightarrow qpp永真蕴涵qq/pp是qq的充分条件
p↔qp\leftrightarrow q⊙\odotXNOR\rm XNORpp当且仅当qq/pp同或qq
p⇔qp\Leftrightarrow qpp是qq的充要条件
$$NAND\rm NAND
↓\downarrowNOR\rm NOR或非

基本等价公式

  • 满足交换律、结合律、分配律
  • 德⋅\cdot摩根律:
    • ¬(p∧q)≡¬p∨¬q\neg(p\wedge q)\equiv \neg p\vee\neg q
    • ¬(p∨q)≡¬p∧¬q\neg(p \vee q)\equiv\neg p\wedge\neg q
  • 支配律:p∨T≡T、p∧F≡Fp\vee T\equiv T、p\wedge F\equiv F
  • 自等律:p∨p≡p、p∧p≡pp\vee p\equiv p、p\wedge p\equiv p
  • 恒等律:p∨F≡p、p∧T≡pp\vee F\equiv p、p\wedge T\equiv p
  • 否定律:p∨¬p≡T、p∧¬p≡Fp\vee \neg p\equiv T、p\wedge \neg p\equiv F
  • 吸收律:
    • p∨(p∧q)≡pp\vee(p\wedge q)\equiv p
    • 由分配律,p∧(p∨q)≡pp\wedge(p\vee q)\equiv p,也即上式的对偶
  • 消解律:
    • (p∧q)∨(¬p∧r)≡q∧r(p\wedge q)\vee (\neg p\wedge r)\equiv q\wedge r
    • 取对偶,(p∨q)∧(p∨r)≡q∨r(p\vee q)\wedge(p\vee r)\equiv q\vee r

条件命题的等价

  • p→q≡¬q→¬p≡¬p∨qp\rightarrow q\equiv \neg q\rightarrow\neg p\equiv \neg p\vee q
  • (p→q)∧(p→r)≡p→(q∧r)(p\rightarrow q)\wedge(p\rightarrow r)\equiv p\rightarrow(q\wedge r)
  • (p→r)∧(q→r)≡(p∨q)→r(p\rightarrow r)\wedge(q\rightarrow r)\equiv(p\vee q)\rightarrow r
  • (p→q)∨(p→r)≡p→(q∨r)(p\rightarrow q)\vee(p\rightarrow r)\equiv p\rightarrow(q\vee r)
  • (p→r)∨(q→r)≡(p∧q)→r(p\rightarrow r)\vee(q\rightarrow r)\equiv(p\wedge q)\rightarrow r

逻辑函数

对偶规则

  • 恒等式通常成对出现,称其为对偶,以FdF^d表示FF的对偶函数,对一个恒等式两边取对偶不影响恒等性
  • Fd≢F(一般)、(Fd)d≡FF^d\not\equiv F(一般)、(F^d)^d\equiv F
  • 对偶函数由原函数交换逻辑与、逻辑或,交换00和11得到

反演规则

  • 一个函数的反函数可以由原函数交换逻辑与、逻辑或,交换00和11,同时原变量变反变量、反变量变原变量而得,其中反变量特指单个变量上的非号,跨两个及以上变量的非号不能动
  • 同样可借Fˉ\bar F来求FF

谓词逻辑

命题逻辑的局限

命题逻辑的最小单元是命题,所以命题逻辑无法表示那些不真不假的语句,因为它们没有指定变量的值

因此也无法从若干简单命题中得到新命题,例如亚里士多德三段论:

  • 三个原子命题:p:p:所有人都要死、q:q:苏格拉底是人、r:r:所以苏格拉底要死
  • 根据逻辑推理,由pp且qq一定可以得到rr,即要证明(p∧q)⇒r(p\wedge q)\Rightarrow r
  • 尽管p∧q=Tp\wedge q=T,在命题逻辑的系统里,仍然可以把FF指派给rr
  • 换句话说就是,给命题赋予真值的同时,也掩盖掉了具体的信息,你只知道pp是对的,qq是对的,然后无法得知任何其它信息,也就无法得知rr的真值
  • 如果能变成假言三段论的形式,是可以通过命题逻辑表示的,但原子命题已经是最小的命题了

谓词逻辑解决这样的事情:提取出命题中的信息,并提供一套符号用于产生新的、适用更广的命题

谓词与量词

通过谓词可以从这些语句中生成命题,谓词逻辑允许对命题进行更细的划分

  • 个体:命题所描述的对象,约定用小写字母表示
  • 谓词:命题赋予主体的属性或动作,约定用大写字母P、Q、RP、Q、R表示
  • 命题的谓词形式:由谓词和若干个体常元组合成P(a1,a2,⋯ ,an)P(a_1,a_2,\cdots,a_n)的形式
    • 称P(x1,x2,⋯ ,xn)P(x_1,x_2,\cdots,x_n)为一个nn元谓词,其中xx为个体变元,称它能够表示的所有个体的集合为它的个体域
  • 量词:通过量词来限定个体域在谓词中的不确定性,例如所有、至少等
    • 全称量词(∀x)(\forall x):表达所有
    • 存在量词(∃x)(\exist x):表达存在
    • 存在唯一量词(∃ ! x)(\exist\ !\ x):表达存在唯一
    • 后接谓词P(x)P(x)表示该量词的辖域

谓词逻辑公式

  • 德⋅·摩根律:
    • ¬(∃x)P(x)≡(∀x)¬P(x)\neg(\exist x)P(x)\equiv (\forall x)\neg P(x)
    • ¬(∀x)P(x)≡(∃x)¬P(x)\neg (\forall x)P(x)\equiv(\exist x)\neg P(x)
  • 量词的辖域扩张:
    • (∀x)P(x)∨Q≡(∀x)(P(x)∨Q)(\forall x)P(x)\vee Q\equiv (\forall x)(P(x)\vee Q),其中QQ不含变元
    • 同理,将析取换为合取、将全称量词换位存在量词也成立
    • (∀x)(P(x)→Q)≡(∃x)P(x)→Q(\forall x)(P(x)\rightarrow Q)\equiv(\exist x)P(x)\rightarrow Q,将∀\forall和∃\exist互换同理
      • 证明:左式=(∀x)(¬P(x)∨Q)=(∀x)¬P(x)∨Q=¬(∃x)P(x)∨Q==(\forall x)(\neg P(x)\vee Q)=(\forall x)\neg P(x)\vee Q=\neg(\exist x)P(x)\vee Q=右式
    • (∀x)(Q→P(x))≡Q→(∀x)P(x)(\forall x)(Q\rightarrow P(x))\equiv Q\rightarrow(\forall x)P(x),将∀\forall换成∃\exist同理
  • 量词的分配律:
    • ∀x\forall x对∧\wedge、∃x\exist x对∨\vee满足分配律
    • ∀x\forall x对∨\vee、∃x\exist x对∧\wedge不满足分配律,只满足(∀x)P(x)∨(∀x)Q(x)⇒(∀x)(P(x)∨Q(x))(∃x)(P(x)∧Q(x))⇒(∃x)P(x)∧(∃x)Q(x)(\forall x)P(x)\vee (\forall x)Q(x)\Rightarrow(\forall x)(P(x)\vee Q(x))\\(\exist x)(P(x)\wedge Q(x))\Rightarrow(\exist x)P(x)\wedge (\exist x)Q(x)
  • 永真蕴涵式:(∃x)P(x)→(∀x)Q(x)⇒(∀x)(P(x)→Q(x))⇒(∀x)P(x)→(∀x)Q(x)(\exist x)P(x)\rightarrow(\forall x)Q(x)\Rightarrow(\forall x)(P(x)\rightarrow Q(x))\Rightarrow (\forall x)P(x)\rightarrow(\forall x)Q(x)

嵌套量词

  • 嵌套量词的顺序:
    • (∀x)(∀y)≡(∀y)(∀x)(∃x)(∃y)≡(∃y)(∃x)(\forall x)(\forall y)\equiv (\forall y)(\forall x)\\(\exist x)(\exist y)\equiv (\exist y)(\exist x)
    • (∀x)(∀y)⇒(∃x)(∀y)⇒(∀y)(∃x)⇒(∃x)(∃y)(∀x)(∀y)⇒(∃y)(∀x)⇒(∀x)(∃y)⇒(∃x)(∃y)(\forall x)(\forall y)\Rightarrow(\exist x)(\forall y)\Rightarrow(\forall y)(\exist x)\Rightarrow(\exist x)(\exist y)\\(\forall x)(\forall y)\Rightarrow(\exist y)(\forall x)\Rightarrow(\forall x)(\exist y)\Rightarrow(\exist x)(\exist y)
  • 嵌套量词的否定:
    • 层层套用德⋅·摩根律,结果为∀\forall和∃\exist互换,非号在最里层,例如:
    • ¬(∀x)(∃y)P(x,y)≡(∃x)(∀y)¬P(x,y)\neg(\forall x)(\exist y)P(x,y)\equiv(\exist x)(\forall y)\neg P(x,y)

推理规则

命题逻辑规则

  • PP:引入一个前件
  • TT:引用公式SS
  • CPCP:P∧Q→R≡P→(Q→R)P\wedge Q\rightarrow R\equiv P\rightarrow(Q\rightarrow R)
  • 假言推理:表示为永真式(p∧(p→q))→q(p\wedge(p\rightarrow q))\rightarrow q
  • 假言三段论:由一个大条件和一个小条件可得出,表示为永真式((p→q)∧(q→r))→(p→r)((p\rightarrow q)\wedge(q\rightarrow r))\rightarrow (p\rightarrow r)
  • 利用永真式化简命题,其实就是在使用规则TT

谓词逻辑规则

  • 谓词逻辑是命题逻辑的推广,同样可使用命题逻辑的推理规则
  • 全称特指(US)(\rm US):(∀x)P(x)⇒P(y)(\forall x)P(x)\Rightarrow P(y)
  • 存在特指(ES)(\rm ES):(∃x)P(x)⇒P(a)(\exist x)P(x)\Rightarrow P(a)
  • 存在推广(EG)(\rm EG):P(y)⇒(∃x)P(x)P(y)\Rightarrow(\exist x)P(x),yy属于xx的个体域
  • 全称推广(UG)(\rm UG):P(y)⇒(∀x)P(x)P(y)\Rightarrow(\forall x)P(x),xx属于yy的个体域