文章目录
abstract
DM@数理逻辑@命题公式及其赋值@真值表@公式分类
命题公式及其赋值
命题常项
- 简单命题是命题逻辑 中最基本的研究单位,其真值式确定的,称为命题常项 或命题常元
- 命题常项 相当于初等数学中的常数(0,1)
命题变项
- 对应于初等数学中的变量,命题逻辑中有:取值1(真)或0(假)的变元称为命题变项 或命题变元
- 用命题变项表示真值可以变换的陈述句
- 命题变项不是命题,其和命题常项的关系如同初等数学中变量与常量的关系
命题公式
合式公式(命题公式)
- 将命题变相用联结词 和圆括号 按一定逻辑关系 联系起来的符号串 ,称为合式公式
- 单个命题变项是合式公式,且称为原子命题公式
限定基本联结词的合适公式的定义
- 当使用联结词集 { ¬ , ∨ , ∧ , → , ↔ \neg,\vee,\wedge,\to,\leftrightarrow ¬,∨,∧,→,↔}时,合式公式定义(递归定义)为:
- 单个命题变项是合式公式
- 若 A , B A,B A,B都是合式公式,则 ( ¬ A ) (\neg{A}) (¬A), ( A ∨ B ) (A\vee{B}) (A∨B), ( A ∧ B ) (A\wedge{B}) (A∧B), ( A → B ) , ( A ↔ B ) (A\to{B}),(A\leftrightarrow{B}) (A→B),(A↔B)是合式公式.不妨称这几个公式为一层公式
- 有限次应用(2)中的方式形成的符号串是合式公式
- 合式公式也成为命题公式 ,简称公式
- Note:
- 析取联结词 ∧ \wedge ∧不能省略不写
- 任意两个不重叠的子公式都要有二元联结词( T T T中的联结词)链接,例如 p q → r pq\to{r} pq→r就不是合式公式,而 p ∧ q → r p\wedge{q}\to{r} p∧q→r是合式公式
合式公式中的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=B∗C是 n + 1 n+1 n+1层的( ∗ ∈ T = { ∨ , ∧ , → , ↔ } *\in T=\{\vee,\wedge,\to,\leftrightarrow\} ∗∈T={∨,∧,→,↔})
- 即, A = B ∧ C A=B\wedge{C} A=B∧C, A = B ∨ C A=B\vee{C} A=B∨C, A = B → C A=B\to{C} A=B→C, A = B ↔ C A=B\leftrightarrow{C} A=B↔C的层数是 1 + max ( i , j ) 1+\max{(i,j)} 1+max(i,j)
分层加括号
- 例如: ( ¬ p ∨ q ) → r (\neg{p}\vee{q})\to{r} (¬p∨q)→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} ¬p∨q
- 3层: ( ¬ p ∨ q ) → r (\neg{p}\vee{q})\to{r} (¬p∨q)→r
- 例: ( ¬ ( p → ¬ q ) ) ∧ ( ( r ∨ s ) ↔ ¬ p ) (\neg{(p\to{\neg{q}})}) \wedge{((r\vee{s)\leftrightarrow{\neg{p}}})} (¬(p→¬q))∧((r∨s)↔¬p),可以加括号为: ( ( ¬ ( p → ( ¬ q ) ) ) ∧ ( ( r ∨ s ) ↔ ( ¬ p ) ) ) ((\neg{(p\to{(\neg{q})})}) \wedge{((r\vee{s)\leftrightarrow{(\neg{p})}})}) ((¬(p→(¬q)))∧((r∨s)↔(¬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})} (p∨q)∨(¬r)可以简写为 p ∨ q ∨ ¬ r p\vee{q}\vee\neg{r} p∨q∨¬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个不同的赋值,分别计算它们的真值,具体的操作如下:
- 找出公式中所有的命题变项 p 1 , ⋯ , p n p_1,\cdots,p_n p1,⋯,pn,列出 2 n 2^{n} 2n个赋值
- 赋值从 0 ⋯ 0 0\cdots0 0⋯0,按二进制加法加1生成下一个赋值,到 1 ⋯ 1 1\cdots1 1⋯1为止,恰好 2 n 2^{n} 2n个赋值
- 公式层次分析:从低层次到高层的顺序分解公式的各个层次
- 对应各个赋值计算各个层次的真值,那么最后一个层次的真值就是整个公式的真值
例: ( ¬ p ∧ q ) → ¬ r (\neg{p}\wedge{q})\to{\neg{r}} (¬p∧q)→¬r
p q r pqr pqr | ¬ p \neg{p} ¬p | ¬ r \neg{r} ¬r | ¬ p ∧ q \neg{p}\wedge{q} ¬p∧q | ( ¬ p ∧ q ) → ¬ r (\neg{p}\wedge{q})\to{\neg{r}} (¬p∧q)→¬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为非重言可满足式