当前位置: 首页 > 编程笔记 >

谓词演算的推理规则

韩季
2023-03-14
本文向大家介绍谓词演算的推理规则,包括了谓词演算的推理规则的使用技巧和注意事项,需要的朋友参考一下

为了从我们已经知道其真实性的陈述中推断出新的陈述,使用了推理规则

推理规则有什么用?

数学逻辑通常用于逻辑证明。证明是确定数学陈述的真值的有效参数。

参数是一系列语句。最后一个陈述是结论,其前面的所有陈述都称为前提(或假设)。结论之前放置符号“∴”(因此请阅读)。一个有效的论点是根据前提的真实值得出结论的论点。

推理规则提供了从现有语句中构造有效参数的模板或指南。

推论规则表

推论规则 名称 推论规则 名称
$$\ begin {matrix} P \\ \ hline \ there P \ lor Q \ end {matrix} $$

加成

$$\ begin {matrix} P \ lor Q \\ \ nott P \\ \ hline \因此Q \ end {matrix} $$

析取三段论

$$\ begin {matrix} P \\ Q \\ \ hline \因此P \ land Q \ end {matrix} $$

连词

$$\ begin {matrix} P \ rightarrow Q \\ Q \ rightarrow R \\ \ hline \因此P \ rightarrow R \ end {matrix} $$

假设三段论

$$\ begin {matrix} P \ land Q \\ \ hline \因此P \ end {matrix} $$

简化版

$$\ begin {matrix}(P \ rightarrow Q)\ land(R \ rightarrow S)\\ P \ lor R \\ \ hline \因此Q \ lor S \ end {matrix} $$

建设性困境

$$\ begin {matrix} P \ rightarrow Q \\ P \\ \ hline \因此Q \ end {matrix} $$

方式

$$\ begin {matrix}(P \ rightarrow Q)\ land(R \ rightarrow S)\\ \ nott Q \ lor \ lnot S \\ \ hline \因此\ lnot P \ lor \ lnot R \ end {matrix} $$

破坏性困境

$$\ begin {matrix} P \ rightarrow Q \\ \ lnot Q \\ \ hline \因此\ lnot P \ end {matrix} $$

方式收费



加成

如果P是一个前提,我们可以使用加法规则得出$P \ lor Q $。

$$\ begin {matrix} P \\ \ hline \ there P \ lor Q \ end {matrix} $$

示例

以P为命题,“他努力学习”是对的

因此-“要么他学习非常努力,要么他是一个非常糟糕的学生。” Q是命题“他是一个很坏的学生”。

连词

如果P和Q是两个前提,则可以使用合取规则导出$P \ land Q $。

$$\ begin {matrix} P \\ Q \\ \ hline \因此P \ land Q \ end {matrix} $$

示例

让P-“他学习很努力”

让Q-“他是班上最好的男孩”

因此-“他学习非常努力,是班上最好的男孩”

简化版

如果$P \ land Q $是一个前提,我们可以使用简化规则得出P。

$$\ begin {matrix} P \ land Q \\ \ hline \因此P \ end {matrix} $$

示例

“他学习非常努力,是班上最好的男孩”,$P \ land Q $

因此-“他学习很努力”

方式

如果P和$P \ rightarrow Q $是两个前提,我们可以使用Modus Ponens来推导Q。

$$\ begin {matrix} P \ rightarrow Q \\ P \\ \ hline \因此Q \ end {matrix} $$

示例

$P \ rightarrow Q $“如果您有密码,则可以登录Facebook”

“您有密码”,P

因此-“您可以登录到Facebook”

方式收费

如果$P \ rightarrow Q $和$\ lnot Q $是两个前提,我们可以使用Modus Tollens推导$\ lnot P $。

$$\ begin {matrix} P \ rightarrow Q \\ \ lnot Q \\ \ hline \因此\ lnot P \ end {matrix} $$

示例

$P \ rightarrow Q $“如果您有密码,则可以登录Facebook”

“您无法登录到Facebook”,$\ lnot Q $

因此-“您没有密码”

析取三段论

如果$\ lnot P $和$P \ lor Q $是两个前提,我们可以使用析取三段论得出Q。

$$\ begin {matrix} \ lnot P \\ P \ lor Q \\ \ hline \因此Q \ end {matrix} $$

示例

“冰淇淋没有香草味”,$\ Lnot P $

“冰淇淋是香草味或巧克力味”,$P \或Q $

因此-“冰淇淋是巧克力味的”

假设三段论

如果$P \ rightarrow Q $和$Q \ rightarrow R $是两个前提,我们可以使用假设三段论推导$P \ rightarrow R $

