COQ中的集合究竟是什么

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中是什么意思。我何时使用设置以及何时使用类型

在Hott中,被定义为一种类型,其中身份证明是唯一的。
但我认为在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.