第二部分 命题逻辑等值演算

2023-12-23 16:28

本文主要是介绍第二部分 命题逻辑等值演算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

基本等值式

例1

(1)真值表法

(2)等值演算

基本概念

注意:

注意:

 例2 求下列公式的析取范式与合取范式

注意:

由两个命题变项 p, q 形成的极小项与极大项                        极小项                        极大项公式成真赋值名称公式成假赋值名称¬p∧¬q0 0m0p∨q0 0M0¬p∧q0 1m1p∨¬q0 1M1p∧¬q1 0m2¬p∨q1 0M2p∧q1 1 m3¬p∨¬q1 1M3

例如

求公式主析取范式的步骤:

求公式主合取范式的步骤:

例6 (1) 求公式 A=(p→¬q)→r的主析取范式和主合取范式

判断公式的类型

例7 用主析取范式判断公式的类型:

定义 2.1 若等价式 A B 是重言式,则称 A B 等值 ,记作 A B ,并称 A B 等值式
基本等值式
双重否定律
            ¬¬A A
幂等律
            A A A
            AA A
交换律  
            A B B A
            AB B A
结合律
            (A B ) C A ( B C)               
            (AB)∧ C A ( B C )
分配律
            A ( B C ) ( A B ) ( A C)                
            A∧(B C ) ( A B ) ( A C )
德摩根律
            ¬( A B ) ⇔¬ A∧¬B                
            ¬(A B ) ⇔¬ A ∨¬ B
吸收律
            A ( A B ) A
            A ( A B ) A
零律
            A 1 1
            A 0 0
同一律
            A 0 A
            A 1 A
排中律
            A∨¬ A 1
矛盾律
            A∧¬ A 0
蕴涵等值式
            A B ⇔¬ A B
等价等值式
            A B ( A B ) ( B A )
假言易位
            A B ⇔¬ B →¬ A
等价否定等值式
            A B ⇔¬ A ↔¬ B
归谬论
            (A B ) ( A →¬ B ) ⇔¬ A
特别提示:必须牢记这 16 组等值式,这是继续学习的基础
可以理解性记忆
例如对归谬论的记忆
我们已知要使蕴含式为真,则前件A不能为真,后件B不能为假,而归谬论中, ¬B,B都存在,所以一定有假,要使整个式子为真,则A不能为真所以可以推出¬ A为真
这仅仅是我的理解
例1

 证明两个公式等值

p ( q r ) ( p q ) r
(1)真值表法
        p        q        r        
     qr  
   p(qr)
     pq
  (pq)r
        0        0        0        
        1        
        1        0                1
        0        0        1
        1
        1        0        1
        0        1        0
        0
        1        0        1
        0        1        1
        1
        1        0        1
        1        0        0
        1        1        0        1
        1        0        1
        1        1        0        1
        1        1        0
        0        0        1        0
        1        1        1
        1        1        1        1
