类型论是通过将宇宙中的所有实体划分为一个严格的、无限的层级结构(即“类型”),来避免逻辑和语义悖论的一种形式系统。

一个函式的主项,不能包含该函式本身。

任何谈论“一个集合的所有集合”的东西都是无意义的;任何谈论“一个集合的所有分子”的东西也都是无意义的。

我们必须把客体分派到不同的类型中去,这样,一个客体就比它的分子具有更高的类型。

展开阐述

“类型论”(Theory of Types)是罗素为了解决他在弗雷格系统中发现的“罗素悖论”而发展出的一套复杂的逻辑理论。其核心思想是,通过建立一个严格的等级制度,来禁止那些导致悖论的“恶性循环”(vicious circles)或非法的自我指涉。

核心原则:恶性循环原则

类型论的基础是“恶性循环原则”(Vicious-Circle Principle),即:“一个集合的定义,不能依赖于该集合的全体成员。” 换句话说,任何一个总体(totality)都不能包含根据该总体才能被定义的成员。

简单类型论的构造

为了实施这一原则,罗素提出了“简单类型论”,将所有实体划分为不同的“类型”:

  1. 类型0:个体(Individuals)

    • 这是最低的类型,包含了宇宙中最基本的实体,如具体的物体、人等。它们不是集合或属性。
  2. 类型1:个体的属性或集合

    • 这个类型包含了由类型0的个体构成的集合,或者可以赋予类型0个体的属性。例如,“所有人的集合”或“是红色的”这个属性。
  3. 类型2:属性的属性或集合的集合

    • 这个类型包含了由类型1的集合构成的集合,或者可以赋予类型1属性的属性。例如,“所有哺乳动物的集合”是一个类型1的集合,“物种”(即集合的集合)就是一个类型2的概念。
  4. 以此类推,形成无限层级…

    • 类型n是类型n-1的集合或属性。

基本规则:一个集合或属性只能谈论比它类型更低的实体。例如,一个类型1的属性 P(x),其变元 x 只能由类型0的个体来填充。因此,像 R = {x | x ∉ x} 这样的表达式就变成了非法的,因为 xR 必须属于不同的类型,x 不可能与包含它的集合 R 是同一类型,所以 x ∉ x 这个判断的前提就是错误的。R ∈ RR ∉ R 从一开始就无法被合法地构造出来。

复杂性与分支类型论

简单类型论足以解决集合论的逻辑悖论(如罗素悖论),但无法解决语义悖论(如说谎者悖论)。为此,罗素进一步提出了更为复杂的“分支类型论”(Ramified Theory of Types),它在每个类型内部又根据“阶”(order)进行了更细的划分。这个系统非常复杂,为了使其能够重建数学,罗素不得不引入一条备受争议的“可化归公理”(Axiom of Reducibility)。

深远影响

  • 成功解决悖论:类型论提供了一个有效(尽管繁琐)的方案,避免了已知的逻辑和语义悖论,使得建立一个无矛盾的逻辑系统成为可能。
  • 深刻影响了计算机科学:现代编程语言中的“类型系统”(typing system)深受罗素类型论的影响。通过为变量指定类型,编译器可以检查程序中的逻辑错误,防止将不同类型的数据进行非法操作,这与类型论防止非法构造的初衷一脉相承。
  • 哲学上的争议:类型论的严格等级划分和可化归公理的特设性,使其在哲学上受到诸多批评。许多哲学家和逻辑学家认为它过于复杂和不自然,并寻求其他更简洁的方案(如ZFC公理化集合论)来解决悖论。

关联节点