第五部分 一階邏輯等值演算與推理

目錄

基本等值式

例1 將下面命題用兩種形式符號化, 并證明兩者等值:

例2 將公式化成等值的不含既有約束出現、又有自由出現

例3 設個體域D={a,b,c}, 消去下述公式中的量詞:

例4 求下列公式的前束范式

推理的形式結構

定義5.3 自然推理系統

構造推理證明的實例?

例5?在自然推理系統?中構造下面推理的證明, 取個體域R:

?例6?在自然推理系統?中,構造推理的證明

基本要求?

定義 5.1 A , B 是兩個謂詞公式 , 如果 A ? B 是永真式 , 則稱 A B 等值 , 記作 A ? B , 并稱 A ? B 等值式
基本等值式
第一組 命題邏輯中 16 組基本等值式的代換實例
例如
??? xF ( x ) ?? xF ( x ),
? xF ( x ) →? yG ( y ) ? ?? xF ( x ) ∨? yG ( y )
第二組
(1) 消去量詞等值式
D ={ a 1 , a 2 , … , a n }
? xA ( x ) ? A ( a 1 ) A ( a 2 ) A ( a n )
? xA ( x ) ? A ( a 1 ) A ( a 2 ) A ( a n )
(2) 量詞否定等值式
?? xA ( x ) ? ? x ? A ( x )
?? xA ( x ) ? ? x ? A ( x )
(3) 量詞轄域收縮與擴張等值式 .
A ( x ) 是含 x 自由出現的公式, B 中不含 x 的自由出現
關于全稱量詞的:
? x ( A ( x ) B ) ? ? xA ( x ) B
? x ( A ( x ) B ) ? ? xA ( x ) B
? x ( A ( x ) B ) ? ? xA ( x ) B
? x ( B A ( x )) ? B →? xA ( x )
關于存在量詞的:
? x ( A ( x ) B ) ? ? xA ( x ) B
? x ( A ( x ) B ) ? ? xA ( x ) B
? x ( A ( x ) B ) ? ? xA ( x ) B
? x ( B A ( x )) ? B →? xA ( x )
(4) 量詞分配等值式
? x ( A ( x ) B ( x )) ? ? xA ( x ) ∧? xB ( x )
? x ( A ( x ) B ( x )) ? ? xA ( x ) ∨? xB ( x )
注意: ? ? 無分配律
1. 置換規則
Φ ( A ) 是含 A 的公式 , 那么 , A ? B , Φ ( A ) ? Φ ( B ).
2. 換名規則
A 為一公式,將 A 中某量詞轄域中個體變項的所有約束 出現及相應的指導變元換成該量詞轄域中未曾出現過的個 體變項符號,其余部分不變,設所得公式為 A ,則 A ′? A .
3. 代替規則
A 為一公式,將 A 中某個個體變項的所有自由出現用 A 未曾出現過的個體變項符號代替,其余部分不變,設所得 公式為 A ,則 A ′? A

1 將下面命題用兩種形式符號化, 并證明兩者等值:
(1) 沒有不犯錯誤的人
解 令 F ( x ) x 是人, G ( x ) x 犯錯誤 .
?? x ( F ( x ) ∧? G ( x )) ? x ( F ( x ) G ( x ))
?? x ( F ( x ) ∧? G ( x ))
? ? x ? ( F ( x ) ∧? G ( x)) ????????量詞否定等值式
? ? x ( ? F ( x ) G ( x)) ????????置換規則
? ? x ( F ( x ) G ( x)) ????????置換

