命題演算的推理理論
為了從已知真值的語句中推匯出新的語句,我們使用**推理規則**。
推理規則有什麼用?
數學邏輯常用於邏輯證明。證明是有效的論證,用於確定數學語句的真值。
一個論證是一系列語句。最後一個語句是結論,所有之前的語句稱為前提(或假設)。符號“$\therefore$”(意為因此)放在結論之前。有效的論證是指結論遵循前提真值的論證。
推理規則為根據已有的語句構建有效的論證提供了模板或指導。
重要定義
論證 - 論證是一個以結論結尾的陳述或前提。
有效性 - 當且僅當論證為真且結論永遠不會為假時,論證才是有效的。
謬誤 - 導致無效論證的錯誤推理。
論證結構
論證結構定義為使用前提和結論。
前提 - p1, p2, p3,...,pn
結論 - q
示例
$$\begin{matrix} P \\ Q \\ \hline \therefore P \land Q \end{matrix}$$
如果 $ p_1 \land p_2 \land p_3 \land ,\dots \land p_n \rightarrow q $ 是重言式,則該論證被認為是有效的,否則被稱為無效的。
推理規則表
| 推理規則 | 名稱 | 推理規則 | 名稱 |
|---|---|---|---|
| $$\begin{matrix}P \\hline\therefore P \lor Q\end{matrix}$$ | 附加規則 | $$\begin{matrix}P \lor Q \\lnot P \\hline\therefore Q\end{matrix}$$ | 析取三段論 |
| $$\begin{matrix}P \\ Q \\hline\therefore P \land Q\end{matrix}$$ | 合取規則 | $$\begin{matrix}P \rightarrow Q \\ Q \rightarrow R \\hline\therefore P \rightarrow R \end{matrix}$$ | 假言三段論 |
| $$\begin{matrix}P \land Q\\hline\therefore P\end{matrix}$$ | 簡化規則 | $$\begin{matrix}( P \rightarrow Q ) \land (R \rightarrow S) \\ P \lor R \\ \hline\therefore Q \lor S\end{matrix}$$ | 構造性二難推理 |
| $$\begin{matrix}P \rightarrow Q \\ P \\hline\therefore Q\end{matrix}$$ | 肯定前件 | $$\begin{matrix}(P \rightarrow Q) \land(R \rightarrow S) \\lnot Q \lor \lnot S \\hline\therefore \lnot P \lor \lnot R\end{matrix}$$ | 否定後件 |
| $$\begin{matrix}P \rightarrow Q \\lnot Q \\hline\therefore \lnot P\end{matrix}$$ | 否定後件 |
示例
讓我們看看如何在命題演算中應用推理規則,從論證中推匯出結論,或檢查論證的有效性。考慮以下陳述:
如果下雨,我就不去上學。
如果我不去上學,我就不用做作業。
讓我們首先確定前提,並使用前提變數來表示。
P - 下雨。
Q - 我去上學。
R - 我需要做作業。
這裡的假設如下。
$ P \rightarrow \lnot Q $
$ \lnot Q \rightarrow \lnot R $
現在重言式是 $ (P \rightarrow \lnot Q) \land ( \lnot Q \rightarrow \lnot R) \rightarrow P \rightarrow \lnot R $
這是假言三段論推理規則,我們可以推斷出:如果下雨,我就不用做作業。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP