• 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
    0001101
    0011001
    0101111
    0111010
    1000001
    1010001
    1100101
    1110001
    • 第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非重言可满足式
  • 相关阅读:
    net转java学习笔记-sqlserver的问题记录
    Windows RDS远程会话服务
    未来中国智能制造九大趋势
    CSS——图标字体
    【408】【数据结构】【排序】
    【java基础】File操作详解
    某款服务器插上4张TDP功耗75瓦PCIE卡无法开机的调试过程
    OpenCV Series : TI - DSP - CCS
    面试官:你知道websocket的心跳机制吗?
    【C++】记录一次代码优化,28490行代码优化到1401行代码
  • 原文地址:https://blog.csdn.net/xuchaoxin1375/article/details/132792382