在这一意义上,否定算子的类型就是<t,t>,即从真值到真值的函数,它将1映射到0,将0映射到1。二元的连接词那么就是<t,<t,t>>类型的。一阶逻辑的量化词(如存在量化词something)实际上就是二阶谓词,将它看作函数,它的论元就是一阶谓词。比如something smokes,就是将something这个函数应用于smokes这个一元谓词,这句话为真,当且仅当smokes对应的集合不为空集。因此,这个存在量化词的类型就是<<e,t>,t>。
但是,如果量化词出现在二元谓词的宾语位置,问题就出现了,二元谓词类型为<e,<e,t>>,需要e类型的论元,量化词类型为<<e,t>,t>,需要<e,t>类型的论元:二者谁也不能成为谁的论元。比如这样一句话:
Everybody loves someone.
loves和someone是怎样组合的?这就需要扩展理论,引入一个兰姆达算子(lambda-operator,用希腊字母λ表示),它是从Church(1936)发展的兰姆达演算借过来的。它的原理是,假设P这个表达的类型是t,x是一个类型为e的变量,那么λx[P] 的类型就是<e,t>,也即一个一元谓词的类型,它输入一个类型为e的表达,得到一个类型为t的表达。
例如,love是一个二元谓词,love(x,y)就是一个类型为t的表达,其中包含x和y两个类型为e的变量,x是love的宾语,y是love的主语,这时我们用兰姆达算子把其中的宾语x“抽象”出来,变成λx[loυe(x,y)] ,这就是一个类型为<e。t>的表达了,通俗来说它代表的就是“y loves —”这样一个宾语被“抽走”的表达,它是未饱和的函数。这时,这个<e,t>类型的表达正好就可以成为something的论元了,它需要的正是<e,t>。所以我们把这个表达作为something的论元,就得到 something(λx[loυe(x,y)]) 这样一个类型为t的表达。同样,为了和主语位置同样为<<e,t>,t>类型的everybody组合,我们再抽象一次,得到类型为<e,t>的 λy[something(λx[loυe(x,y)])] ,最后就有类型为t的句子
eυerybody(λy[something(λx[loυe(x,y)])])
对于x[P] 这样一个类型为<e,t>的表达来说,它的语义就是一个特征函数(characteristic function),如果输入使P为真的论元,它就输出“真”,如果输入其他则输出“假”。在这样一个语义系统里,我们能够得到下面的几条逻辑等价式:
λx[P] ≡ λy[P[y/x]]
这条称为α – conυersion,其中P[y/x]和P除了其中所有自由出现的x被替换为y之外,其他都相同。这条等价式用来给变量重新命名。
λx[P](α) ≡ P[α/x]
这条称为β – reduction ,其中P[a/x]和P除了其中所有出现的x被替换为a之外,其他都相同。需要特别注意的是,这条等价式在一些非外延语境下式失效的,特别当a不是一个严格指称者(rigid designator)。例如,我们把这个句子视为P:
Ralph believes that x is a spy.
那么这个句子的涉实解读就是λx[P] (α),a被解读于非外延语境之外,它实际上的指称就被视作其外延。但 P[α/x] 则对应句子的涉名解读,因为a被解读于信念语境之中了。最后还有一条等价式,称为 η – conυersion ,其中,x不是P中的一个自由变量:
λx[P(x)] ≡ P
数学联邦政治世界观提示您:看后求收藏(同人小说网http://tongren.me),接着再看更方便。