Coq中Prop、Set和Type_i的基数
我们是否可以在Coq中为Coq中Prop、Set和Type_i的基数,coq,cardinality,Coq,Cardinality,我们是否可以在Coq中为Prop、Set和每个Type\u i?我只在Coq的库中看到了的定义,所以也许我们首先需要大红衣主教的定义 根据证明无关语义,例如exposed,Set和Type_i形成了一个增加的序列。这能在Coq中得到证明吗 Prop由于不可指示性,似乎更为复杂。证明不相关意味着我们识别相同的P:Prop的所有证明,并将Prop本身解释为一对{false,true}。因此Prop的基数是2。但是,对于任何两种证明p1p2:P,Coq不接受eq\u refl p1作为p1=p2的证明
Prop
、Set
和每个Type\u i
?我只在Coq的库中看到了的定义,所以也许我们首先需要大红衣主教的定义
根据证明无关语义,例如exposed,Set
和Type_i
形成了一个增加的序列。这能在Coq中得到证明吗
Prop
由于不可指示性,似乎更为复杂。证明不相关意味着我们识别相同的P:Prop
的所有证明,并将Prop
本身解释为一对{false,true}
。因此Prop
的基数是2。但是,对于任何两种证明p1p2:P
,Coq不接受eq\u refl p1
作为p1=p2
的证明。因此Coq不能完全识别p1
和p2
。另一方面,非指示性意味着对于任何A:Type
和P:Prop
,A->P
都属于Prop
类型。这使得居住者比集中的居住者多得多
如果这太难了,Coq能证明Prop
和Set
是不可数的吗?通过,Coq很容易证明不存在满射nat->(nat->Prop)
。这似乎离证明不存在满射nat->Prop
并不遥远。但是接下来我们需要过滤器Prop->(nat->Prop)
,它可以隔离哪些Prop
有一个免费的nat
变量。我们能否在Coq中定义此过滤器,因为我们无法在Prop
上进行模式匹配?无法显示Prop
在Coq中是不可数的。标准库中的模块表明,命题退化公理,对于所有A:Prop,A=True\/A=False
,相当于排除中间和命题扩展性的存在。由于Coq的集合论模型验证了这两个公理,Coq无法反驳简并性
当然可以证明,Set
和Type
是无限的,因为它们包含由n
限定的自然数的所有类型Fin n
,并且这些类型彼此不同,因为它们具有不同的基数。我怀疑,通过调整通常的对角化参数,可以证明它们是不可数的——也就是说,假设某个可逆计数函数e:nat->Set
,并尝试编码类似于“不包含它们自己”的所有自然数的类型。我不知道你将如何证明这些类型是不可访问的基数