頭歌 離散數(shù)學(xué)-邏輯與推理 題解
第一關(guān):命題與邏輯
任務(wù)描述
本關(guān)任務(wù):學(xué)習(xí)命題與邏輯相關(guān)知識(shí),完成相關(guān)練習(xí)。
相關(guān)知識(shí)
為了完成本關(guān)任務(wù),你需要掌握:
命題;
邏輯聯(lián)結(jié)詞。
命題
具有真假意義的陳述句被稱為命題。例如,“地球圍著太陽轉(zhuǎn)?!保ㄕ妫?,“地球圍著月亮轉(zhuǎn)。”(假),為了對(duì)命題作邏輯演算,我們使用大寫字母P,Q,R,...表示命題,稱為命題符號(hào)。命題的真假我們用0和1表示,真為1,假為0。
邏輯聯(lián)結(jié)詞
若干個(gè)命題可以通過邏輯聯(lián)結(jié)詞構(gòu)成新的命題,稱之為復(fù)合命題。復(fù)合命題的子命題也可以是復(fù)合命題,我們稱不是復(fù)合命題的命題為簡(jiǎn)單命題,它不包含任何聯(lián)結(jié)詞。復(fù)合命題的真值依賴于其中的簡(jiǎn)單命題的真值。有如下五個(gè)常用的聯(lián)結(jié)詞。
否定:設(shè)命題P,與P的真值取值相反的復(fù)合命題被稱為命題P
的否定,記作┐P
,讀作非P。真值表如下:

使用“sympy”庫(kù)表示:
結(jié)果為:
合?。涸O(shè)P,Q是兩個(gè)命題,復(fù)合命題"P并且Q"稱為P和Q的合取,記為P∧Q
,讀作P合取Q,規(guī)定P∧Q
為真當(dāng)且僅當(dāng)P與Q同時(shí)為真。真值表如下:

使用“sympy”庫(kù)表示:
結(jié)果為:
析?。涸O(shè)P,Q是兩個(gè)命題,復(fù)合命題“P或者Q”稱為P和Q的析取,記為P∨Q
,讀作P析取Q,規(guī)定P∨Q
為真當(dāng)且僅當(dāng)P與Q中至少一個(gè)為真。真值表如下:

使用“sympy”庫(kù)表示:
結(jié)果為:
蘊(yùn)含:設(shè)P
,Q
是兩個(gè)命題,復(fù)合命題“如果P,則Q”稱為P
蘊(yùn)含Q
,記為P→Q
,讀作P
蘊(yùn)含Q
,稱P
為條件,Q
為結(jié)論。規(guī)定P→Q
為假當(dāng)且僅當(dāng)P
為真而Q
為假。真值表如下:

使用“sympy”庫(kù)表示:
結(jié)果為:
等價(jià):設(shè)P
,Q
是兩個(gè)命題,復(fù)合命題“P當(dāng)且僅當(dāng)Q”稱為P
等價(jià)于Q
,記為P?Q
,讀作P
等價(jià)于Q
,規(guī)定P?Q
為真當(dāng)且僅當(dāng)P
與Q
同時(shí)為真。真值表如下:

使用“sympy”庫(kù)表示:
結(jié)果為:
編程要求
根據(jù)提示,在右側(cè)編輯器Begin-End
區(qū)間補(bǔ)充代碼,編程得出(P→Q)∧R
的真值表的所有結(jié)果。
測(cè)試說明
平臺(tái)會(huì)對(duì)你編寫的代碼進(jìn)行測(cè)試,輸出完全正確才能通過。
提示:
輸出:

開始你的任務(wù)吧,祝你成功!
題解
坑點(diǎn):True,True,F(xiàn)alse這組輸出是不存在的,要break掉之后另外再輸出True,True,True這組數(shù)據(jù)
第2關(guān):命題函數(shù)的等價(jià)
任務(wù)描述
本關(guān)任務(wù):熟悉命題函數(shù)以及命題函數(shù)的等價(jià),完成練習(xí)。
相關(guān)知識(shí)
為了完成本關(guān)任務(wù),你需要掌握:
命題函數(shù);
命題函數(shù)的等價(jià)。
命題函數(shù)
運(yùn)用若干個(gè)命題以及邏輯聯(lián)結(jié)詞進(jìn)行的組合,我們稱為命題公式。例如,P
,Q
,R
均為一個(gè)命題,有關(guān)它們的函數(shù)f(P,Q,R)=(P∧Q)∨R
被稱為命題函數(shù),我們來看這個(gè)命題函數(shù)的真值表:

對(duì)于四則運(yùn)算我們有運(yùn)算的優(yōu)先級(jí),而對(duì)于邏輯聯(lián)結(jié)詞我們則有聯(lián)結(jié)詞的優(yōu)先級(jí),五種聯(lián)結(jié)詞的運(yùn)算優(yōu)先級(jí)按如下次序由高到低:

規(guī)定括號(hào)()
內(nèi)的邏輯運(yùn)算最先被計(jì)算。例如,我們有如下命題公式:

