加上「;类型扩展性“;符合标准Coq。(单价公理的一部分)

加上「;类型扩展性“;符合标准Coq。(单价公理的一部分),coq,homotopy-type-theory,Coq,Homotopy Type Theory,我有一个天真的问题: 我们为什么不把这条公理加入Coq: Axiom type_extensionality : forall (A B:Type) (f:A->B) (invf:B->A) (H1: forall b, (f (invf b)) = b) (H2: forall a, (invf (f a)) = a), A = B. 好的,它允许这样的非构造性定理,比如(nat->Prop)=(nat->bool)和(A\/B)->(A+B)(证明是)。 但是Coq的标准库

我有一个天真的问题:

我们为什么不把这条公理加入Coq:

Axiom type_extensionality : forall (A B:Type)
 (f:A->B) (invf:B->A) (H1: forall b, (f (invf b)) = b)
 (H2: forall a, (invf (f a)) = a), A = B.
好的,它允许这样的非构造性定理,比如(nat->Prop)=(nat->bool)和(A\/B)->(A+B)(证明是)。 但是Coq的标准库已经有很多非结构化的公理

这会导致矛盾吗?(如果会,我在哪里可以阅读证据?) 或者只是还没有证明公理不会导致矛盾?也许只是没用

也许这就是HoTT库在中重新定义路径类型的原因。 这种“类型扩展性”公理不如单价公理强。
最后一种方法在证明不相关、命题扩展性的情况下失败。(bool以两种不同的方式等同于它自己,而bool=bool类型只包含一个元素)。

你如何证明
nat->Prop=nat->bool
?@ArthurAzevedoDeAmorim(nat->Prop)=(nat->bool)的证明这里是:非结构化不是来自于假定
被排除在外\u中间\u信息性
而不是这个版本的单价吗?这个“类型可扩展性”意味着单价,所以我们不应该说它是一个更强的公理吗?@李耀霞我认为“类型可扩展性”并不意味着单价。如果你真的确定这一点,那么请用Coq代码证明我是错的。哦,我明白了,我被假设是扩展等价这一事实所困扰,但“类型扩展性”之上的单价真正有意义的内容是
type\u扩展性
作为一个函数是一个拟反转。