Types 为什么不是';t集->;布景:布景?

Types 为什么不是';t集->;布景:布景?,types,coq,Types,Coq,作为一名数学家,我早就料到了 Set -> Set : Set 但我想这是因为我的数学家帽子戴着。我该怎么做才能让它工作 我应该以不同的方式思考集合,使用不同的集合吗 我想这是因为我的数学家帽子戴着 也许你需要戴上你的套装理论家帽子。我们可以通过将每个Set发送到返回该Set的常量函数来构建注入Set->(Set->Set),即fun S=>(fun=>S)。如果(Set->Set):Set,那么我们将有一个包含所有集合的集合(即(Set->Set))。这将是一个问题,因为你可以遵循罗素

作为一名数学家,我早就料到了

Set -> Set : Set
但我想这是因为我的数学家帽子戴着。我该怎么做才能让它工作

我应该以不同的方式思考集合,使用不同的集合吗

我想这是因为我的数学家帽子戴着

也许你需要戴上你的套装理论家帽子。我们可以通过将每个
Set
发送到返回该
Set
的常量函数来构建注入
Set->(Set->Set)
,即
fun S=>(fun=>S)
。如果
(Set->Set):Set
,那么我们将有一个包含所有集合的集合(即
(Set->Set)
)。这将是一个问题,因为你可以遵循罗素悖论,询问所有不包含自己的集合,你可以问这个集合是否包含自己,这是荒谬的。因此,您不能拥有
(Set->Set):Set
。(参见
Coq.Logic.Hurkens
了解该定理变体的形式化版本。)

由于
(Set->Set)
太大,无法成为
,因此它位于上一层,即
类型
。设置打印范围可能有帮助。一般来说,我们有
Type@{i}:Type@{i+1}

我想这是因为我的数学家帽子戴着

也许你需要戴上你的套装理论家帽子。我们可以通过将每个
Set
发送到返回该
Set
的常量函数来构建注入
Set->(Set->Set)
,即
fun S=>(fun=>S)
。如果
(Set->Set):Set
,那么我们将有一个包含所有集合的集合(即
(Set->Set)
)。这将是一个问题,因为你可以遵循罗素悖论,询问所有不包含自己的集合,你可以问这个集合是否包含自己,这是荒谬的。因此,您不能拥有
(Set->Set):Set
。(参见
Coq.Logic.Hurkens
了解该定理变体的形式化版本。)


由于
(Set->Set)
太大,无法成为
,因此它位于上一层,即
类型
。设置打印范围可能有帮助。一般来说,我们有
Type@{i}:Type@{i+1}

现在我想我的意思是a:Set->b:Set是一个集合。我想我写这个问题的时候很累。不过,谢谢你的启发性讨论。现在我在考虑这个问题,我想我的意思是a:Set->b:Set是一个Set。我想我写这个问题的时候很累。不过,感谢您进行的富有启发性的讨论。