(2) 不是所有的人都愛看電影
解 令 F ( x ) x 是人, G ( x ) :愛看電影 .
?? x ( F ( x ) G ( x )) ? x ( F ( x ) ∧? G ( x ))
?? x ( F ( x ) G ( x ))
? ? x ? ( F ( x ) G ( x)) ????????量詞否定等值式
? ? x ? ( ? F ( x ) G ( x)) ????????置換規則
? ? x ( F ( x ) ∧? G (x)) ????????置換規則
2 將公式化成等值的不含既有約束出現、又有自由出現
的個體變項 : ? x ( F ( x , y , z ) →? yG ( x , y , z ))
? x ( F ( x,y,z ) →? yG ( x,y,z ))
? ? x ( F ( x,y,z ) →? tG ( x,t,z)) ????????換名規則
? ? x ? t ( F ( x,y,z ) G ( x,t,z)) ????????轄域擴張等值式
或者
? x ( F ( x,y,z ) →? yG ( x,y,z ))
? ? x ( F ( x,u,z ) →? yG ( x,y,z)) ????????代替規則
? ? x ? y ( F ( x,u,z ) G ( x,y,z)) ????????轄域擴張等值式
這兩個例子很好的解釋了換名規則和代替規則
3 設個體域D={a,b,c}, 消去下述公式中的量詞:
(1) ? x ? y ( F ( x ) G ( y ))
? x ? y ( F ( x ) G ( y ))
? ( ? y ( F ( a ) G ( y ))) ( ? y ( F ( b ) G ( y ))) ( ? y ( F ( c ) G ( y )))
? (( F ( a ) G ( a )) ( F ( a ) G ( b )) ( F ( a ) G ( c ))) (( F ( b ) G ( a )) ( F ( b ) G ( b )) ( F ( b ) G ( c ))) (( F ( c ) G ( a )) ( F ( c ) G ( b )) ( F ( c ) G ( c )))
解法二
? x ? y ( F ( x ) G ( y ))
? ? x ( F ( x ) →? yG ( y )) 轄域縮小等值式
? ? x ( F ( x ) G ( a ) G ( b ) G ( c ))
? ( F ( a ) G ( a ) G ( b ) G ( c )) ( F ( b ) G ( a ) G ( b ) G ( c )) ( F ( c ) G ( a ) G ( b ) G ( c ))
(2) ? x ? yF ( x,y )
? x ? yF ( x,y )
? ? x ( F ( x,a ) F ( x , b ) F ( x , c ))
? ( F ( a,a ) F ( a , b ) F ( a , c )) ( F ( b,a ) F ( b , b ) F ( b , c )) ( F ( c,a ) F ( c , b ) F ( c , c ))
定義 5.2 A 為一個一階邏輯公式,若 A 具有如下形式 Q 1 x 1 Q 2 x 2 Q k x k B 則稱 A 前束范式 ,其中 Q i (1 i k ) ? ? B 為不含量詞 的公式 .
例如
? x ? ( F ( x ) G ( x ))
? x ? y ( F ( x ) ( G ( y ) H ( x , y ))) 是前束范式
?? x ( F ( x ) G ( x ))
? x ( F ( x ) →? y ( G ( y ) H ( x , y ))) 不是前束范式,
定理 5.1 (前束范式存在定理)
一階邏輯中的任何公式都存在與之等值的前束范式
4 求下列公式的前束范式
(1) ?? x ( M ( x ) F ( x ))
?? x ( M ( x ) F ( x ))
? ? x ( ? M ( x ) ∨? F ( x )) (量詞否定等值式)
? ? x ( M ( x ) →? F ( x ))
后兩步結果都是前束范式,說明公式的前束范式不唯一

