数理逻辑之 范式

简介: 从上一篇文章数理逻辑之 命题逻辑完备性终于到现在找到了满意的工作:一家大型外企,各方面都很满意。   今天开始说范式。先介绍几个概念。 语义等值:令Ф和ψ是命题逻辑公式,我们称Ф和ψ语义等值当且仅当Ф ╞ ψ 且ψ ╞ Ф成立。

从上一篇文章数理逻辑之 命题逻辑完备性终于到现在找到了满意的工作:一家大型外企,各方面都很满意。

 

今天开始说范式。先介绍几个概念。

语义等值Фψ是命题逻辑公式,我们称Фψ语义等值当且仅当Ф ╞ ψ ψ ╞ Ф成立。记为Ф≡ψ

可满足公式:给定命题逻辑公式Ф,我们说Ф是可满足的,如果存在Ф的一次求值使得Ф取值TRUE. 

 

文字文字L是指命题原子p¬p。 L ::= p | ¬p

析取子句析取子句D是若干个文字的析取 D::= L | L

合取范式(CNF):合取范式是若干个析取子句的合取C::=D|DΛC

否定范式(NNF)如果否定联结符的联结对象只是命题原子的公式称为否定范式

 

 

CNF的构造过程:Ф的真值表求与之语义等价的CNF

Ф所含的命题原子为 p1,p2,...,pn。Ф的真值表中,对于使Ф取值F的任一行l我们构造一个析取子句Dl(称为最大和):

Dl = ˆp1ˆp2 . . .  ˆpn,对于任意1<=i<=n,在第 l 行中若piT,则ˆpipi,否则取┐pi

对这样构造得到的所有析取子句进行合取即可得到ФCNF

 

 

Ф = (p->┐q)->(q┐p),其真值表如下:

 有三行结果为T的,则
Ф≡(pΛq)pΛq)pΛq)pΛq)

CNF 的构造算法叫蕴含释放算法,如下:

 

 

否定范式相对简单,比如p, ¬p, ¬pΛ(pΛq), ¬pΛ(p→q)NNF实例(注意第一个),¬(pΛq), ¬ ¬p, r→pΛ(¬(p→q))不是NNF实例。

 

NNF的构造算法也基于蕴含释放算法:



 
 
 

 

 

 

目录
相关文章
|
4月前
|
并行计算 数据处理 开发者
编程范式的抉择:面向对象编程与函数式编程的对决
在当今的软件开发领域,面向对象编程(Object-Oriented Programming,OOP)和函数式编程(Functional Programming,FP)是两种重要的编程范式。本文将比较并探讨这两种编程范式的特点、优势和适用场景,以帮助开发者在编程选择上做出明智的决策。
|
10月前
|
JavaScript Java 程序员
编程范式之我见
作为开发者想必都知道,编程范式是指编程语言所支持的不同编程风格或编程思想,它们可以影响程序的结构、组织和运行效率。但是,随着编程语言和技术的不断发展,一些编程范式已经过时了,需要改进或被替代。接下来,我将分享个人关于编程范式的看法,探讨不同编程范式的优点和缺点,以及如何选择适合自己的编程范式。
100 1
编程范式之我见
|
12月前
|
机器学习/深度学习 自然语言处理 算法
学习=拟合?深度学习和经典统计学是一回事?哈佛理论计算机科学家细数二者差异(2)
学习=拟合?深度学习和经典统计学是一回事?哈佛理论计算机科学家细数二者差异
|
12月前
|
机器学习/深度学习 算法 数据建模
学习=拟合?深度学习和经典统计学是一回事?哈佛理论计算机科学家细数二者差异(1)
学习=拟合?深度学习和经典统计学是一回事?哈佛理论计算机科学家细数二者差异
|
程序员 Go
编程范式(一):结构化编程
编程范式(一):结构化编程
386 0
|
存储 关系型数据库 数据库
数据库范式与反范式设计,是一门艺术
在日常业务研发过程中,我们常常需要与数据库表打交道。设计范式是数据表设计的基本原则,对于数据表的设计范式,我们特别容易忽略它的存在。很多时候,当数据库运行了一段时间之后,我们才发现数据表设计上有问题。然后重新调整数据表的结构,需要做数据迁移,还有可能影响程序处理的业务逻辑,甚至系统的正常服务运行。
数据库范式与反范式设计,是一门艺术
|
小程序 JavaScript 前端开发
兴趣编程六步法
欢迎来到我的小院,在当今时代,科技力量代表一个国家的核心竞争力,其中计算机编程技术尤为重要,可以从中学习逻辑分析能力,业务抽象能力,专注思考能力等等,美国等一些发达国家,已经把编程教育纳入小学课本中,所以我们也需要加快步伐,掌握编程的一些理念和实战技巧。
兴趣编程六步法
|
JavaScript 前端开发
逻辑推理 - 农夫养牛问题
逻辑推理 - 农夫养牛问题