廣義量詞系列:量詞的迭代運算

1. 引言

《廣義量詞系列:迭代量詞》中,筆者討論了多種「迭代量詞」,這些「 迭代量詞」的共通點是,它們都是由「單式量詞」組合而成的。可是,利用以往介紹的「單式量詞」,我們可 以組合出無數的「迭代量詞」。如要一一列出這些「迭代量詞」的真值條件,這將是費時失事的。事實上,從 上述網頁的表1至表4,讀者應能看到,「迭代量詞」的真值條件其實是從某些「單式量詞」的真值條件組合而 成的。舉例說,上述網頁表3第二行的「迭代量詞」(the ... exactly 1 ... every)(A, B, C)(D)便是 由"the"、"(exactly 1)"和"every"這三個「單式量詞」組合而成的,而這個「迭代量 詞」的真值條件

X ∩ A ⊆ {x: |B ∩ {y: C ⊆ {z: D(x, y, z)}}| = 1}, if |X ∩ A| = 1     (1)

也包含了上述三個「單式量詞」的真值條件的元素,例如|X ∩ ...| ⊆ ...以及上式中的「預設」部 分便是來自"the",|... ∩ ...| = 1便是來自"(exactly 1)",而... ⊆ ...則是來自 "every"。現在的問題是,是否有一種有系統的方法,讓我們根據「單式量詞」的真值條件,一步一步 地推導出由這些「單式量詞」組成的「多式量詞」的真值條件,從而體現出「形式語義學」所推崇的「組合性 原理」?答案是肯定的,這種方法就是量詞的「迭代」運算。

2. 減元算子

2.1 <1>型量詞與減一元算子的概念

在進一步討論前,我們須先定義「<1>型量詞」。在《廣義量詞系列:基本單式 量詞》中,筆者把"John"、"everyone"等量詞稱為「<−,1>型量詞」,這是因為這類 量詞只需「謂詞性論元」,無須「名詞性論元」,我們用「−」代表這個在日常語言中無需寫出來的「名 詞性論元」。根據這種「嚴式記法」,語句"John sang."被翻譯成

John(−)(SING)

現在我們從另一角度看上式。如果我們把上式中的John(−)看做一個單位,那麼這個單位相當於 一個以一元函項SING作為其論元的量詞,我們把這種量詞稱為「<1>型量詞」。透過「<1>型量詞」的 概念,我們可以把「<−,1>型量詞」與「<1,1>型量詞」和「<12,1>型量詞」統一起來。舉例 說,語句"Every boy sang."和"More boys than girls sang."可以分別翻譯成

every(BOY)(SING)
(more ... than ...)(BOY, GIRL)(SING)