结论: p ( q r ) ( p q ) r
(2)等值演算
p ( q r )
⇔ ¬ p ( ¬ q r ) (蕴涵等值式,置换规则)
( ¬ p ∨¬ q ) r (结合律,置换规则)
⇔ ¬ ( p q ) r
(德摩根律,置换规则)
( p q ) r
(蕴涵等值式,置换规则)
注明可省去置换规则
注意:用等值演算不能直接证明两个公式不等值
基本概念
(1) 文字 —— 命题变项及其否定的总称
(2) 简单析取式 —— 有限个文字构成的析取式
p , ¬ q , p ∨¬ q , p q r , …
(3) 简单合取式 —— 有限个文字构成的合取式
p , ¬ q , p ∧¬ q , p q r , …
(4) 析取范式 —— 由有限个简单合取式组成的析取式
p , ¬ p q, p ∨¬ q , ( p ∧¬ q ) ( ¬ p q ∧¬ r ) ( q r )
(5) 合取范式 —— 由有限个简单析取式组成的合取式
p , p ∨¬ q , ¬ p q, ( p q ∧¬ p ( p ¬ q ¬ r )
(6) 范式 —— 析取范式与合取范式的总称
注意:

单个文字既是简单析取式,又是简单合取式

形如 p∧¬qr, ¬pq∨¬r 的公式既是析取范式,又是合取范式

析取式中间用∨连接

合取式中间用∧连接

定理 2.1
(1) 一个简单析取式是重言式当且仅当它同时含有某 个命题变项和它的否定式
(2) 一个简单合取式是矛盾式当且仅当它同时含有某个命题 变项和它的否定式
定理 2.2
(1) 一个析取范式是矛盾式当且仅当它每个简单合 取式都是矛盾式
(2) 一个合取范式是重言式当且仅当它的每个简单析取式都 是重言式

定理2.1相当于存在

同时存在A和¬A命题

定理2.2相当于

对于析取式来说∨全是0才为0

对于合取式来说∧全是1才为1

定理 2.3 (范式存在定理)
任何命题公式都存在与之等值的析取范式与合取范式

公式 A 的析取 ( 合取 ) 范式—— A 等值的析取 ( 合取 ) 范式
求公式 A 的范式的步骤:
(1) 消去 A 中的 , (若存在)
A B ⇔¬ A B
A B ( ¬ A B ) ( A ∨¬ B )
(2) 否定联结词 ¬ 的内移或消去
¬ ¬ A A
¬ ( A B ) ⇔¬ A ∧¬ B
¬ ( A B ) ⇔¬ A ∨¬ B
(3) 使用分配律
A ( B C ) ( A B ) ( A C )
求合取范式
A ( B C ) ( A B ) ( A C )
求析取范式
注意:

公式范式不唯一

 例2 求下列公式的析取范式与合取范式
(1) ( p →¬ q ) ∨¬ r
( ¬ p ∨¬ q ) ∨¬ r (消去
⇔ ¬ p ∨¬ q ∨¬ r (结合律)
最后结果既是析取范式 ( 3 个简单合取式组成的析取式 ) ,又 是合取范式 ( 由一个简单析取式组成的合取式 )
(2) ( p →¬ q ) r
( ¬ p ∨¬ q ) r (消去第一个
⇔ ¬ ( ¬ p ∨¬ q ) r (消去第二个
( p q ) r (否定号内移 —— 德摩根律 ) 析取范式
( p r ) ( q r ) 分配律) 合取范式

 定义2.4 在含有n个命题变项的简单合取式(简单析取式)中,若每个命题变项均以文字的形式在其中出现且仅出现 一次,而且第i个文字出现在左起第i位上(1in),称这样的简单合取式(简单析取式)为极小项极大项.

注意:
(1)n个命题变项有2^{n}个极小项和2^{n}个极大项
(2)2^{n}个极小项(极大项)均互不等值
(3)用 m i 表示第 i 个极小项,其中 i 是该极小项成真赋值的十进
制表示 . M i 表示第 i 个极大项,其中 i 是该极大项成假赋值
的十进制表示 . m i M i )称为极小项(极大项)的名称
由两个命题变项 p, q 形成的极小项与极大项
                        极小项
                        极大项
公式
成真赋值
名称
公式
成假赋值
名称
¬ p ∧¬ q
0 0
m0
pq
0 0
M0
¬ p q
0 1
m1
p∨¬q
0 1
M1
p ∧¬ q
1 0
m2
¬pq
1 0M2
p q
1 1
m3
¬p∨¬q
1 1M3
m i M i 的关系: ¬ m i M i , ¬ M i m i

主析取范式——由极小项构成的析取范式

主合取范式——由极大项构成的合取范式
例如
n =3, 命题变项为 p , q , r 时,
( ¬ p ∧¬ q r ) ( ¬ p q r ) m 1 m 3 —— 主析取范式
( p q ∨¬ r ) ( ¬ p ∨¬ q ∨¬ r ) M 1 M 7 —— 主合取范式
这只是其中一个例子
定理 2.5 ( 主范式的存在唯一定理 )
任何命题公式都存在与之等值的主析取范式和主合取范式 , 并且是唯一的
求公式主析取范式的步骤:
设公式 A 含命题变项 p 1 , p 2 ,…, p n
(1) A 的析取范式 A =B 1 B 2 B s , 其中 B j 是简单合取 j =1,2, … , s
(2) 若某个 B j 既不含 p i , 又不含 ¬ p i , 则将 B j 展开成 B j B j ( p i ∨¬ p i ) ( B j p i ) ( B j ∧¬ p i ) 重复这个过程 , 直到所有简单合取式都是长度为 n 的极 小项为止
(3) 消去重复出现的极小项 , 即用 m i 代替 m i m i
(4) 将极小项按下标从小到大排列
求公式主合取范式的步骤:
(1) A 的合取范式 A = B 1 B 2 B s , 其中 B j 是简单析取 j =1,2, … , s
(2) 若某个 B j 既不含 p i , 又不含 ¬ p i , 则将 B j 展开成 B j B j ( p i ∧¬ p i ) ( B j p i ) ( B j ∨¬ p i ) 重复这个过程 , 直到所有简单析取式都是长度为 n 的极 大项为止
(3) 消去重复出现的极大项 , 即用 M i 代替 M i M i
(4) 将极大项按下标从小到大排列
6 (1) 求公式 A=(p→¬q)r的主析取范式和主合取范式
 :
( p →¬ q ) r
( p q ) r (析取范式)
对于p q,缺少r
( p q ) ( ¬ r r )
( p q ∧¬ r ) ( p q r )
m 6 m 7
对于r,缺少p和q
( ¬ p p ) ( ¬ q q ) r
( ¬ p ∧¬ q r ) ( ¬ p q r ) ( p ∧¬ q r ) ( p q r )
m 1 m 3 m 5 m 7
, ③代入①并排序,将m合并得
( p →¬ q ) r m 1 m 3 m 5 m 6 m 7 (主析取范式)

(p→¬q)r

( p r ) ( q r ) (合取范式)
对于p r,缺少q
p ( q ∧¬ q ) r
( p q r ) ( p ∨¬ q r )
M 0 M 2
对于q r,缺少p
( p ∧¬ p ) q r
( p q r ) ( ¬ p q r )
M 0 M 4
, ⑥代入④ 并排序,将m合并得
( p →¬ q ) r M 0 M 2 M 4 (主合取范式
判断公式的类型
A n 个命题变项
A 为重言式 A 的主析取范式含全部 2 n 个极小项
                  ⇔ A的主合取范式不含任何极大项 , 记为 1
A 为矛盾式 A 的主合析取范式含全部 2 n 个极大项
                  ⇔ A 的主析取范式不含任何极小项 , 记为 0
A 为非重言式的可满足式
                  ⇔ A 的主析取范式中至少含一个、但不是全 部极小项
                  ⇔ A 的主合取范式中至少含一个、但不是全 部极大项
7 用主析取范式判断公式的类型:
(1) A ⇔ ¬ ( p q ) q
(2) B p ( p q )
(3) C ( p q ) r
解:
(1) A ⇔ ¬ ( ¬ p q ) q ( p ∧¬ q ) q 0
        矛盾式
(2) B ⇔ ¬ p ( p q ) 1 m 0 m 1 m 2 m 3
        重言式
(3) C ⇔ ¬ ( p q ) r ( ¬ p ∧¬ q ) r
( ¬ p ∧¬ q r ) ( ¬ p ∧¬ q ∧¬ r ) ( ¬ p ∧¬ q r )
( ¬ p q r ) ( p ∧¬ q r ) ( p q r )
m 0 m 1 m 3 m 5 m 7
非重言式的可满足式

这篇关于第二部分 命题逻辑等值演算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/528663

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

《数据结构(C语言版)第二版》第八章-排序(8.3-交换排序、8.4-选择排序)

8.3 交换排序 8.3.1 冒泡排序 【算法特点】 (1) 稳定排序。 (2) 可用于链式存储结构。 (3) 移动记录次数较多,算法平均时间性能比直接插入排序差。当初始记录无序,n较大时, 此算法不宜采用。 #include <stdio.h>#include <stdlib.h>#define MAXSIZE 26typedef int KeyType;typedef char In

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

项目实战系列三: 家居购项目 第四部分

购物车 🌳购物车🍆显示购物车🍆更改商品数量🍆清空购物车&&删除商品 🌳生成订单 🌳购物车 需求分析 1.会员登陆后, 可以添加家居到购物车 2.完成购物车的设计和实现 3.每添加一个家居,购物车的数量+1, 并显示 程序框架图 1.新建src/com/zzw/furns/entity/CartItem.java, CartItem-家居项模型 /***

码蹄集部分题目(2024OJ赛9.4-9.8;线段树+树状数组)

1🐋🐋配对最小值(王者;树状数组) 时间限制:1秒 占用内存:64M 🐟题目思路 MT3065 配对最小值_哔哩哔哩_bilibili 🐟代码 #include<bits/stdc++.h> using namespace std;const int N=1e5+7;int a[N],b[N],c[N],n,q;struct QUERY{int l,r,id;}que

关于断言的部分用法

1、带变量的断言  systemVerilog assertion 中variable delay的使用,##[variable],带变量的延时(可变延时)_assertion中的延时-CSDN博客 2、until 的使用 systemVerilog assertion 中until的使用_verilog until-CSDN博客 3、throughout的使用   常用于断言和假设中的

牛客小白月赛100部分题解

比赛地址:牛客小白月赛100_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A.ACM中的A题 #include<bits/stdc++.h>using namespace std;#define ll long long#define ull = unsigned long longvoid solve() {ll a,b,c;cin>>a>>b>

VB和51单片机串口通信讲解(只针对VB部分)

标记:该篇文章全部搬自如下网址:http://www.crystalradio.cn/thread-321839-1-1.html,谢谢啦            里面关于中文接收的部分,大家可以好好学习下,题主也在研究中................... Commport;设置或返回串口号。 SettingS:以字符串的形式设置或返回串口通信参数。 Portopen:设置或返回串口