$$\ begin {matrix} P \ rightarrow Q \\ Q \ rightarrow R \\ \ hline \因此P \ rightarrow R \ end {matrix} $$

示例

$P \ rightarrow Q $“如果下雨,我不会去上学”

$Q \ rightarrow R $“如果我不上学,就不需要做家庭作业”

因此-“下雨了,我就不用做功课了”

建设性困境

如果$(P \ rightarrow Q)\ land(R \ rightarrow S)$和$P \ lor R $是两个前提,我们可以使用构造性难题得出$Q \ lor S $。

$$\ begin {matrix}(P \ rightarrow Q)\ land(R \ rightarrow S)\\ P \ lor R \\ \ hline \因此Q \ lor S \ end {matrix} $$

示例

“如果下雨,我会请假”,$(P \ rightarrow Q)$

“如果外面很热,我去洗个澡”,$(R \ rightarrow S)$

“要么下雨,要么外面很热”,$P \ lor R $

因此-“我请假或去洗个澡”

破坏性困境

如果$(P \ rightarrow Q)\ land(R \ rightarrow S)$和$\ lnot Q \ lor \ lnot S $是两个前提,我们可以使用破坏性难题来得出$\ lnot P \ lor \ lnot R $。

$$\ begin {matrix}(P \ rightarrow Q)\ land(R \ rightarrow S)\\ \ nott Q \ lor \ lnot S \\ \ hline \因此\ lnot P \ lor \ lnot R \ end {matrix} $$

示例

“如果下雨,我会请假”,$(P \ rightarrow Q)$

“如果外面很热,我去洗个澡”,$(R \ rightarrow S)$

“要么我不请假,要么我不洗澡”,$\ lnot Q \ lor \ lnot S $

因此-“要么不下雨,要么外面不热”

 类似资料:
  • 本文向大家介绍谓词演算,包括了谓词演算的使用技巧和注意事项,需要的朋友参考一下 谓词演算处理谓词,谓词包含变量。 谓词 谓词是在某个特定域上定义的一个或多个变量的表达式。通过给变量赋值或量化变量,可以使带有变量的谓词成为命题。 请请看以下语句。 拉姆是学生。 现在根据谓词演算来考虑以上陈述。 这里“是学生”是谓词,Ram是主题。 让我们将“ Ram”表示为x,将“是学生”表示为谓词P,然后可以将上

  • 本文向大家介绍语句演算的推理理论,包括了语句演算的推理理论的使用技巧和注意事项,需要的朋友参考一下 为了从我们已经知道其真相的陈述中推断出新的陈述,使用了推理规则。 推理规则有什么用? 数学逻辑通常用于逻辑证明。证明是确定数学陈述的真值的有效参数。 参数是一系列语句。最后一个陈述是结论,其前面的所有陈述都称为前提(或假设)。结论之前放置符号“ $\ there $”(因此请阅读)。一个有效的论点是

  • 查看文档,ANTLR2过去有一种叫做谓词法的东西,下面的例子是这样的(灵感来自Pascal): 在我看来,这实际上是规则开头的一个积极的前瞻性断言:如果前瞻性与匹配,那么第一个规则将被应用(并与该输入的部分匹配),依此类推。 我还没有在ANTLR4中找到这样的东西。2到3迁移指南似乎没有提到这一点,而3到4更改文档指出: ANTLR3和4之间最大的区别是ANTLR4接受您给出的任何语法,除非该语法

  • 谓词是指用方括号写的XPath表达式。 它指的是为某些条件限制节点集中的选定节点。 例如, 序号 序号 描述 1 选择第一个元素,它是元素的子元素。 2 选择最后一个元素,它是元素的子元素。 3 使用选择元素。 4 选择大于的元素。 示例 此示例通过迭代每个学生创建一个包含其详细信息的元素。 它计算节点的位置,然后打印学生的详细信息以及序列号。 文件:students.xml - 文件:stude

  • 谓词 Clojure 提供了很多函数来充当谓词的功能 — 测试条件是否成立。它们的返回值是 true或者false。在Clojure里面 false 以及 nil 被解释成false. true 以及任何其他值都被解释成true, 包括0。谓词函数的名字一般以问号结尾。 反射是一种获取一个对象的特性,而不是它的值的过程。比如说对象的类型。有很多谓词函数进行反射。 测试一个对象的类型的谓词包括 cl

  • Predicates是评估条件并提供true或false值的函数。 我们在数字章节的例子中看到了谓词函数。 我们看过像'even?'这样的功能 用来测试一个数字是否是偶数,或'neg?' 用于测试数字是否大于零。 所有这些函数都返回true或false值。 以下是Clojure中谓词的示例。 (ns clojure.examples.example (:gen-class)) ;; This