##EasyReadMore##

4.14.2013

述詞邏輯的語意

有了L這個語言的structure,先把這個structure叫$M$好了,我們就可以判斷這個語言中沒有自由變元(free variable)的語句(sentence),在$M$裡是真的還是假的。

以$L'$這個有$a, b, P, Q, f, g$這些非邏輯符號的語言為例,其中$a, b$是常數,$P$是一元述詞,$Q$是二元述詞,$f$是一元函數,$g$是二元函數。我們設計一個$L'$的structure $A$如下:
$U=\{0, 1, 2\}$
$a^A=0$
$b^A=1$
$P^A=\{0, 2\}$
$Q^A=\{(0,1), (1,2), (2,1)\}$
$f^A=\{(0,2), (1,2), (2,0)\}$
——意思是,$f^A(0)=2, f^A(1)=2, f^A(2)=0$
$g^A=\{(0,0,0), (0,1,1),(0,2,2), (1,0,1), (1,1,1), (1,2,1),$ $(2,0,1), (2,1,0), (2,2,1)\}$
—— 意思是,$g^A(0,0)=0, g^A(0,1)=1, g^A(0,2)=2, ⋯$
原子語句(atomic sentence)的真假值
在$A$這個structure裡,$P(a)$是真的還是假的?我們先看$a^A$指到什麼東西,再看看$a^A$指到的東西是不是在$P$的詮釋裡。在裡面,那麼$P(a)$是真的;不在裡面,那麼$P(a)$就是假的。$a^A$指到$0$,而且$0∈P^A$,所以$P(a)$在$A$裡是真的。$P(a)$在$A$裡是真的,通常會記為$A⊨P(a)$或$⊨_AP(a)$。

而$P(b)$因為$1∉P^A$,便是假的。$P(b)$在$A$中為假,則記為$A⊭P(b)$或$⊭_AP(b)$。$Q(a,b)$是真的,記為$A⊨Q(a,b)$,因為$(0,1)∈Q^A$。$A⊭Q(a,a)$,因為$(0,0)∉Q^A$。

至於P(f(a))在$A$裡的真假值,就把$a^A$指到的東西輸進$f^A$裡,看輸出的東西是不是在$P^A$裡。$a^A$指到$0$,$0$輸入$f^A$會輸出$2$(因為$(0,2)∈f^A$,其中$0$是輸入,$2$是輸出),而$2∈P^A$,所以$A⊨P(f(a))$。而$A⊭P(g(b,a))$,因為往$g^A$的第一個參數位置輸入$1$,第二個位置輸入$0$後,輸出的$1$不在$P^A$裡。

有連接詞的語句的真假值
和語句邏輯的計算方式差不多。例如
  • $A⊭P(g(b,a))$,所以$A⊨¬P(g(b,a))$。$A⊨P(a)$,故$A⊭¬P(a)$。
  • $P(a)∧P(g(b,a))$只會在$P(a)$和$P(g(b,a))$都為真的情況下為真,所以$A⊭P(a)∧P(g(b,a))$。
有量限詞(quantifier)的句子的真假值
$∀xP(x)$的意思是,所有domain裡的東西都有$P$這個性質。目前$U=\{0,1,2\}$,也就是說,$∀xP(x)$的意思是$0∈P^A$而且$1∈P^A$而且$2∈P^A$。因為$1∉P^A$,所以$A⊭∀xP(x)$。

$∃xP(x)$的意思是,至少有一個domain裡的東西有$P$這個性質。也就是說,$∃xP(x)$的意思是$0∈P^A$或者$1∈P^A$或者$2∈P^A$。所以$A⊨∃xP(x)$。

$∀x∃yQ(x,y)$的意思是,所有domain裡的東西,都和domain裡至少一個東西有$Q$這個關係。要講得具體一點以幫助理解的話,我們可以先把$Q$視為某個二元關係,例如$x$喜歡$y$(這不代表$Q$這個述詞就是$x$喜歡$y$的意思,$Q$就只是某個述詞符號,$Q^A$僅僅是某個由二元序列構成的集合。就像國小或幼稚園老師教$1+1=2$的時候,把「$1$這個自然數,填進+這個函數的兩個參數位置後,就會輸出$2$」生動地講成,一個蘋果和另一個蘋果放在一起就是兩個蘋果那樣。雖然$1+1=2$和蘋果半毛關係也沒有,但這樣舉例子比較容易理解),那麼$∀x∃yQ(x,y)$的意思便是,每個東西都至少喜歡一個東西。

不過句子太複雜或太長的話,我們可能沒辦法用舉實例的方式,理解句子的意思。不過還有別的辦法。也可以這樣理解$∀x∃yQ(x,y)$:$∀x∃yQ(x,y)$是指所有domain裡的東西都滿足$∃yQ(x,y)$,也就是
$∃yQ(x,y)[^x_0]$而且$∃yQ(x,y)[^x_1]$而且$∃yQ(x,y)[^x_2]$
$∃yQ(x,y)[^x_0]$的意思是$∃yQ(x,y)$中的$x$會指到domain裡的$0$。我們不能直接寫$∃yQ(0,y)$是由於,$0$不是term,所以$∃yQ(0,y)$不是合文法的字串。(私底下想把$∃yQ(x,y)[^x_0]$腦補成$∃yQ(0,y)$是沒問題,但別在正式場合這麼做)

