数理逻辑之 自然演算规则(二)

简介: 今天继续说自然演算规则。 不过说之前先说一点题外话:每个人都有自己喜欢的东西,虽然大家都是搞开发的,不过最喜欢的也很可能不一样。你是牛人我也是牛人,只不过我们牛逼的地方不一样,我们都没有必要为了超过对方而去努力学习自己不稀罕的东西。

今天继续说自然演算规则。

不过说之前先说一点题外话:每个人都有自己喜欢的东西,虽然大家都是搞开发的,不过最喜欢的也很可能不一样。你是牛人我也是牛人,只不过我们牛逼的地方不一样,我们都没有必要为了超过对方而去努力学习自己不稀罕的东西。   ——————谨以此开题吧。

 

上一篇数理逻辑之 自然演算规则(一) 说道了合取规则,应该还蛮简单的吧。

看第二个规则:(Ⅱ)双重否定规则

直觉上,一个公式与它的双重否定 所表达的内容是一样的。例如,

It is not true that it does not rain.   和It rains.  是一回事。

知道“It rains.”, 如果愿意,我们可以用更复杂的方式来陈述这一事实。“ It is not true that it does not rain. ” 因此我们得到下面的双重否定引入与消去规则:



 既然我们都能看懂合取规则,这个也可以吧:两条规则,第一条是引入规则,第二条是消去规则。

我们来看一个例子:例5 证明相继式  p, ﹁﹁(q∧r)  |—  ﹁﹁p∧r是有效的

 

1         p                     前提假设
2         ﹁﹁(q∧r)       前提假设
3         ﹁﹁p              ﹁﹁i   1
4         q∧r                 ﹁﹁e  2
5         r                       ∧e2   4
6         ﹁﹁p∧r          ∧i   3,5

 前两行是前提,第三行对第一行使用了双重否定引入规则,第四行对第二行使用了双重否定消去规则,第五航对第四行使用了前面学过的合取规则,第六行根据合取规则得到了结论。证明完毕!

 

嗨列位看官,能不能别喊“太简单了吧”。规则就是这么简单,但是你要把每一条都秒懂才是难的。

 

下条是(Ⅲ) 蕴含消去规则

 这个也比较简单,通过两个前提得到一个显而易见的结论。比如

 

p:  It rained.     
p→q: If it rained, then the street is wet.
q:  The street is wet.

 如果我们知道天下雨,而且我们知道天下雨街道就会湿。那么我们综合这两则信息就能得出“街道确实湿了”的结论。这说明,根据我们通常的直觉,蕴含消去规则的合理性是显而易见的。

 

我们再看另一个例子(来自于程序设计)

 

p:    The value of the program’s input is an integer.
p→q: If the program’s input is an integer, then the program output a boolean.

 在这个例子中,如果程序输入是一个整数,我们可以断定程序输出是一个布尔值。

 

要强调的是:p的出现是绝对必要的。如果输入不是整数,即使程序满足p→q, 我们无法得到q。

例6 证明相继式 p, p→q, p →(q → r) |— r是有效的

 

1        p                   前提假设
2        p→q              前提假设
3        p →(q → r)     前提假设
4        q→r                →e  1,3
5        q                     →e  1,2
6        r                      →e  5,4

 这个太简单了我都不想解释了,不过呀强调的一点是第六行是对第五行和第四行使用了蕴含消去规则,而不能写成→e 4,5。规则就是规则,我们很机械。

 

 

 

(Ⅳ) MT规则

 

我去,咋这么大只啊?不好意思,图片没处理好。

这个规则会让你想起曾经反复使用的逆否命题。不过千万不要和别人说MT规则就是逆否命题和原命题等价的意思,因为写法完全不同。

例7 证明相继式  p→(q→r), p, ﹁r |— ﹁q 是有效的

 

1        p→(q→r)         前提假设
2        p                      前提假设
3        ﹁r                    前提假设
4       q→r                   →e 2,1
5       ﹁q                    MT 4,3

 我们在第五行根据第四行和第三行得出来了结论,好简单!

 

例8 证明相继式 ﹁ p→q, ﹁q |— p 是有效的.

1        ﹁ p→q    前提假设
2        ﹁q           前提假设
3        ﹁﹁p        MT 1,2
4        p               ﹁﹁e 3

 第三行得到一个诡异的结论,第四行使用双重否定消去等到了证明。

谨记,我们不能从前两行直接得出第四行,因为没有这样的规则。

 