我們可以將其化簡(jiǎn)為:

使用“sympy"庫(kù)來創(chuàng)建一個(gè)命題函數(shù):
命題函數(shù)的等價(jià)
如果命題函數(shù)具有相同的真值表,那么它們?cè)谶壿嬌鲜堑葍r(jià)的。例如我們有如下兩個(gè)命題函數(shù):

它們的真值表為:

由于真值表相等,兩個(gè)命題函數(shù)在邏輯上也相等。
輸出為:
編程要求
根據(jù)提示,在右側(cè)編輯器Begin-End
區(qū)間補(bǔ)充代碼,完成練習(xí)。
測(cè)試說明
平臺(tái)會(huì)對(duì)你編寫的代碼進(jìn)行測(cè)試,只有所有輸出完全正確才能通過。

開始你的任務(wù)吧,祝你成功!
題解
第3關(guān):等值演算
任務(wù)描述
本關(guān)任務(wù):學(xué)習(xí)常用的邏輯等值式以及邏輯公式的等值演算,完成相關(guān)練習(xí)。
相關(guān)知識(shí)
為了完成本關(guān)任務(wù),你需要掌握:
1.常用的等值式;
2.等值演算。
常用的等值式
我們將一個(gè)命題公式的每一組真值(即真值表中的一行)稱為該命題公式的一個(gè)解釋。
設(shè)G
是一個(gè)命題公式,若G
在它的所有解釋下均為真,則稱G
為重言式,或稱G
是永真的。
設(shè)G
是一個(gè)命題公式,若G
在它的所有解釋下均為假,則稱G
為矛盾式,或稱G
是永假的。
設(shè)G
是一個(gè)命題公式,若至少有一個(gè)解釋使得G
為真,則稱G
為可滿足式,或稱G
是可滿足的。
G
是永真的,當(dāng)且僅當(dāng)非G
是永假的,重言式一定是可滿足式,反之不然。
若兩個(gè)命題公式P
,Q
在其任何解釋下,相應(yīng)的真值均相同,則稱P
與Q
等值,記為P≡Q
。
常用的等值式如下:
冪等律:

結(jié)合律:

交換律:

分配律:

雙重否定律:

吸收律:

零律:

同一律:

補(bǔ)余律:

德摩根律:

等值演算
等值關(guān)系是一個(gè)等價(jià)關(guān)系,正是由于這種性質(zhì),使得我們可以從某個(gè)邏輯公式出發(fā),經(jīng)過有限次使用常用的等值式,推演出另外一些邏輯公式,這一過程稱為等值演算。例如,證明如下邏輯公式為重言式:

編程要求
根據(jù)提示,在右側(cè)編輯器Begin-End
區(qū)間補(bǔ)充代碼,通過編程驗(yàn)證等值演算的結(jié)果。
測(cè)試說明
平臺(tái)會(huì)對(duì)你編寫的代碼進(jìn)行測(cè)試,只有所有輸出都正確才能通過。
提示:
輸出結(jié)果為:

開始你的任務(wù)吧,祝你成功!
題解
第4關(guān):推理規(guī)則
任務(wù)描述
本關(guān)任務(wù):熟悉邏輯推理的相關(guān)理論,完成練習(xí)。
相關(guān)知識(shí)
為了完成本關(guān)任務(wù),你需要掌握:推理規(guī)則。
推理理論
設(shè)G
和H
是兩個(gè)命題公式,若G→H
是重言式,則稱H
是G
的邏輯結(jié)果,或稱G
蘊(yùn)含H
,記為G?H
。符號(hào)?
是個(gè)關(guān)系詞,而不是邏輯聯(lián)結(jié)詞。
由聯(lián)結(jié)詞→
的定義知,G→H
是重言式,當(dāng)且僅當(dāng)對(duì)G
,H
的任意解釋I
,若I
滿足G
,則I
也滿足H
。因此,G?H
的充要條件是,滿足G
的解釋均滿足H
。
一些基本的蘊(yùn)含式:
附加:

化簡(jiǎn):

合?。?/p>
假言推理:

析取三段論:

拒取式:

假言三段論:

構(gòu)造性二難:

使用“sympy”庫(kù)驗(yàn)證附加蘊(yùn)含式為重言式:
結(jié)果為:
可以看到所有解釋都為真,輸出真,即證為重言式。
編程要求
根據(jù)提示,在右側(cè)編輯器Begin-End
區(qū)間補(bǔ)充代碼,練習(xí)相關(guān)推理規(guī)則。
測(cè)試說明
平臺(tái)會(huì)對(duì)你編寫的代碼進(jìn)行測(cè)試,只有所有輸出都正確才能通過。

開始你的任務(wù)吧,祝你成功!
題解
坑點(diǎn):測(cè)試集數(shù)據(jù)有誤,最后一個(gè)輸出必須手動(dòng)print False,因?yàn)?(p->q)∧q)->p是重言式,測(cè)試集給出的是否