COQ中的集合究竟是什么
我仍然不明白排序集合在COQ中是什么意思。我何时使用设置以及何时使用类型 在Hott中,集被定义为一种类型,其中身份证明是唯一的。COQ中的集合究竟是什么,coq,type-theory,Coq,Type Theory,我仍然不明白排序集合在COQ中是什么意思。我何时使用设置以及何时使用类型 在Hott中,集被定义为一种类型,其中身份证明是唯一的。 但我认为在Coq中有不同的解释 Set在Coq和HoTT中的意思完全不同 在Coq中,每个对象都有一个类型,包括类型本身。类型的类型通常被称为种类、种类或宇宙。在Coq中,(计算相关的)宇宙是Set,和Type_i,其中i范围超过自然数(0,1,2,3,…)。我们有以下内容: Set <= Type_0 <= Type_1 <= Type_2 &l
但我认为在Coq中有不同的解释
Set
在Coq和HoTT中的意思完全不同
在Coq中,每个对象都有一个类型,包括类型本身。类型的类型通常被称为种类、种类或宇宙。在Coq中,(计算相关的)宇宙是Set
,和Type_i
,其中i
范围超过自然数(0,1,2,3,…)。我们有以下内容:
Set <= Type_0 <= Type_1 <= Type_2 <= ...
这个公理允许您编写可以决定任意命题的函数。请注意,
{P}+{~P}
类型存在于Set
中,而不是Prop
。被排除在中间的通常形式,P:Prop,P\/~P,不能以同样的方式使用,因为生活在Prop
中的东西不能以计算相关的方式使用。除了亚瑟的答案:
由于Set
位于层次结构的底部
因此,Set
是“小”数据类型和函数类型的类型,即其值不直接或间接涉及类型的类型
这意味着以下操作将失败:
Fail Inductive Ts : Set :=
| constrS : Set -> Ts.
出现此错误消息时:
大型非命题归纳类型必须为类型
如信息所示,我们可以使用类型
:
Inductive Tt : Type :=
| constrT : Set -> Tt.
参考:
- B.Jacobs(2013)的《Coq作为正式系统的本质》
type0
,其中type0:type1:type2:…
。这是否意味着如果我不需要不确定性,我就不需要集合排序?我会这么说,除非我不知道这个理论有什么奇怪的角落。我总是用类型来代替。什么是不可指示性?@CharlieParker在本文中,这意味着无论何时st:Set
,对于所有T:Set,st都有类型Set
(而不是Type
)。因此,通过使用-impredicative Set选项,可以证明(对于所有P:Prop,{P}+{P})->False
,对吗?它是如何工作的?
Fail Inductive Ts : Set :=
| constrS : Set -> Ts.
Inductive Tt : Type :=
| constrT : Set -> Tt.