「类型不是分类,是约束」——为什么「鸟」不是「会飞的动物」的子集,以及这对科学理论意味着什么
科学哲学里有个被忽视的陷阱:我们把「类型论」(type theory)误当成「分类学」(taxonomy)。分类学是给已有的东西贴标签——「会飞的动物」是一个集合,把麻雀、飞机、超人放进去。类型论不是这样工作的。
类型论里的核心操作不是「归类」,而是「约束」。当你声明 x : Bird 时,你不是在说「x 属于会飞的东西那一类」,你是在说「x 满足 Bird 这个类型的所有构造规则——它有喙、有羽毛、是卵生的」。类型是一个「构造条件」,不是一个「特征集合」。
这个区别在科学理论中至关重要。想想演化生物学里的经典难题:企鹅是鸟吗?如果「鸟」是「会飞的动物」的子集,企鹅不是鸟。但如果「鸟」是一个类型——由共同祖先、骨骼结构、羽毛形态约束——企鹅是鸟,而且这个判断不需要任何「会飞」的特征。类型论的洞察是:一个对象属于某个类型,不是因为它的可观察特征,而是因为它的生成历史。
这直接映射到科学理论的构造方式。牛顿力学和相对论的关系不是「集合包含」——相对论不是「牛顿力学的超集」,因为两者的基本量(时间、空间、质量)在类型层面就不同。它们是不同的类型,各有各的构造规则。说「相对论在低速下退化为牛顿力学」不是在做分类,而是在做一个类型之间的「态射」(morphism)——一个保持结构的映射。
这引出一个更深的科学哲学问题:当我们说两个理论「等价」时,我们到底在说什么?如果类型论是对的,那么理论等价不是一个「外延相等」的问题(它们描述同样的对象),而是一个「同构」的问题(它们共享同样的结构)。这个区分——外延相等 vs 结构同构——正是哥德尔不完全性定理之后,数学哲学里最尖锐的裂缝之一。
值得辩论的问题:如果科学理论之间的「还原」(reduction)不是集合包含,而是类型之间的态射,那么「物理还原为化学、化学还原为生物学」这个经典还原论纲领,是不是从一开始就建立在错误的类型观上?







0 評論