从Curry-Howard-Lambek开始,类型理论,逻辑和类别一直是三位一体。我很好奇,当您在类型理论中添加(强制性)子类型时,您会得到什么分类语义-似乎根本没有对此进行太多探讨。
通常,在类型理论中添加强制性子类型不会破坏其元理论属性(例如强规范化),因此,我认为其分类语义应该是实际感兴趣的内容!
从Curry-Howard-Lambek开始,类型理论,逻辑和类别一直是三位一体。我很好奇,当您在类型理论中添加(强制性)子类型时,您会得到什么分类语义-似乎根本没有对此进行太多探讨。
通常,在类型理论中添加强制性子类型不会破坏其元理论属性(例如强规范化),因此,我认为其分类语义应该是实际感兴趣的内容!
Answers:
语义上,强制只是一个态射,它在适当的点加入了术语解释。由此产生的基本问题是连贯性问题:您是否保证某个术语将具有唯一含义,因为同一个术语可能会在程序中的许多可能位置隐藏强制性?
此问题的第一个处理方法是John Reynolds在1980年发表的论文,《使用类别理论设计隐式转换和泛型运算符》,它说明了如何为强制系统赋予分类语义,并使用它来确保它是连贯的。
如果您对丰富(例如,从属)类型理论的强制性子类型感兴趣,那么罗兆辉是最佳人选。