DM@数理逻辑@命题公式及其赋值@真值表@公式分类

abstract

DM@数理逻辑@命题公式及其赋值@真值表@公式分类

命题公式及其赋值

命题常项

  • 简单命题是命题逻辑中最基本的研究单位,其真值式确定的,称为命题常项命题常元
  • 命题常项相当于初等数学中的常数(0,1)

命题变项

  • 对应于初等数学中的变量,命题逻辑中有:取值1(真)或0(假)的变元称为命题变项命题变元
  • 用命题变项表示真值可以变换的陈述句
  • 命题变项不是命题,其和命题常项的关系如同初等数学中变量与常量的关系

命题公式

合式公式(命题公式)

  • 将命题变相用联结词圆括号按一定逻辑关系联系起来的符号串,称为合式公式
  • 单个命题变项是合式公式,且称为原子命题公式
限定基本联结词的合适公式的定义
  • 当使用联结词集{ ¬ , ∨ , ∧ , → , ↔ \neg,\vee,\wedge,\to,\leftrightarrow ¬,,,,}时,合式公式定义(递归定义)为:
    1. 单个命题变项是合式公式
    2. A , B A,B A,B都是合式公式,则 ( ¬ A ) (\neg{A}) (¬A), ( A ∨ B ) (A\vee{B}) (AB), ( A ∧ B ) (A\wedge{B}) (AB), ( A → B ) , ( A ↔ B ) (A\to{B}),(A\leftrightarrow{B}) (AB),(AB)是合式公式.不妨称这几个公式为一层公式
    3. 有限次应用(2)中的方式形成的符号串是合式公式
  • 合式公式也成为命题公式,简称公式
  • Note:
    • 析取联结词 ∧ \wedge 不能省略不写
    • 任意两个不重叠的子公式都要有二元联结词( T T T中的联结词)链接,例如 p q → r pq\to{r} pqr就不是合式公式,而 p ∧ q → r p\wedge{q}\to{r} pqr是合式公式
合式公式中的0和1
  • 合适公式可以出现0,1它们分别视为 p ∧ ¬ p p\wedge{\neg{p}} p¬p, p ∨ ¬ p p\vee{\neg{p}} p¬p;两种表示可以相互替换和解释
子公式
  • A A A为合式公式, B B B A A A中的一部分(子串),则称 B B B A A A的子公式

公式的层次定义

  • 若公式 A A A是单个命题变项,则 A A A称为0层公式

  • B B B n n n层公式,则 A = ¬ B A=\neg{B} A=¬B n + 1 n+1 n+1层公式

  • 称设 B , C B,C B,C分别是 i , j i,j i,j层公式,且 n = max ⁡ ( i , j ) n=\max(i,j) n=max(i,j),则 A = B ∗ C A=B*{C} A=BC n + 1 n+1 n+1层的( ∗ ∈ T = { ∨ , ∧ , → , ↔ } *\in T=\{\vee,\wedge,\to,\leftrightarrow\} T={ ,,,})

    • 即, A = B ∧ C A=B\wedge{C} A=BC, A = B ∨ C A=B\vee{C} A=BC, A = B → C A=B\to{C} A=BC, A = B ↔ C A=B\leftrightarrow{C} A=BC的层数是 1 + max ⁡ ( i , j ) 1+\max{(i,j)} 1+max(i,j)
分层加括号
  • 例如: ( ¬ p ∨ q ) → r (\neg{p}\vee{q})\to{r} (¬pq)r可以通过加括号处理,(对1层及上的子公式加括号)使得计数其层数更加容易: ( ( ( ¬ p ) ∨ q ) → r ) (((\neg{p})\vee{q})\to{r}) (((¬p)q)r),可以看到,该公式的最深称括号有3层,各层如下
    • 0层: p , q , r p,q,r p,q,r,(我们通常对0层不感兴趣)
    • 1层: ¬ p \neg{p} ¬p,
    • 2层: ¬ p ∨ q \neg{p}\vee{q} ¬pq
    • 3层: ( ¬ p ∨ q ) → r (\neg{p}\vee{q})\to{r} (¬pq)r
  • 例: ( ¬ ( p → ¬ q ) ) ∧ ( ( r ∨ s ) ↔ ¬ p ) (\neg{(p\to{\neg{q}})}) \wedge{((r\vee{s)\leftrightarrow{\neg{p}}})} (¬(p¬q))((rs)¬p),可以加括号为: ( ( ¬ ( p → ( ¬ q ) ) ) ∧ ( ( r ∨ s ) ↔ ( ¬ p ) ) ) ((\neg{(p\to{(\neg{q})})}) \wedge{((r\vee{s)\leftrightarrow{(\neg{p})}})}) ((¬(p(¬q)))((rs)(¬p)));可见其有4层