(2) ? xF ( x ) ∧?? xG ( x )
? xF ( x ) ∧?? xG ( x )
? ? xF ( x ) ∧? x ? G ( x ) 量詞否定等值式
? ? x ( F ( x ) ∧? G ( x )) 量詞分配等值式
? xF ( x ) ∧?? xG ( x )
? ? xF ( x ) ∧? x ? G ( x ) 量詞否定等值式
? ? xF ( x ) ∧? y ? G ( y ) 換名規則
? ? x ? y ( F ( x ) ∧? G ( y )) 轄域收縮擴張規則
(3) ? xF ( x ) →? y ( G ( x , y ) ∧? H ( y ))
? xF ( x ) →? y ( G ( x , y ) ∧? H ( y ))
? ? zF ( z ) →? y ( G ( x , y ) ∧? H ( y )) 換名規則
? ? z ? y ( F ( z ) ( G ( x , y ) ∧? H ( y ))) 轄域收縮擴張規則
? ? xF ( x ) →? y ( G ( z , y ) ∧? H ( y )) 代替規則
? ? x ? y ( F ( x ) ( G ( z , y ) ∧? H ( y )))
推理的形式結構
1. A 1 A 2 ∧…∧ A k B
若次式是永真式 , 則稱推理正確 , 記作 A 1 A 2 ∧…∧ A k ? B
2. 前提 : A 1 , A 2 , , A k
結論 : B
推理定理 : 永真式的蘊涵式
第一組 命題邏輯推理定理的代換實例
, ? xF ( x ) ∧? yG ( y ) ? ? xF ( x )
第二組 基本等值式生成的推理定理
, ? xF ( x ) ???? xF ( x ), ??? xF ( x ) ?? xF ( x )
?? xF ( x ) ?? x ? F ( x ), ? x ? F ( x ) ? ?? xF ( x )
第三組 其他常用推理定律
(1) ? xA ( x ) ∨? xB ( x ) ? ? x ( A ( x ) B ( x ))
(2) ? x ( A ( x ) B ( x )) ?? xA ( x ) ∧? xB ( x )
(3) ? x ( A ( x ) B ( x )) ? ? xA ( x ) →? xB ( x )
(4) ? x ( A ( x ) B ( x )) ? ? xA ( x ) →? xB ( x )
1. 全稱量詞消去規則 ( ? -)
? xA ( x)或? xA ( x )
———? ? ———
A ( y)? ? ??∴ A (c )
其中 x , y 是個體變項符號 , c 是個體常項符號 , 且在 A x 不在 ? y ? y 的轄域內自由出現
2. 全稱量詞引入規則 ( ? +)
????A( x )
————
∴? xA ( x )
其中 x 是個體變項符號 , 且不在前提的任何公式中自由出現
3. 存在量詞消去規則 ( ? -)
?A( x ) B
—————
∴? xA ( x ) B
其中 x 是個體變項符號 , 且不在前提的任何公式和 B 中自由 出現
4. 存在量詞引入消去規則 ( ? +)
A(y)??????????或??????BA(y)
————? ? ? ? ?—————
∴? xA (x)?????????∴B →? xA ( x )
A(c)??????????或??????BA(c)
————? ? ? ? ?—————
∴? xA (x)?????????∴B →? xA ( x )

其中 x , y 是個體變項符號 , c 是個體常項符號 , 且在 A y c 不在 ? x ? x 的轄域內自由出現 .
定義5.3 自然推理系統
推理規則 :
(1) 前提引入規則
(2) 結論引入規則
(3) 置換規則
(4) 假言推理規則
(5) 附加規則
(6) 化簡規則
(7) 拒取式規則
(8) 假言三段論規則
(9) 析取三段論規則
(10) 構造性二難推理規則
(11) 合取引入規則
(12) ? - 規則
(13) ? + 規則
(14) ? - 規則
(15) ? + 規則
構造推理證明的實例?
例5?在自然推理系統?中構造下面推理的證明, 取個體域R:
不存在能表示成分數的無理數 . 有理數都能表示成分數 .
所以 , 有理數都不是無理數 .
F ( x ): x 是無理數 , G ( x ): x 是有理數 , H ( x ): x 能表示成分數 .
前提 : ?? x ( F ( x ) H ( x )), ? x ( G ( x ) H ( x ))
結論 : ? x ( G ( x ) →? F ( x ))
證明 :
?? x ( F ( x ) H ( x)) ????????前提引入
? x ( ? F ( x ) ∨? H (x)) ????????①置換規則
? x ( F ( x ) →? H (x)) ????????②置換規則
F ( x ) →? H ( x) ????????③ ?-
? x ( G ( x ) H ( x)) ????????前提引入
G ( x ) H ( x) ????????⑤ ? -
H ( x ) →? F (x) ????????④置換規則
G ( x ) →? F ( x) ????????⑥⑦假言三段論
? x ( G ( x ) →? F ( x)) ????????⑧ ? +
要特別注意使用 ? - ? + ? - ? + 規則的條件
例6?在自然推理系統?中,構造推理的證明

人都喜歡吃蔬菜.但不是所有的人都喜歡吃魚.所以, 在喜歡吃蔬菜而不喜歡吃魚的人