不知道走到这里感觉怎么样。如果你依然头脑完全清新,说明你是一枚牛人。

不过后面来的规则可能会让你措手不及。

既然这样,我们先歇一下,做两个小题:

思考题: 证明下列相继式 是有效的.
①    ﹁ p→q, ﹁ q |— p
②     p → ﹁q ,   q |— ﹁ p

 记住千万不要无中生有,使用自己创造的规则。题目越简单,往往会出现很多自编自导的规则。

 

 

 

 

目录
相关文章
|
25天前
|
算法 C++
【软件设计师备考 专题 】数学基础知识:命题逻辑、谓词逻辑、形式逻辑与数值计算
【软件设计师备考 专题 】数学基础知识:命题逻辑、谓词逻辑、形式逻辑与数值计算
36 0
|
算法 C++
【C/C++】阿克曼函数以及其数学的有限边界思维
## 在递归函数论和涉及集合的并的某些算法的复杂性研究中,有一个起重要作用的递归函数——阿克曼(Ackermann)函数,该函数是由希尔伯特的学生,德国著名数学家威尔海姆·阿克曼于1928年发现的。这是一个图灵机可计算的,但不是原始递归的函数。下面,我们介绍这个经典的递归函数,并给出其相应的计算过程。
256 0
【C/C++】阿克曼函数以及其数学的有限边界思维
【数理逻辑】命题逻辑 ( 命题逻辑推理正确性判定 | 形式结构是永真式 - 等值演算 | 从前提推演结论 - 逻辑推理 )
【数理逻辑】命题逻辑 ( 命题逻辑推理正确性判定 | 形式结构是永真式 - 等值演算 | 从前提推演结论 - 逻辑推理 )
232 0
|
资源调度
【计算理论】计算理论总结 ( 正则表达式转为非确定性有限自动机 NFA ) ★★
【计算理论】计算理论总结 ( 正则表达式转为非确定性有限自动机 NFA ) ★★
301 0
|
算法
【计算理论】可判定性 ( 丘奇-图灵论题 | 可判定性引入 | 图灵机语言 | 图灵机结果 | 判定机 | 部分函数与全部函数 | 可判定性定义 )
【计算理论】可判定性 ( 丘奇-图灵论题 | 可判定性引入 | 图灵机语言 | 图灵机结果 | 判定机 | 部分函数与全部函数 | 可判定性定义 )
181 0
【数理逻辑】谓词逻辑 ( 前束范式 | 前束范式转换方法 | 谓词逻辑基本等值式 | 换名规则 | 谓词逻辑推理定律 )
【数理逻辑】谓词逻辑 ( 前束范式 | 前束范式转换方法 | 谓词逻辑基本等值式 | 换名规则 | 谓词逻辑推理定律 )
684 0
|
机器学习/深度学习 算法
【计算理论】可判定性 ( 非确定性有限自动机的接受问题 | 证明 “非确定性有限自动机的接受问题“ 的可判定性 )
【计算理论】可判定性 ( 非确定性有限自动机的接受问题 | 证明 “非确定性有限自动机的接受问题“ 的可判定性 )
137 0
|
算法
【计算理论】可判定性 ( 确定性有限自动机的接受问题 | 证明 “确定性有限自动机的接受问题“ 的可判定性 )
【计算理论】可判定性 ( 确定性有限自动机的接受问题 | 证明 “确定性有限自动机的接受问题“ 的可判定性 )
155 0
|
机器学习/深度学习
【组合数学】组合数学简介 ( 组合思想 2 : 数学归纳法 | 数学归纳法推广 | 多重归纳思想 )
【组合数学】组合数学简介 ( 组合思想 2 : 数学归纳法 | 数学归纳法推广 | 多重归纳思想 )
176 0
【组合数学】组合数学简介 ( 组合思想 2 : 数学归纳法 | 数学归纳法推广 | 多重归纳思想 )
【数理逻辑】命题逻辑 ( 命题逻辑推理 | 推理的形式结构 | 推理定律 | 附加律 | 化简律 | 假言推理 | 拒取式 | 析取三段论 | 假言三段论 | 等价三段论 | 构造性两难 )
【数理逻辑】命题逻辑 ( 命题逻辑推理 | 推理的形式结构 | 推理定律 | 附加律 | 化简律 | 假言推理 | 拒取式 | 析取三段论 | 假言三段论 | 等价三段论 | 构造性两难 )
576 0