對於我們命題形式語言的語義,我們不參考特定的意圖解釋。此外,我們只對真值感興趣。我們假設對原子公式的真值的初始賦值,並在此基礎上,我們定義更復雜公式的真值。真值的集合是集合
. 對於原子公式集
,賦值是一個函式

. 設
是包含
的公式集,即
,並且恰好是那些可以根據語法定義從
構造的公式。那麼,
在
上的擴充套件,
,給出如下
: 



在下文中,我們將省略索引
來指示賦值
的擴充套件。請注意,這是將型別為
的公式命名為合取式,將型別為
的公式命名為析取式,將型別為
的公式命名為否定式的正確位置。
以下是透過定義
進行的示例評估:假定給定
和
,那麼







令
是一個賦值,而
是一個公式。
被稱為
的賦值,如果
對
的每個子公式都有定義。如果
是
的賦值,並且
,我們稱
是
的模型,並寫成
如果
是
的賦值,並且
,我們寫成
.
一個公式
被稱為可滿足的,當且僅當存在一個模型
,否則
被稱為不可滿足的。
被稱為有效的(或為重言式)當且僅當對
的每一個賦值都是一個模型。我們寫作
或者
。
一個公式
是有效的,當且僅當
是不可滿足的。
證明:
是一個重言式
當且僅當對
的每一個賦值都是一個模型 
當且僅當對
的每一個賦值(當然,這也是對
的賦值)不是模型 
當且僅當
沒有模型
當且僅當
是不可滿足的。
如果對於公式
和
的任何賦值
都成立:如果
是
的模型,那麼
也是
的模型。我們將這種情況記作
.
以下定理是定義的一個簡單推論。
被稱為公式
的推論,
當且僅當
是重言式
當且僅當
是不可滿足的。
很明顯,一個公式的有效性只取決於其原子子公式的賦值:如果
和
是
的賦值,並且它們對每個出現的原子子公式都產生相同的值,那麼
成立。因此,我們可以說,為了檢驗一個公式
的有效性,只需要檢驗其原子子公式的無限多個賦值。這種檢驗可以用下表的形式輕鬆地描述出來,其中
是一個任意的公式,包含
個不同的原子公式
。
|
|
|
|
|
|
|
|
false |
|
false |
false |
|
|
false |
|
false |
true |
|
|
|
|
|
|
|
|
|
true |
|
true |
true |
|
在應用此過程時,引入子公式的中間結果可能會有所幫助,如下面的示例所示。
|
|
|
|
( )) |
| false |
false |
true |
true |
true |
| false |
true |
true |
true |
true |
| true |
false |
false |
false |
true |
| true |
true |
false |
true |
true |
請注意,我們只是描述了檢查公式有效性的演算法。假設公式包含
個原子子公式,那麼我們剛剛構建的表格將包含
行。為了估計這種指數級演算法的成本,假設計算一行需要 1 微秒。如果
僅包含 100 個原子子公式,則計算表格將需要
微秒。
命題公式是否可滿足的問題稱為 SAT,相應的重言式問題稱為 TAUT。
SAT 是一個 NP 完全問題,因此目前尚不清楚 SAT 是否是易處理的。TAUT 是否屬於 NP 仍然是一個開放問題。對於 TAUT,我們知道,它屬於 NP 當且僅當 NP 在補運算下是封閉的。SAT 和 TAUT 都在複雜性理論研究中發揮著重要作用,特別是在關於
的問題方面。
計算以下公式的真值表。確定每個公式是否有效(重言式)、可滿足或不可滿足。











“你長壽的秘訣是什麼?”有人問一位百歲老人。他回答道:“我嚴格遵守以下飲食規則:如果我晚餐不喝酒,我就總是吃魚。每當我晚餐吃魚和酒,都是不放蒜的。如果我吃蒜或喝酒,我就會避免吃魚”。
- 用命題邏輯的形式化這些規則。
- 嘗試簡化這位百歲老人的建議。
透過對命題公式的構造進行歸納,遞迴地定義以下函式
:
中的原子公式集
:
中的二元連線詞
和
的數量
注意:對於
給定公式
=
, 其中
是原子公式(
)其中
表示異或。證明對於所有的
: 一個合適的賦值
對於
是
的模型(即
)當且僅當
對奇數個
成立(
)。
在下面,我們研究只包含原子
的公式。
- 最多有多少個具有不同真值表的公式?
- 對於每一個真值表,是否存在一個對應的公式?如果存在,請給出構造方法!
如果上校在謀殺案發生時不在房間裡,那麼他就無法知道兇手的武器。管家在撒謊,或者他知道兇手是誰。如果巴恩特里夫人是兇手,那麼上校在謀殺案發生時就在房間裡,或者管家在撒謊。管家知道兇手是誰,或者上校在謀殺案發生時不在房間裡。警察得出結論,巴恩特里夫人是兇手。為論證中的每個語句賦予命題變數。將論證寫成一組命題公式,其中包含前提和結論作為命題公式
.
將以下表達式形式化,然後簡化相應的公式和口頭命題。
- 他的母親不是英國人,而他的父親也不是法國人,這是不正確的。
- 他正在學習物理,但沒有學習數學,這是不正確的。
- 工資在下降,而價格在上漲,這是不正確的。
- 既不冷也不下雨,這是不正確的。
教授建議為大學餐廳的午餐制定一個新的方案。
- 如果沒有甜點,每頓午餐都必須有面包。
- 如果供應麵包和甜點,則不供應湯。
- 如果供應湯,則沒有面包。
幫助管理層滿足教授的願望。為此,
- 將三個命題形式化(作為蘊含式、析取式/合取式),並將它們組合成一個邏輯公式。
- 為該邏輯公式提供真值表。該公式是否有模型?
- 為該任務提供一個口語化的表達。