命题公式的赋值和解释

  • p 1 , ⋯   , p n p_1,\cdots,p_n p1,,pn是出现在公式 A A A中的全部命题变项(公式 A A A表示为 A ( p 1 , ⋯   , p n ) A(p_1,\cdots,p_n) A(p1,,pn)),分别为这 n n n个命题变项指定一个真值,称为对公式 A A A的一个赋值解释

  • 写法: p 1 = α 1 , ⋯   , p n = α n p_1=\alpha_1,\cdots,p_n=\alpha_n p1=α1,,pn=αn可以简写为 α 1 , ⋯   , α n \alpha_1,\cdots,\alpha_n α1,,αn

成真赋值@成假赋值

  • 若指定一组值使得 A A A为1,记为 A = 1 A=1 A=1,称这组值为 A A A成真赋值
    • A = 0 A=0 A=0,则称这组值为 A A A成假赋值
公式的书写规范@括号的省略
  • 为了方便起见,一层公式单独出现的时候,可以省略括号不写,
  • 公式中不影响运算次序的括号也可以省去,例如 ( p ∨ q ) ∨ ( ¬ r ) (p\vee{q})\vee{(\neg{r})} (pq)(¬r)可以简写为 p ∨ q ∨ ¬ r p\vee{q}\vee\neg{r} pq¬r

真值表

  • 反映公式 A A A所有取值及其结果的表称为 A A A的真值表

赋值方法数量

  • n n n个命题变项(构成)的公式有 2 n 2^{n} 2n种不同的赋值方法
  • n n n个命题变项(构成)的公式全体构成的集合记为 F ( n ) F(n) F(n),意味着 F ( n ) F(n) F(n)中公式的真值表有 2 n 2^{n} 2n

构造真值表

总体步骤是,列出 2 n 2^{n} 2n个不同的赋值,分别计算它们的真值,具体的操作如下:

  1. 找出公式中所有的命题变项 p 1 , ⋯   , p n p_1,\cdots,p_n p1,,pn,列出 2 n 2^{n} 2n个赋值
    • 赋值从 0 ⋯ 0 0\cdots0 00,按二进制加法加1生成下一个赋值,到 1 ⋯ 1 1\cdots1 11为止,恰好 2 n 2^{n} 2n个赋值
  2. 公式层次分析:从低层次到高层的顺序分解公式的各个层次
  3. 对应各个赋值计算各个层次的真值,那么最后一个层次的真值就是整个公式的真值

例: ( ¬ p ∧ q ) → ¬ r (\neg{p}\wedge{q})\to{\neg{r}} (¬pq)¬r

p q r pqr pqr ¬ p \neg{p} ¬p ¬ r \neg{r} ¬r ¬ p ∧ q \neg{p}\wedge{q} ¬pq ( ¬ p ∧ q ) → ¬ r (\neg{p}\wedge{q})\to{\neg{r}} (¬pq)¬r
000 1 1 0 1
001 1 0 0 1
010 1 1 1 1
011 1 0 1 0
100 0 0 0 1
101 0 0 0 1
110 0 1 0 1
111 0 0 0 1
  • 第1列是赋值,第2,3列是第一层子式,第3列示第3层子式,最后一列是整个公式的真值
    • 其中非首尾的各列是为了提高计算正确率的辅助列,并不是一个真值表必须的列
    • 第一列也可以看作是0层列,低层的列可以帮助计算高层的列,减少重复计算

公式分类

  • A A A在所有赋值下取值均为,则 A A A称为重言式永真式( A A A的真值表最后一列全为1)
  • A A A在它的所有赋值下取值均为,则 A A A称为矛盾式永假式( A A A的真值表最后一列全为0)
  • A A A不是矛盾式,则 A A A使可满足式,特别的,若至少存在一个成假赋值,则称 A A A非重言可满足式

猜你喜欢

转载自blog.csdn.net/xuchaoxin1375/article/details/132792382