F ( x ): x 為人, G ( x ): x 喜歡吃蔬菜, H ( x ): x 喜歡吃魚
前提: ? x ( F ( x ) G ( x )), ?? x ( F ( x ) H ( x ))
結論: ? x ( F ( x ) G ( x ) ∧? H ( x ))
證明:用歸謬法
(1) ?? x ( F ( x ) G ( x ) ∧? H ( x)) ????????結論否定引入
(2) ? x ? ( F ( x ) G ( x ) ∧? H ( x)) ????????(1)置換規則
(3) ? ( F ( y ) G ( y ) ∧? H ( y)) ????????(2)??
(4) G ( y ) → ? F ( y ) H ( y) ????????(3)置換規則
(5) ? x ( F ( x ) G ( x)) ????????前提引入
(6) F ( y ) G ( y) ????????(5)??
(7) F ( y ) → ? F ( y ) H ( y) ????????(4)(6)假言三段論
(8) F ( y ) H ( y) ????????(7)置換規則
(9) ? y ( F ( y ) H ( y)) ????????(8)? +
(10) ? x ( F ( x ) H ( x)) ????????(9)置換規則
(11) ?? x ( F ( x ) H ( x)) ????????前提引入
(12) 0 ????????(10)(11)合取
注意:
如果不明白什么是置換規則可以去看第二部分命題邏輯等值演算,簡單來說置換規則就是基本等值式
基本要求?
深刻理解并牢記一階邏輯中的重要等值式 , 并能準確而熟 練地應用它們
熟練正確地使用置換規則、換名規則、代替規則
熟練地求出給定公式的前束范式
深刻理解自然推理系統 N L 的定義,牢記 N L 中的各條推理 規則,特別是注意使用 ?? ? + ? + ?? 4 條推理規則的 條件
能正確地給出有效推理的證明

第五部分與第三部分命題邏輯的推理理論比較相似 ,都是對推理定律的使用

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256946.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256946.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256946.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從易到難,寫一個JavaScript加載器之一