其中"every"和"(more ... than ...)"分別為「<1,1>型量詞」和「<12,1>型量詞」 ,BOY和(BOY, GIRL)則分別為由「個體集合」和「個體集合的有序對」組成的「名詞性論元」。現在如果我們 把以上兩式中的every(BOY)和(more ... than ...)(BOY, GIRL)看成整體,那麼這個整體相當 於一個「<1>型量詞」。從這個角度看,「<−,1>型量詞」、「<1,1>型量詞」和「<12,1>型 量詞」的共同點是,三者都具有Q(#)(B)的論元結構,其中「#」可表現為「−」、「個體集合」或「個體 集合的有序對」。

請注意上述有關「<1>型量詞」的定義只適用於含有一元函項的句子。當我們把此一定義應用於含有二元函項的 句子時,便馬上遇到困難。以語句"Everyone loves John"為例,句中的及物動詞"loves"可被翻譯成二元函項 LOVE。可是作為「<1>型量詞」的everyone(−)和John(−)都無法以二元函項作為其 論元。為了解決上段所述的問題,我們可以把「<1>型量詞」重新定義為一種「減元算子」(Arity Reducer)。所謂「減元算子」,是指當我們把這些算子作用於一個n元函項時,其結果為一個n − k元函 項(k ≤ n),即把原來函項的元數減去k。在這種定義下,「<1>型量詞」就是「減一元算子」,即把其論元 的元數減去1的算子。舉例說,當我們把John(−)作用於一元函項SING時,所得結果 John(−)(SING)為一個「零元函項」,即一個具有真值的命題。同理,當我們把 John(−)作用於二元函項LOVE時,所得結果John(−)(LOVE)為一個「一元函項」, 這個「一元函項」代表"loves John"這個「及動動詞 + 賓語」結構(註1)。從集合論的觀點看, John(−)(LOVE)代表一個集合,它的元素為那些具有「愛John」這種特性的個體。當我們把 everyone(−)作用於一元函項John(−)(LOVE)時,所得結果 everyone(−)(John(−)(LOVE))為一個「零元函項」,即一個具有真值的命題。

2.2 減一元算子的形式化定義

接著我們需要「減一元算子」的形式化定義(註2)。首先定義以下集合:設R(x1, ... xn+1)為n + 1元函項,則

Ry1, ... yn = {xn+1: R(y1, ... yn, xn+1)}     (2)

用日常語言說,Ry1, ... yn就是把R中首n個論元分別定為y1、 ... yn, 並保留餘下的一個論元(即xn+1)後所得的一元函項。

請注意由於n + 1元函項可以看成由「有序n + 1元組」組成的集合,(2)又可以表達為

{(x1, ... xn+1): R(x1, ... xn+1)}y1, ... yn = {xn+1: R(y1, ... yn, xn+1)}     (3)

在以下的推導中,有時用(3)會較(2)方便。有了上述概念,我們便可以作出以下定義:設R(x1, ... xn+1)為n + 1元函項,Q(#)為「<1>型量詞」(即「減一元算子」),其中「#」可以是「 −」、「個體集合」或「個體集合的有序對」,則

Q(#)(R) = {(y1, ... yn): Q(#)(Ry1, ... yn)},其中y為異於 x的變項     (4)

請注意在上述定義中,等號左右兩端的Q(#)分別具有「減一元算子」和「<1>型量詞」的性質。上式等號左端的 Q(#)作用於一個n + 1元函項R,所得結果Q(#)(R)是一個包含n個論元(即y1 ... yn)的 n元函項。上式等號右端的Q則作用於Ry1, ... yn。如前所述,Ry1, ... yn是一個一 元函項,這正是「<1>型量詞」所需的論元類型。透過(4),我們解決了上述把「<1>型量詞」Q(#)作用於n + 1 元函項R時所遇到的困難。因為根據(4),我們實際上是把Q(#)作用於一元函項Ry1, ... yn

3. <−,1>型量詞的迭代

定義(4)的優點在於它可以重複運用。舉例說,設R為n + 1元函項。現把一個「減一元算子」Q(#)作用於R,所 得結果Q(#)(R)為一個n元函項。這時我們可以把另一個「減一元算子」Q'(#')作用於Q(#)(R),所得結果 Q'(#')(Q(#)(R))為一個n − 1元函項。上述操作可以繼續進行下去,直至所得結果為零元函項(即命題) 為止。上述這種把「減一元算子」重複作用於函項的運算稱為「迭代」(Iteration)(註3)。利用「迭 代」,我們可以得到各種「迭代量詞」。為突出「迭代」運算,某些學者把Q'(#')(Q(#)(R))寫成

It(Q', Q)(#', #)(R)

這裡的"It"就是"Iteration"一詞的縮寫,It(Q', Q)代表由Q'和Q組合而成的「迭代量詞」。

現在讓我們使用(2)-(4)推導「迭代量詞」(John ... Tom ... everybody)(−, −, −)(A)的「真值條件」。這裡A(x1, x2, x3)為三元函項,並且假設 U ≠ PERSON。在以下的推導中,我們有時要用到以下的等價關係:

j ∈ {x: A(x)} ⇔ A(j)     (5)

我們首先以everybody(−)作用於A:

 everybody(−)(A) 
={(y1, y2): everybody(−)(Ay1, y2)} (根據(4))
={(y1, y2): everybody(−)({x3: A(y1, y2, x3)})}(根據(2))
={(y1, y2): PERSON ⊆ {x3: A(y1, y2, x3)}}("everybody"的真值條件)

接著以Tom(−)作用於上述結果:

 Tom(−)(everybody(−)(A)) 
={z1: Tom(−)({(y1, y2): PERSON ⊆ {x3: A(y1, y2, x3)}}z1)}(根據(4))
={z1: Tom(−)({y2: PERSON ⊆ {x3: A(z1, y2, x3)}})}(根據(3))
={z1: t ∈ {y2: PERSON ⊆ {x3: A(z1, y2, x3)}}}(專有名詞的真值條件)
={z1: PERSON ⊆ {x3: A(z1, t, x3)}} (根據(5))

最後以John(−)作用於上述結果:

 John(−)(Tom(−)(everybody(−)(A)))  
j ∈ {z1: PERSON ⊆ {x3: A(z1, t, x3)}}(專有名詞的真值條件)
PERSON ⊆ {x3: A(j, t, x3)}}(根據(5))

請注意在上面第二行中,我們無需運用(4),這是因為Tom(−)(everybody(−)(A)) = {z1: PERSON ⊆ {x3: A(z1, t, x3)}}已是一個「個 體集合」,即相當於一個「一元函項」,所以我們可以把<1>型量詞John(−)作用於這個「一元 函項」,即直接套用"John"作為「專有名詞」的真值條件。

經過以上推導後,上面最後一行在實質上等同於《廣義量詞系列:迭代量詞》 中表1第二行的真值條件,由此證明了

John(−)(Tom(−)(everybody(−)(A))) ⇔ (John ... Tom ... everybody)(−, −, −)(A)

4. <1,1>型量詞的迭代

如前所述,「<1,1>型量詞」與「<−,1>型量詞」都具有Q(#)(B)的論元結構,所不同者在於「<1,1>型量 詞」中的「#」須表現為一個具體的集合而非「−」,因此當我們對「<1,1>型量詞」進行迭代時,須先把 Q與適當的集合結合。

現在讓我們推導前述「迭代量詞」(the ... exactly 1 ... every)(A, B, C)(D)的真值條件。我們首 先把這個量詞的三個組成部分分別與集合A、B和C結合,得到the(A)、(exactly 1)(B)和 every(C),然後便可以應用(4)。首先以every(C)作用於三元函項D(x1, x2, x3):

 every(C)(D) 
={(y1, y2): every(C)(Dy1, y2)}(根據 (4))
={(y1, y2): every(C)({x3: D(y1, y2, x3)})}(根據(2))
={(y1, y2): C ⊆ {x3: D(y1, y2, x3)}}("every"的真值條件)

接著以(exactly 1)(B)作用於上述結果:

 (exactly 1)(B)(every(C)(D)) 
={z1: (exactly 1)(B)({(y1, y2): C ⊆ {x3: D(y1, y2, x3)}}z1)}(根據(4))
={z1: (exactly 1)(B)({y2: C ⊆ {x3: D(z1, y2, x3)}})}(根據(3))
={z1: |B ∩ {y2: C ⊆ {x3: D(z1, y2, x3)}}| = 1}("(exactly 1)"的真值條件)

最後以"the(A)"作用於上述結果:

 the(A)((exactly 1)(B)(every(C)(D))) 
X ∩ A ⊆ {z1: |B ∩ {y2: C ⊆ {x3: D(z1, y2, x3)}}| = 1}, if |X ∩ A| = 1("the"的真值條件)

上面最後一行在實質上等同於上面的(1),由此證明了

the(A)((exactly 1)(B)(every(C)(D))) ⇔ (the ... exactly 1 ... every)(A, B, C)(D)

5. 結構化量詞的迭代

我們也可以把「結構化量詞」跟其他量詞進行迭代運算,但由於「結構化量詞」的論元結構頗為複雜,在進行 迭代前,須先根據句法關係小心確定這些量詞與各論元的組合關係。現在以「迭代量詞」(more ... than ... the)(A, B)(C, D)為例說明如何推導這類量詞的真值條件。這個量詞是對語句"More boys like than hate the rose."的抽象,現在我們分析這個「迭代量詞」各論元之間的句法關係。在這四個論元中,A和B分別 是主語和賓語,它們均同時與兩個謂語C和D發生關係,因此這個「迭代量詞」各組成部分與各論元的組合關係 應為:

(more ... than ...)(A)(the(B)(C), the(B)(D))

弄清楚上述「迭代量詞」的結構後,我們便可以著手進行迭代運算。首先,把"the"與集合B結合,得到 the(B)。接著以the(B)作用於二元函項C(x1, x2):

 the(B)(C) 
={y1: the(B)(Cy1)}(根據(4))
={y1: the(B)({x2: C(y1, x2)})} (根據(2))
={y1: X ∩ B ⊆ {x2: C(y1, x2)}}, if |X ∩ B| = 1("the"的真值條件)

把上面的C換成D,便可得到

the(B)(D) = {y1: X ∩ B ⊆ {x2: D(y1, x2)}}, if |X ∩ B| = 1

接著我們要把(more ... than ...)(A)作用於the(B)(C)和the(B)(D)。可是根據 《廣義量詞系列:基本單式量詞》的表6,"(more ... than ...)" 可以有三種論元結構,在不同論元結構下其真值條件各不相同,我們究竟應選用哪一個"(more ... than ...)"?由於根據上面的分析,這個「迭代量詞」包含一個主語和兩個謂語,所以我們應選用上述網頁表6 中第二行的真值條件:

(more ... than ...)(A)(B, C) ⇔ |A ∩ B| > |A ∩ C|     (6)

請注意由於以上這個"(more ... than ...)"是「<1,12>型量詞」,把它作用於「名詞性論 元」A後得到的(more ... than ...)(A)需要兩個「一元函項」作為其「謂詞性論元」,而 the(B)(C)和the(B)(D)正好均為「個體集合」(即相當於「一元函項」),所以我們最後把 "(more ... than ...)(A)作用於「有序對」(the(B)(C), the(B)(D)):

 (more ... than ...)(A)(the(B)(C), the(B)(D)) 
|A ∩ {y1: X ∩ B ⊆ {x2: C(y1, x2)}}| > |A ∩ {y1: X ∩ B ⊆ {x2: D(y1, x2)}}|, if |X ∩ B| = 1(根據(6))

上面最後一行在實質上等同於《廣義量詞系列:迭代量詞》中表4第三行的 真值條件,由此證明了

(more ... than ...)(A)(the(B)(C), the(B)(D)) ⇔ (more ... than ... the)(A, B)(C, D)

7. 模糊量詞的迭代

7.1 兩個量詞的迭代

筆者在《廣義量詞系列:迭代量詞》中介紹了「迭代模糊量詞」,指出當某 個「模糊量詞」處於另一個「半模糊量詞」或「非模糊量詞」的「轄域」之內時,我們必須對取「寬域」的「 半模糊量詞」或「非模糊量詞」進行模糊化,才能求得整個「迭代模糊量詞」的真值。筆者在上述網頁中更分 別為「半模糊量詞」和某些「非模糊量詞」提供了以下的「量詞模糊化操作」方案:

μ[TRUTH](Q*(A)(B)) = Σ0 ≤ i ≤ n μ[TRUTH](Q(A)(Bαi)) × (αi − αi+1)     (7)
μ[TRUTH](some*(A)(B)) = maxx ∈ A μ[B](x)     (8)

由此可見,求「迭代模糊量詞」的真值有專門的公式,上面介紹的(2)-(4)對「模糊量詞」而言似乎派不上用 場,其實不然。請注意在運用以上兩條公式時,我們須把適當的集合代入變項A和B。A的表達形式一般都很簡單 ,但B的表達形式卻可以很複雜。試考慮以下語句

Some boy met about 80 girls.     (9)

這句的A顯然可以簡單地表達為BOY,可是B卻並不簡單,用日常語言表達,這個集合就是「曾與約80名女孩會面 的個體組成的集合」。究竟如何推導這個集合的形式化表達式?答案就是應用上面的(2)-(4)。

假如我們把上句抽象為

(some* ... (about 80))(BOY, GIRL)(MEET) (註4)

便可看到上句的量詞其實類似「<1,1>型迭代量詞」。現在如果我們把這個量詞當作普通的「<1,1>型迭代量詞」 處理,那麼我們便要先把(about 80)(GIRL)作用於MEET,然後再以some*(BOY)作用於上述結果 ,從而得到

some*(BOY)((about 80)(GIRL)(MEET))

把上式與(8)中的some*(A)(B)比較,容易看到就語句(9)而言,A = BOY,B = (about 80)(GIRL)(MEET),而這個B正可以用上面的(4)求得:

B= (about 80)(GIRL)(MEET) 
 = {y1: (about 80)(GIRL)(MEETy1)}(根據(4))
 = {y1: (about 80)(GIRL)({x2: MEET(y1, x2)})}(根據(2))

現在把A = BOY和上面這個B代入(8),便得語句(9)的真值為

maxx ∈ BOY μ[{y1: (about 80)(GIRL)({x2: MEET(y1, x2)})}](x)

上式在實質上等同於《廣義量詞系列:迭代量詞》中的(17)。

7.2 三個量詞的迭代

現在讓我們來看一個更複雜的例子。考慮以下語句:

Some boy introduced almost every girl to about 80 visitors.     (10)

上句可以抽象為

(some* ... (almost every)* ... (about 80))(B, G, V)(I)

跟上一小節類似,在開始時我們首先把以上量詞當作普通的「迭代量詞」處理。首先以(about 80)(V) 作用於三元函項I(x1, x2, x3)。由於筆者在第4節已處理過含有三元函項 的「迭代量詞」,這裡不再重複類似的運算。根據第4節的運算結果,得

(about 80)(V)(I) = {(y1, y2): (about 80)(V)({x3: I(y1, y2, x3)})}

接著以(almost every)*(G)作用於上述結果。同樣,應用第4節的運算結果,得

(almost every)*(G)(about 80(V)(I)) = {z1: (almost every)*(G)({y2: (about 80)(V)({x3: I(z1, y2, x3)})})}

最後以"some*(B)"作用於上述結果。同樣,應用第4節的運算結果,得

some*(B)((almost every)*(G)(about 80)(V)(I))) ⇔
some*(B)({z1: (almost every)*(G)({y2: (about 80)(V)({x3: I(z1, y2, x3)})})})     (11)

接著讓我們用以下語義模型來說明如何求(11)的真值。

語義模型1:設在某「論域」下BOY = {a, b},GIRL = {c, d, e},下表給出BOY中元素z把GIRL 中元素y介紹給來賓的數目:
(z, y)
(a, c)
(a, d)
(a, e)
(b, c)
(b, d)
(b, e)
|V ∩ {x: I(z, y, x)}|
77
81
84
20
79
88

我們使用以下兩個「隸屬度函數」:

 exp(−((|A ∩ B| − 78)/2)2),if |A ∩ B| < 78
μ[TRUTH]((about 80)(A)(B)) =1,if 78 ≤ |A ∩ B| ≤ 82     (12)
 exp(−((|A ∩ B| − 82)/2)2),if |A ∩ B| > 82

μ[TRUTH](almost every)(A)(B)) =0,if |A ∩ B| / |A| < 0.67    (13)
exp(−((|A ∩ B| / |A| − 1)/0.33)2),if |A ∩ B| / |A| ≥ 0.67

我們就BOY中的每個元素z1進行迭代運算,首先設z1 = a,並求模糊集合 {y2: (about 80)(V)({x3: I(a, y2, x3)})} (以下 把這個集合稱為B)。為此,我們把「語義模型1」表中提供的首三個數值77、81和84逐個代入(12),從而求得

B = {y2: (about 80)(V)({x3: I(a, y2, x3)})} = {0.78/c, 1/d, 0.37/e}

接著我們用(7)來求μ[TRUTH]((almost every)*(G)(B))。下表列出計算過程的中間值:

iαiBαiμ[TRUTH]((almost every)(G)(Bαi))αi − αi+1
0
1
{d}
0
0
1
1
{d}
0
0.22
2
0.78
{c, d}
0.37
0.41
3
0.37
{c, d, e}
1
0.37
4
0

利用上表的數據,求得

μ[TRUTH]((almost every)*(G)(B)) = 0 × 0 + 0 × 0.22 + 0.37 × 0.41 + 1 × 0.37 = 0.52     (14)

接著設z1 = b並進行類似上面的運算。經過一番計算(細節從略),可求得

C = {y2: (about 80)(V)({x3: I(b, y2, x3)})} = {0/c, 1/d, 0/e}

以及

μ[TRUTH]((almost every)*(G)(C)) = 0     (15)

結合(14)和(15),我們求得以下模糊集合(以下稱為D)

D = {z1: (almost every)*(G)({y2: (about 80)(V)({x3: I(z1, y2, x3)})})} = {0.52/a, 0/b}

最後以"some*(B)"作用於D,並應用(8),求得(11)的真值為

maxx ∈ B μ[D](x) = max({0.52, 0}) = 0.52

8. 格擴充算子

8.1 格擴充算子的概念

根據上面的定義(4),當我們把「<1>型量詞」Q(#)作用於n + 1元函項R後,所得結果Q(#)(R)比R減少了一元, 定義(4)還把被減少的論元規定為R的最後一個論元。可是,上述定義只適用於推導某些「迭代量詞」的真值條 件。為了使迭代運算適用於更一般的「迭代量詞」,我們必須進一步推廣定義(4)。為此,筆者引入Keenan在 Semantic Case Theory一文中提出的「格擴充算子」(Case Extension)概念並略作修改(註5) 。在擴充(4)前,我們須對上面的(2)和(3)作出修改如下。設R(x1, ... xn+1)為n + 1 元函項,則

Ry1, ... yi−1, yi+1, ... yn+1 = {xi: R(y1, ... yi−1, xi, yi+1, ... yn+1)}     (16)

同樣,由於n + 1元函項可以看成由「有序n + 1元組」組成的集合,(16)又可以表達為

{(x1, ... xn+1): R(x1, ... xn+1)}y1, ... yi−1, yi+1, ... yn+1 = {xi: R(y1, ... yi−1, xi, yi+1, ... yn+1)}     (17)

現在我們可以對定義(4)作出如下擴充。設R(x1, ... xn+1)為n + 1元函項,Q(#)為「 <1>型量詞」,則我們可得到「第i論元擴充算子」[Q(#)]i (這個[Q(#)]i對應著R的第 i個論元)如下:

[Q(#)]i(R) = {(y1, ... yi−1, yi+1, ... yn+1): Q(#)(Ry1, ... yi−1, yi+1, ... yn+1)},其中y為異於x的變項     (18)

請注意定義(4)是定義(18)的特例,因為如果我們把定義(18)中的變項i寫成n + 1,便可得到定義(4)。

8.2 轄域歧義的表達

「格擴充算子」可用來表達某些「轄域歧義」問題。筆者在《廣義量詞系列:迭 代量詞》中曾指出,語句

Every boy loves some girl.

有「轄域歧義」。在該句的「無標記」解讀下,every(BOY)取「寬域」,some(GIRL)取「窄域」 ,因此這種解讀可表達為以下迭代形式:

every(BOY)([some(GIRL)]2(LOVE))

這裡的some(GIRL)帶有下標2,這是因為some(GIRL)對應著LOVE的「第二論元」(即賓語)。這裡 的every(BOY)不帶任何下標,這是因為every(BOY)乃作用於一元函項,因此無須應用定義(18) 。由於上式的真值條件的推導過程跟前面介紹的非常相似,這裡不作深入討論。

上句還有一種「有標記」解讀。在這種解讀下,some(GIRL)取「寬域」,every(BOY)取「窄域」 。由於every(BOY)對應著LOVE的「第一論元」(即主語),因此這種解讀可表達為以下迭代形式:

some(GIRL)([every(BOY)]1(LOVE)) (註6)

現在讓我們運用(16)-(18)推導上式的真值條件。首先以[every(BOY)]1作用於二元函項 LOVE(x1, x2):

 [every(BOY)]1(LOVE) 
={y2: every(BOY)(LOVEy2)}(根據(18))
={y2: every(BOY)({x1: LOVE(x1, y2)})}(根據(16))
={y2: BOY ⊆ {x1: LOVE(x1, y2)}} ("every"的真值條件)

請注意上式代表"every boy loves"這個「主語 + 及動動詞」結構。從集合論的觀點看,上式則代表所有男孩 都愛的個體組成的集合。

接著以"some(GIRL)"作用於上述結果:

 some(GIRL)([every(BOY)]1(LOVE)) 
GIRL ∩ {y2: BOY ⊆ {x1: LOVE(x1, y2)}} ≠ Φ("some"的真值條件)

上面最後一行在實質上等同於《廣義量詞系列:迭代量詞》中的(3),由此 證明了

some(GIRL)([every(BOY)]1(LOVE)) ⇔ (some ... every)(GIRL, BOY)(LOVE−1)

8.3 特殊句式的表達

漢語和英語有一些特殊句式可用來靈活調配句中主語和各種賓語的位置,這些句式包括漢語的「話題句」 (Topicalized Sentence)、「次話題句」(亦稱「焦點句」)、「被字句」、「受事主語句」、「把字句」、各 種介詞短語以及英語的「分裂句」(Cleft Sentence)、「準分裂句」(Quasi-Cleft Sentence)、「存在句」 (Existential Sentence)等。以上這些句式除了起著修辭作用或滿足某些語法需要外,還起著確定語義的作用 ,這主要是指確定句中量詞的「轄域」。

自然語言的「多重量化句」中各個量詞的「轄域」結構一般都傾向於與句子的語法結構重合,即若某量詞在句 中處於較後的位置(用「生成語法」的說法,就是處於「句法分析樹」中的較低節點),則該量詞處於較窄的「 轄域」,此即句法學上的「轄域同構原理」(Isomorphic Scope Principle)。在此原理下,對於「先 主後賓」的大多數語言來說,主語一般取「寬域」,賓語一般取「窄域」。可是上述原理並非絕對真理,在自 然語言中也不乏「轄域」結構與語法結構不重合的例子。舉例說,語句"Every boy loves a girl."的其中一種 解讀便是以賓語"some girl"取「寬域」,主語"every boy"取「窄域」。不過,上述這種情況畢竟頗為不自然 ,也較難理解。由此可見,「轄域同構原理」的確具有某種「心理現實性」。為此,很多自然語言都有各種特 殊句式,用來重新調配各種句子成分的位置,以滿足「轄域同構原理」。

仍以語句"Every boy loves a girl."及其漢譯「每個男孩都愛一個女孩」為例,如要表達賓語取「寬域」,主 語取「窄域」的意思,在英語和漢語中可以使用以下句式把該句中的賓語提升到主語之前:

There is a girl whom every boy loves. (存在句)
有一個女孩每個男孩都愛。 (主題句)

上述兩句都可以用「格擴充算子」表達為

a(GIRL)([every(BOY)]1(LOVE))

除了主、賓語的「轄域」問題外,上述某些特殊句式也可用來確定句中多個賓語的相對「轄域」。舉例說,在 漢語句子

John把一本書推薦給每名學生。

的通常解讀下,介詞「把」的賓語「一本書」和介詞「給」的賓語「每名學生」分別取「寬域」和「窄域」。 現在如果想把這兩個賓語的相對「轄域」對調,我們可以使用不同的介詞重新調配句中的兩個賓語:

John向每名學生推薦一本書。

上句可以用「格擴充算子」表達為

John(−)([every(STUDENT)]3([a(BOOK)]2 (RECOMMEND)))

9. 疑問量詞的迭代

9.1 多重疑問句

迭代運算亦可應用於「疑問量詞」,但要對上文介紹的「第i論元擴充算子」[Q(#)]i的定義(18)作 如下修改:設Q(#)為「<1>型疑問量詞」,R為包含普通變項x和解答變項B的n + 1元函項,

[Q(#)]i(R) = {(y1, ... yi−1, Bi, yi+1, ... yn+1): Q(#)(Ry1, ... yi−1, yi+1, ... yn+1)(Bi)},其中y為異於x但與B相同的變項     (19)

在上述定義中,Bi代表「解答論元」(註7)。現在讓我們推導「三重疑問句」(who ... what ... whom)(−, −, −)(A)(B)的真值條件。首先以[who(−)]3 作用於A:

 [who(−)]3(A) 
={(y1, y2, B3): who(−)(Ay1, y2)(B3)}(根據(19))
={(y1, y2, B3): who(−)({x3: A(y1, y2, x3)}(B3))}(根據(16))
={(y1, y2, B3): B3 = PERSON ∩ {x3: A(y1, y2, x3)}}("who"的真值條件)

接著以[what(−)]2作用於上述結果:

 [what(−)]2([who(−)]3(A))  
={(z1, B2, B3): what(−)({(y1, y2, B3): B3 = PERSON ∩ {x3: A(y1, y2, x3)}}z1, B3)(B2)}(根據(19))
={(z1, B2, B3): what(−)({y2: B3 = PERSON ∩ {x3: A(z1, y2, x3)}})(B2)}(根據(17))
={(z1, B2, B3): B2 = THING ∩ {y2: B3 = PERSON ∩ {x3: A(z1, y2, x3)}}}("what"的真值條件)

最後以[who(−)]1作用於上述結果:

 [who(−)]1([what(−)]2 ([who(−)]3(A)))
={(B1, B2, B3): who(−)({(z1, B2, B3): B2 = THING ∩ {y2: B3 = PERSON ∩ {x3: A(z1, y2, x3)}}}B2,B3)(B1)}
={(B1, B2, B3): who(−)({z1: B2 = THING ∩ {y2: B3 = PERSON ∩ {x3: A(z1, y2, x3)}}}(B1)}
={(B1, B2, B3): B1 = PERSON ∩ {z1: B2 = THING ∩ {y2: B3 = PERSON ∩ {x3: A(z1, y2, x3)}}}}     (20)

可是上述結果卻並非我們要求的結果,這是因為上述結果包含三個一元「解答論元」(B1- B3),而我們要求的結果卻應包含一個三元「解答論元」(B)。此外,上述結果沒有限制 B1-B3不可為空集,這將產生很多「空解答」,與日常語言的使用習慣不符。因此我 們必須對以上結果進行一種單體化(Atomization)操作(註8),其實質就是略去B1- B3為空集的各種情況,並把上述結果轉化為以下三元「解答論元」:

B = {(w1, w2, w3): w1 ∈ PERSON ∩ {z1: ∃y2, x3 ∈ U A(z1, y2, x3)} ∧ w2 ∈ THING ∩ {y2: ∃x3 ∈ U A(w1, y2, x3)}
∧ w3 ∈ PERSON ∩ {x3: A(w1, w2, x3)}

上式還可以進一步化簡為

B = (PERSON × THING × PERSON) ∩ A

上式等同於《廣義量詞系列:迭代量詞》中表6第一行的真值條件。但請注 意,我們是在對(20)進行「單體化」操作後才得到上式。換句話說,「多重疑問句」的真值條件不能單純透過 迭代運算求得,因此從某個角度看,「多重疑問句」中的「多式疑問量詞」可算是某種「非迭代多式量詞」。

9.2 混合陳述-疑問量化句

接著以(which ... which ... every)(A, B, C)(D)(E)為例說明如何推導「混合陳述-疑問量化句」的 真值條件。首先以[every(C)]3作用於D,由於上面第4節已包含此一運算的結果,這裡不再 重複演算過程,只把結果列於下面:

[every(C)]3(D) = {(y1, y2): C ⊆ {x3: D(y1, y2, x3)}}

接著以[which(B)]2作用於上述結果:

 [which(B)]2([every(C)]3(D)) 
={(z1, E2): which(B)({(y1, y2): C ⊆ {x3: D(y1, y2, x3)}}z1)(E2)}(根據(19))
={(z1, E2): which(B)({y2: C ⊆ {x3: D(z1, y2, x3)}})(E2)}(根據 (17))
={(z1, E2): E2 = X ∩ B ∩ {y2: C ⊆ {x3: D(z1, y2, x3)}}("which"的 真值條件)

最後以[which(A)]1作用於上述結果:

 [which(A)]1([which(B)]2 ([every(C)]3(D)))
={(E1, E2): which(A)({(z1, E2): E2 = X ∩ B ∩ {y2: C ⊆ {x3: D(z1, y2, x3)}}E2)(E1)}
={(E1, E2): which(A)({z1: E2 = X ∩ B ∩ {y2: C ⊆ {x3: D(z1, y2, x3)}}(E1)}
={(E1, E2): E1 = X ∩ A ∩ {z1: E2 = X ∩ B ∩ {y2: C ⊆ {x3: D(z1, y2, x3)}}}

接著對上式進行「單體化」,得到

E = {(w1, w2): w1 ∈ X ∩ A ∩ {z1: ∃y2 ∈ U C ⊆ {x3: D(z1, y2, x3)}}
∧ w2 ∈ X ∩ B ∩ {y2: C ⊆ {x3: D(w1, y2, x3)}}

把上式化簡後,得到

E = X2 ∩ (A × B) ∩ {(z1, y2): C ⊆ {x3: D(z1, y2, x3)}}

上式等同於《廣義量詞系列:迭代量詞》中表7第二行的真值條件。

9.3 偶串列解的形式化推導

筆者曾經指出,以下語句存在「個體解」和「偶串列解」這兩種解讀:

Which girl does every boy love?     (21)

上句的「個體解」可以抽象為以下迭代形式:

[which(B)]2([every(A)]1(C))

在上式中,「疑問量詞」取通常的「寬域」(所以「個體解」被視為「無標記」解讀),而取「窄域」的「陳述 量詞」則充當句子的主語,所以要表達為「第1論元擴充算子」。由於上式的推導較為簡單,這裡不作深入討論 。

語句(21)的「偶串列解」可以表達為以下迭代形式:

[every(A)]1([which(B)]2(C))

在上式中,「陳述量詞」取「寬域」。由於這個「陳述量詞」的「轄域」內存在「疑問量詞」,我們不能 用上面介紹的迭代運算推導上式的真值條件,這是因為按照「陳述量詞」的一般定義,把這類量詞作用於 其論元,只能生成陳述句而非疑問句。因此我們必須把陳述量詞「疑問化」,使它們能生成疑問句,其情況就 像我們必須把非模糊量詞「模糊化」,才能使這些量詞作用於模糊集合一樣。

以下借用Gutierrez-Rexach在Interrogatives and Polyadic Quantification一文中的某些概念推導「 偶串列解」的真值條件。為簡化討論,我們只考慮「謂詞性論元」為二元函項的情況。設Q(A)為位於主語位置 、外延明確的複數「<1>型陳述量詞」(包括every(A)、the(A)、(the n)(A)、 John's(A)、(all ... except John)(A)、"John and Mary"等),Q'(B)為位於賓語位置 的「疑問量詞」,C為二元函項,則有

[Q(A)]1([Q'(B)]2(C)) = {(D1, D2): D1 = E ∩ ([Q'(B)]2(C))D2}     (22)

請注意在上式中,Q(A)雖然是「陳述量詞」,但經過「疑問化」後,也帶有「解答論元」D1。此外 ,上式中的E代表滿足下列條件的集合:

E ⊆ A ∧ Q(A)(E)     (23)

舉例說,當Q = "(all ... except John)"時,

Q(A)(E) ⇔ A − E = {j} ⇔ E = A − {j}

當Q = "John and Mary"時,

Q(A)(E) ⇔ every({j, m})(E) ⇔ {j, m} ⊆ E ⇔ E = {j, m}

請注意(22)還不是我們要求的最終結果,我們還要對(22)進行「單體化」,才得到 [Q(A)]1([Q'(B)]2(C)(D)的真值條件。

現在讓我們推導語句(21)的「偶串列解」的真值條件。首先以[which(B)]2作用於C:

 [which(B)]2(C) 
={(y1, D2): which(B)(Cy1)(D2)} (根據(19))
={(y1, D2): which(B)({x2: C(y1, x2)})(D2)}(根據(16))
={(y1, D2): D2 = X ∩ B ∩ {x2: C(y1, x2)}}("which"的真值條件)

接著以[every(A)]1作用於上述結果:

 [every(A)]1([which(B)]2(C)) 
={(D1, D2): D1 = E ∩ {(y1, D2): D2 = X ∩ B ∩ {x2: C(y1, x2)}}D2}(根據(22))
={(D1, D2): D1 = E ∩ {y1: D2 = X ∩ B ∩ {x2: C(y1, x2)}}}(根據 (17))
={(D1, D2): D1 = A ∩ {y1: D2 = X ∩ B ∩ {x2: C(y1, x2)}}}(根據 (23))

上面最後一行的A是透過以下推理求得的。當Q = every時,

Q(A)(E) ⇔ A ⊆ E ⇔ E = A

接著對上式進行「單體化」,得到

D = {(w1, w2): w1 ∈ A ∩ {y1: ∃x2 ∈ U C(y1, x2)}} ∧ w2 ∈ X ∩ B ∩ {x2: C(w1, x2)}}

把上式化簡後,得到

D = (A × (X ∩ B)) ∩ C

上式等同於《廣義量詞系列:迭代量詞》中表8第二行的真值條件。

9.4 選答解的形式化推導

以下語句存在「個體解」和「選答解」這兩種解讀:

Which boys did two dogs bite?     (24)

這兩種解讀可以分別抽象為以下兩種迭代形式:

[which(B)]2([(exactly 2)(A)]1(C))
[(exactly 2)(A)]1([which(B)]2(C))

以下只討論「選答解」的形式化推導。仿照上一小節,我們可以作出以下定義。設Q(A)為位於主語位置、外延 不明確的複數「<1>型陳述量詞」(包括some(A)、(exactly n)(A)、(at least n)(A)、 (at most n)(A)、(all ... except n)(A)、"John or Mary"等),Q'(B)為位於賓語位 置的「疑問量詞」,C為二元函項,則我們首先把A換成E,其中E須滿足條件(23),然後運用(22)求 [every(E)]1([Q'(B)]2(C))(註9),接著把上述結果「單體化」,得表達式「D = ...」。最後寫出「選答解」的真值條件為

E ⊆ A ∧ Q(A)(E) [D = ...]     (25)

現在讓我們推導語句(24)的「選答解」的真值條件。根據上段,我們要求 [every(E)]1([which(B)]2(C)),然後把上述結果「單體化」。可是, 由於上一小節已包含類似此一運算的結果(不同之處僅在於上一小節的A在這裡換成了E),所以我們可以直接寫 出運算結果如下:

D = (E × (X ∩ B)) ∩ C

接著我們要求出當Q = "(exactly 2)"時,Q(A)(E)的形式,運算如下:

(exactly 2)(A)(E) ⇔ |A ∩ E| = 2 ⇔ |E| = 2

最後運用(25),得到(24)的「選答解」的真值條件為

E ⊆ A ∧ |E| = 2 [D = (E × (X ∩ B)) ∩ C]

上式等同於《廣義量詞系列:迭代量詞》中表9第二行的真值條件。

10. 定語分句的形式化推導

我們還可以把上述的迭代運算應用於推導某些「定語分句」的形式化表達式。由於所有類型的「定語分句」都 可以改寫為「關係分句」的形式(例如「無動詞分句」"fond of more than one activity"便可以改寫為「關係 分句」"who is fond of more than one activity"),所以以下僅考慮「關係分句」的形式化推導問題。從語 義上看,「關係分句」相當於一個不完整的句子,「關係分句」中「關係詞」所代表的句子成分就是這個不完 整句子所欠缺的部分。如果我們用一個專有名詞取代「關係詞」,並把這個專有名詞放回它所充當的句子成分 的通常位置,便可得到一個完整的句子。上述這一觀察可幫助我們推導「關係分句」的形式化表達式。舉例說 ,「關係分句」"who is fond of more than one activity"中的"who"起著主語的作用。如果我們用"John"代 替"who",便可得到完整句子"John is fond of more than one activity."。以上這句可以用迭代形式表達為

John(−)([(more than 1)(ACTIVITY)]2(FOND-OF))

如果我們從上式中減去最外層的量詞John(−),便可得到「關係分句」"who is fond of more than one activity"的迭代形式。現在就讓我們用(16)-(18)推導這個「關係分句」的表達式。以[(more than 1)(ACTIVITY)]2作用於FOND-OF(x1, x2):

 [(more than 1)(ACTIVITY)]2(FOND-OF) 
={y1: (more than 1)(ACTIVITY))(FOND-OFy1)}(根 據(18))
={y1: (more than 1)(ACTIVITY)({x2: FOND-OF(y1, x2)})}(根據(16))
={y1: |ACTIVITY ∩ {x2: FOND-OF(y1, x2)}| > 1}("(more than 1)"的真值條件)

上面最後一行在實質上等同於《廣義量詞系列:迭代量詞》中表10第三行的 集合論表達式。

利用(16)-(18),我們還可以推導「關係詞」充當主語以外句子成分的「關係分句」。舉例說,在「關係分句」 "whom some girl loves"中,"whom"充當賓語,因此這個「關係分句」相當於一個欠缺賓語的句子。以 [some(GIRL)]1作用於LOVE(x1, x2):

 [some(GIRL)]1(LOVE) 
={y2: some(GIRL)(LOVEy2)}(根據(18))
={y2: some(GIRL)({x1: LOVE(x1, y2)})}(根據(16))
={y2: GIRL ∩ {x1: LOVE(x1, y2)} ≠ Φ}("some"的真值條件)

上面最後一行在實質上等同於《廣義量詞系列:迭代量詞》中表10第一行的 集合論表達式。

註1:由於大多數語言的語法系統均把「及物動詞」與其主、賓語的結合關係處理成「及物動詞」先與賓語結合 ,然後整個「及動動詞 + 賓語」結構再與主語結合,本文規定在「無標記」情況下,首先作用於「及物動詞」 的名詞短語為該句的賓語。這樣做的另一個優點是,按照這種結合順序,最後得到的表達式便會是「 主語(賓語(動詞))」的形式,這與大多數語言「先主後賓」的語序相符。類似地,對於形如

N1 + V + N2 + Prep + N3 (N、V和Prep 分別代表名詞、動詞和介詞)

本文規定作用於V的名詞短語依次為該句的N3、N2和N1。按照這種結合順 序,最後得到的表達式便會是「N1(N2(N3(V)))」的形式,與原句三個名 詞的順序相符。

註2:理論上,我們還可以有「減k元算子」,k為任意大於1的正整數。但在實際應用上,我們只需考慮「減一 元算子」便足夠了。另外,除了「<1>型量詞」外,在自然語言中還有其他「減一元算子」,但由於這牽涉到「 非迭代多式量詞」,這將留待以後再介紹。

註3:Keenan和Westerstahl在Generalized Quantifiers in Linguistics and Logic一文中區分了「複 合」(Composition)和「迭代」這兩種運算,其中「複合」是「迭代」的特例。本文為簡化討論,不使用「複合 」這個名稱,而把所有這類運算均稱為「迭代」。

註4:這裡"some"之後帶有「*」號而"(about 80)"後卻沒有,是因為在"some"的「轄域 」內有一個「模糊量詞」,所以"some"需要模糊化,而"(about 80)"則無需模糊化。

註5:Keenan只考慮了二元函項的情況,所以他的論文只提到「主格擴充算子」和「賓格擴充算子」兩種。本文 根據Gutierrez-Rexach的Interrogatives and Polyadic Quantification一文,把「格擴充算子」的概 念推廣應用於n元函項的情況:對應於一個n元函項,我們有「第1論元擴充算子」 ... 「第n論元擴充算子」。

註6:筆者在《廣義量詞系列:迭代量詞》中曾經使用(some ... every)(GIRL, BOY)(LOVE−1)的形式以標明"some girl"和"every boy"分別為賓語和主 語。可是這種方法只適用於二元函項的情況,當「謂詞性論元」為三元或更高元函項時,便必須運用「格擴充 算子」。

註7:由此可見,「疑問量詞」其實不是「減元算子」,因為這些量詞雖然令「謂詞性論元」減少了一元,但卻 引入了一個「解答論元」。因此含有「疑問量詞」的語句並不等同於「零元函項」(即有真值的命題),這反映 了疑問句與陳述句的差異。

註8:本文的「單體化」操作是對Gutierrez-Rexach在Interrogatives and Polyadic Quantification 一文中採用的「單體」(Atom)概念的改造。本文有關「疑問量詞」迭代運算的內容主要參考了 Gutierrez-Rexach的文章,但為方便推導,筆者在借用上述文章的概念時作了適度修改。

註9:這裡出現"every"這個量詞,是因為「選答解」其實包含了某種全稱語義。例如語句(24)便相當於 問「任選兩隻狗,並且對於每隻狗而言,牠咬了哪個(些)男孩」。


返回語言學專題