語句邏輯的句子是用真值表來判斷真假值,述詞邏輯的句子則是用structure來判斷。Structure是由domain和對非邏輯符號的詮釋(interpretation)構成的;至於要詮譯哪些非邏輯符號,就看語言中的非邏輯符號有哪些,詮釋那些就可以了。
以某個有這些非邏輯符號的語言為例,其中是常數,是一元述詞,是二元述詞,是一元函數,是二元函數(此處符號的下標和述詞及函數是幾元一模一樣只是偶然),這個語言的structure大致會長成這樣:。以下一一介紹這些符號的意思。
Structure的名字
中的
和上標的
顯示了這個structure的名字是
,意思是model。取名時通常會用大寫英文字母,有時會用特殊字形呈現,以示區隔,例如
的花體字是
。
Domain
指structure的domain,是universe的意思。有些人不會寫來表示domain,而是寫,或dom(),或(最後兩個寫法和structure的名字有關。不過這個寫法可能會讓人誤以為你想談的是的domain的基數(cardinality),也就是domain裡有幾個東西)。或者structure的名字用特殊字形,然後domain就用一般字形呈現,例如這個structure的domain就用表示。
當我們在說structure的大小、structure有多大時,我們指的是它的domain的基數。
Domain是一個集合,而且不能是空集合。我們可以把structure理解成是某個世界,domain則決定了這個世界上有哪些東西。你可以依自己喜好往domain這個集合裡加進任何東西,例如數字、英文字、中文字、人、幾何圖案;加無限個東西進去也行,例如讓domain是所有實數的集合。以下是一些domain這個集合可能的長相:
-
- {, Doctor House, 嗨!, 飛天麵條神}
不過為了書寫方便起見,通常只會放數字或英文字。我們暫定
的domain是
。
常數的詮釋
是指,
這個常數在
裡的詮釋。
,也就是,
會等於domain裡的某一個成員。我們可以把常數理解成domain裡某個東西的名字;一個東西可以有很多個常數當作名字,就像一個人可以有很多個綽號類似;但一個常數不能指到一個以上的東西,因為重名的話,我們就不知道那到底是在叫誰了。以下是一些
這兩個常數在
中可能的詮釋:
述詞的詮釋
是指,
這個述詞在
裡的詮釋。我們對述詞的詮釋是
外延(extension)式的。如果
是一個
元述詞,那麼
。
也是一個集合,而和domain不同的是,述詞的詮釋可以是空集合。
是
乘
次的意思。
是一個由二元序列(tuple)構成的集合,序列中的第一個東西來自
,第二個來自
,把所有符合此條件的序列蒐集起來形成的集合,就是
×
。例如,
若,則 。
則是由許多三元序列構成的集合,序列中的第一個東西來自
,第二個來自
,第三個來自
,把所有符合此條件的序列蒐集起來形成的集合,就是
。例如,
若,,則
在序列裡,東西的順序很重要,
和
是不同的序列,這點和集合很不一樣,
和
都是同一個集合。(也有人用角括號表示序列,但是我還沒弄清楚怎麼在blogger上打出角括號)
完全沒弄懂前面
⊆
是什麼鬼玩意的人別擔心,先來看幾個例子。我們可以把一元述詞
的詮釋想成,我們想讓domain裡的哪些東西有
這個性質,我們就把那些東西放到
這個集合裡。
在
裡幾個可能的詮釋:
我們可以把二元述詞的詮釋想成,我們想讓domain裡哪兩個東西有這個關係,就把那兩個東西放到這個集合裡。或者更生動一點地說(就像國小或幼稚園老師教的時候,把「這個自然數,填進+這個函數的兩個參數位置後,就會輸出」生動地講成,一個蘋果和另一個蘋果放在一起就是兩個蘋果那樣。雖然和蘋果半毛關係也沒有,但這樣舉例子比較容易理解),把想成某個二元關係,例如喜歡,我們想讓domain裡的喜歡自己的話,就把放進這個集合裡,想讓domain裡的喜歡domain裡的的話,就把放進去。
在裡幾個可能的詮釋:
- (喜歡domain裡的所有東西,和則什麼東西都不喜歡)
- (和互相喜歡,單戀)
- ∅(每個東西都不喜歡每個東西)
如果我們遇到的是三元述詞,而且這個述詞的詮釋不是空集合的話,集合裡的東西會長得像,其中空格的部分各填進一個domain裡的東西。總的來說,如果遇到的是元述詞,而且述詞的詮釋不是空集合的話,集合裡的東西會長得像,共個空格,其中每個格子都填進一個domain裡的東西。
等號這個述詞非常特別,它是邏輯符號(不過有些邏輯學家不這麼認為,但目前先當作等號是邏輯符號),所以一般而言等號的詮釋已經規定好了,不是我們想要讓哪兩個domain裡的東西相等,就可以把那兩個東西組成的序列丟進等號的詮釋裡。等號的詮釋這個集合裡,放的東西一律是,每個domain裡的東西,自己和自己構成的序列,也就是,。現在domain,所以。
函數的詮釋
是指,這個函數在裡的詮釋。如果函數是元的,則它的定義域是,值域是。
我們有個把函數轉成集合的辦法:函數是元,我們就弄出元的序列,序列的前面格放輸入值,最後一格放輸出值。例如這個定義在自然數上的一元函數,轉成集合後會長這樣:。
函數的定義是,如果輸入值在定義域裡的話,就一定要有輸出值,而且輸出值只能有一個。所以在詮釋函數時也要符合這條規定。
所以,的定義域是,因為是一元函數。而會長這樣:,其中每個空格都填進一個domain裡的東西,就能得到一個可能的詮釋。所有空格都填同一個東西也沒關係。
的定義域是
,因為
是二元函數。而
會長這樣:
,其中每個空格都填進一個domain裡的東西。
如何用structure判斷句子是真的還是假的?請見
述詞邏輯的語意。