先上代碼: 1 (function(global) {2 var createScript, insertScript, makeLoadQueue;3 createScript function(src) {4 var script;5 script document.createElement(SCRIPT);6 script.src "" src ".js";7 return script;8 };9…

關于怎么怎么把 unsingned char 數據轉換為 Opencv 的Mat類型,并且吧圖像顯示出來

1、定義 unsignde char* A; 2、定義cv::Mat B(cv::Size(800,500),CV_8U) 3、使用c語言的 memcpy(B.data, A,800*500)//將A指針的數據復制到B中的數據內存,并且給出內存大小 4最后unsignde char 類型數據就會被轉化為Mat類型,并且可以顯示出…

學習筆記(31):Python網絡編程并發編程-定時器

立即學習:https://edu.csdn.net/course/play/24458/296448?utm_sourceblogtoedu 定時器:threading.Timer 1.概念:定時器就是實現過多久去執行什么事情 2.相關函數 1)Timer(self,interval,function,args()) interval:定時的時間 functio…

vs2012 與 win7 不兼容的問題

我用的是win7 64位系統,所以安裝位置那里是“C:\Program Files (x86)”,多了個(x86)。 百度搜索到園子里的師兄給的解決辦法http://www.cnblogs.com/mumuliang/archive/2013/08/20/3270628.html 裝這個補丁: Update for Microsoft Visual Stu…

Scrum方法論(四)

本文轉自桂素偉51CTO博客,原文鏈接: http://blog.51cto.com/axzxs/1358371,如需轉載請自行聯系原作者

atoi(),函數,將字符串轉為整形數字

C 庫函數 int atoi(const char *str) 把參數 str 所指向的字符串轉換為一個整數&#xff08;類型為 int 型&#xff09;。 測試用例&#xff1a; #include <stdio.h> #include <stdlib.h> #include <string.h>int main() {int val;char str[20];strcpy(str, …

學習筆記(32):Python網絡編程并發編程-線程queue

立即學習:https://edu.csdn.net/course/play/24458/296449?utm_sourceblogtoedu 線程queue 一&#xff1a;Queue先進先出 1.queue.Queue(n):創建一個最大容量為n的隊列 2.queue.Queue(n).put():添加元素 3.queue.Queue(n).get():取元素 4.put()和get(),默認阻塞狀態為True&am…

第一天,仔細學習了下:common.inc.php(Discuz6.1.0核心文件)01

<?php /* April 18,2012 discuz二次開發學習 author:xuqin 不能為了完成任務去做一件事&#xff0c;要舉一反三&#xff0c;融會貫通的去學習。 */ error_reporting(0); /* * error_reporting(0); //抑制所有的出錯信息 * error_reporting(E_ALL);//顯示所有的出錯信息 …

acdream 1023 xor按位思考

思路&#xff1a;記答案為ans&#xff0c;統計出數列A和B在某二進制某一位上有多少個1&#xff0c;如果個數相同&#xff0c;則ans那一位上為0&#xff08;因為題目要求最小的滿足條件的值&#xff09;&#xff0c;如果不一樣&#xff08;則需要考慮那一位上異或個1&#xff09…

system的相關用法

system()—執行shell命令也就是向dos發送一條指令。 相關函數&#xff1a;fork, execve, waitpid, popen頭文件&#xff1a;#include <stdlib.h>定義函數&#xff1a;int system(const char * string); system("pause")可以實現凍結屏幕&#xff0c;便于觀察…

學習筆記(33):Python網絡編程并發編程-進程池線程池

立即學習:https://edu.csdn.net/course/play/24458/296451?utm_sourceblogtoedu 進程池與線程池&#xff1a; 一般應用在網站上&#xff0c;進程池或線程池最大的數量一般需要盡可能地大但是不要超出服務器的承載范圍 1.進程池&#xff1a; 1)concurrent.futures.ProcessP…

gulp配置實現修改js、css、html自動刷新

寫在前面&#xff1a; 本配置支持es6、less、react 1.首先 給出初始的目錄結構 給出執行gulp后的目錄結構 給出執行gulp --p后的目錄結構 2.package.json里是一個寫入。文件描述了npm包的相關配置信息&#xff08;作者、簡介、包依賴等&#xff09;和所需模塊。 {"name&qu…

作為程序員之正則表達式

目錄 正則表達式基礎語法標準字符集合自定義的字符集合多行、單行模式高級語法選擇符和分組反向引用預搜索/零寬斷言例子匹配郵箱正則表達式 基礎語法 標準字符集合 \D 和[^\d]意思一樣&#xff0c;就是與 \d 相反 REG意義\ddigital表示 0 到 9 之間任意的一個數字\wworld表示任…

javascript 的dateObj.getTime() 在為C#的獲取方式

publicstringGetTime() { Int64 retval 0; DateTime st newDateTime(1970, 1, 1); TimeSpan t (DateTime.Now.ToUniversalTime() -st); retval (Int64)(t.TotalMilliseconds 0.5); returnretval.ToString(); } 在Net中的實際測試代碼 MSScriptControl.Scri…

學習筆記(34):Python網絡編程并發編程-異步調用與回調機制

立即學習:https://edu.csdn.net/course/play/24458/296452?utm_sourceblogtoedu 1.知識點&#xff1a;&#xff08;詳細見代碼注釋&#xff09; 1&#xff09;同步調用&#xff1a; res1 pool.submit(ju,john1).result() 2&#xff09;異步調用 pool.submit(ju,john1) 3…

c和c++的結構體使用

一&#xff1a;結構體其實有兩種初始化方式 1、直接把多有的變量在其內部通過形參傳入到結構體中&#xff0c;結構體定義在程序的最開頭是個全局變量&#xff1b;這個時候參數已經傳入進來&#xff0c;在本文件中都可以直接使用該結構體的所有成員變量 2、先定義&#xff0c;…

python第三方庫安裝的各種方法(全網最全,最簡單易懂)

使用鏡像&#xff1a; pip install virtualenv -i https://pypi.douban.com/simple 國內源&#xff1a; pip install -i https://pypi.tuna.tsinghua.edu.cn/simple module_name 或 pip install -i https://pypi.douban.com/simple module_name 國內的鏡像源來加速 pip inst…

Jmeter服務器監控插件使用

Jmeter服務器監控插件使用 Jmeter-Plugins支持CPU、Memory、Swap、Disk和Network的監控&#xff0c;在測試過程中更加方便進行結果收集和統計分析。 一、準備工作&#xff1a; 1、下載Jmeter-Plugins插件&#xff0c;下載Server端ServerAgent插件&#xff1b; 2、解壓Jmeter-Pl…

以后遇見 visual studio的調試bug出錯,直接查詢錯誤代碼;高效解決調試問題

1、例如遇到&#xff1a; 嚴重性 代碼 說明 項目 文件 行 錯誤 LNK2005 "void __cdecl readFileList(class std::basic_string<char,struct std::char_traits<char>, class std::allocator<char> >,class std::vector<class s…

數據庫導入導出命令

Oracle數據導入導出imp/exp 功能&#xff1a;Oracle數據導入導出imp/exp就相當與oracle數據還原與備份。 大多情況都可以用Oracle數據導入導出完成數據的備份和還原&#xff08;不會造成數據的丟失&#xff09;。 Oracle有個好處&#xff0c;雖然你的電腦不是服務器&#xff0c…