而$∃yQ(x,y)[^x_0]$可以理解成,至少有一個domain裡的東西會滿足$Q(x,y)[^x_0]$,也就是,
$Q(x,y)[^x_0,^y_0]$或者$Q(x,y)[^x_0,^y_1]$或者$Q(x,y)[^x_0,^y_2]$。
所以,$∃yQ(x,y)[^x_0]$而且$∃yQ(x,y)[^x_1]$而且$∃yQ(x,y)[^x_2]$的意思就會是:
【$Q(x,y)[^x_0,^y_0]$或者$Q(x,y)[^x_0,^y_1]$或者$Q(x,y)[^x_0,^y_2]$】而且
【$Q(x,y)[^x_1,^y_0]$或者$Q(x,y)[^x_1,^y_1]$或者$Q(x,y)[^x_1,^y_2]$】而且
【$Q(x,y)[^x_2,^y_0]$或者$Q(x,y)[^x_2,^y_1]$或者$Q(x,y)[^x_2,^y_2]$】。
也就是
【$0$喜歡$0$,或者$0$喜歡$1$,或者$0$喜歡$2$】而且
【$1$喜歡$0$,或者$1$喜歡$1$,或者$1$喜歡$2$】而且
【$2$喜歡$0$,或者$2$喜歡$1$,或者$2$喜歡$2$】
因為domain裡的每個東西的確都喜歡至少一個東西,所以$A⊨∀x∃yQ(x,y)$。

有自由變元的句式(formula)的真假值
有自由變元的句式,基本上沒辦法判斷真假值。試想以下幾個句式:
  • $1=1$
  • $2=1$
  • $x=1$
第一個句式顯然是真的,第二個顯然是假的,但第三個就難辦了,因為我們不知道$x$到底是指哪個數,所以無從判斷$x$是不是等於$1$。

既然問題的根源在於,不知道$x$到底是指什麼,那麼就發派一個東西給$x$去指不就得了。負責這項指派業務的玩意兒,就是一元的assignment function(我不知道這個東西有沒有固定的中文譯名,如果硬要翻的話,就叫指派函數好了)。這個函數和邏輯語言裡那個非邏輯符號的函數的詮釋不一樣。Assignment function的定義域是所有變數的集合(而不是structure的domain,和對非邏輯符號的函數的詮釋不一樣),值域是structure的domain裡的某一個東西。也就是,只要我們輸入某個變數給assignment function,問它這個變數是指啥,它就會輸出一個structure的domain裡的東西,回答我們此變數是指structure的domain裡的這個東西。

問不同的assignment function同一個問題,可能會得到不同的答案。例如$h_1(x)=1$但$h_2(x)=2$之類的。這時在$h_1$這個assignment function的指派之下,$P(x)$在$A$中為假,因為$1∉P^A$,記為$A⊭P(x)[h_1]$,而在$h_2$的的指派之下,$P(x)$在$A$中為真,因為$2∈P^A$,記為$A⊨P(x)[h_2]$。

有時我們會看到一些長相比較奇特的assignment function,例如$h^x_1$。$h^x_1$是指,我們已經有一個assignment function $h$,而$h^x_1$是個這樣的函數:輸入$x$會輸出$1$,輸入$x$以外的變數會輸出和$h$一樣的東西;也就是
$h^x_1(v)=1$    , if $v=x,$($v$是variable的意思)
$h^x_1(v)=h(v)$, if $v≠x$
依此類推,
$h^x_1^y_2(v)=1$    , if $v=x, $
$h^x_1^y_2(v)=2$    , if $v=y, $
$h^x_1^y_2(v)=h(v)$, if $v≠x$ and $v≠y$

重要概念
  1. 某個structure $M$讓某個句子$φ$為真的話,我們就會就說$M$這個structure是$φ$的模型(model)。(不過structure和mode這兩個字常混用就是了)
  2. 某個語言$L$中的句子$φ$是可滿足的(satisfiable),若且唯若,至少有一個$L$的structure,和一個該structure的assignment function(如果$φ$裡有自由變元的話會用上,沒有的話,assignment function就只是來插花的)會讓$φ$為真。
  3. 某個語言$L$中的句子$φ$是邏輯真理(logical truth),記為$⊨φ$,若且唯若,所有$L$的structure,和所有該structure的assignment function都會讓$φ$為真。
    也就是,任選一個$L$的structur和它的隨便那個assignment function,$φ$在裡面都會是真的。
  4. 某個語言$L$中的語句集合$Γ$,蘊含(imply)該語言的某個句子$φ$,記為$Γ⊨φ$,若且唯若,所有會讓$Γ$裡全部句子都為真的$L$的structure,和所有該structure的assignment function,也都會讓$φ$為真。
    也就是,$Γ$裡全部句子都為真的時候,$φ$也會為真。
第3點,是第4點中的$Γ$取為空集合而產生的特例。

0 feedback:

Post a Comment

為了避免辛辛苦苦寫的留言送出後就不見,你可以在送出前把它複製到別處。
如果留言一直沒顯示,可能是被系統當成垃圾留言擋下來。你可以寄信到右上角的信箱叫我處理。