我正在阅读有关n-lab上有关extensional type theory的文章,其中提到了使内涵类型理论可扩展的两种方法。
p:Id(x,y) => x===y
Id((a,b_1),(a,b_2)) => Id(b_1,b_2)
,其中(a,b_1)
和(a,b_2)
都是从属对我的问题是这两种方式是否等效?
特别是,如果可以,可以从公理K或UIP派生p:Id(x,y) => x===y
吗?
答案 0 :(得分:3)
n-lab对类型理论进行可扩展性的理解是相当独特的。不过,如果您最感兴趣的是Id
类型是否可以无扩展地扩展,这是有道理的,如果您拥有UIP,则不是这种情况。
(1)确实暗示着(2)(使用问题中的数字),所以它与单调性不一致。
(1)是更传统的资源与“扩展类型理论”相关联的规则。
但是(2)并不意味着(1),因为对于类似Agda这样的理论,Id
类型的正则性将表明,Id
在空上下文中的任何证明都是自反性,而(1 )表示功能可扩展性。