“类型1”的例子既不是“类型”也不是“类型”的居民

时间:2014-11-12 15:01:59

标签: dependent-type idris

Type 1的居民Type既不是Type也不是居民x的例子是什么?在Idris REPL中探索时,我无法想出任何东西。

更准确地说,我正在寻找除Type之外的Idris> :t x x : Type 1 以下产生以下内容的数据:

{{1}}

2 个答案:

答案 0 :(得分:7)

我不是类型理论专家,但这是我的理解。在Idris tutorial中有一个 12.8 Cumulativity 部分。它说有一个Universe类型的内部层次结构:

Type : Type 1 : Type 2 : Type 3 : ...

任何x : Type n隐含x : Type m代表任何m > n。还有一个例子说明它如何防止类型推断中的可能循环。

但我认为此层次结构仅供内部使用,并且不可能创建Type (n+1)中不在Type n中的值。

另请参阅nLab中有关universes in type theorytype of types的文章。

也许idris-dev存储库中的这个issue也很有用。 Edwin Brady在那里指的是Design and Implementation paper(参见第3.2.2节)。

答案 1 :(得分:5)

我不是伊德里斯专家,但我希望

Type -> Type

也在Type 1

我也期待

Nat -> Type

如果你非常幸运(不太确定这个)

List Type

那么大。

这个想法是你可以在每个级别进行所有类型构建操作。每次使用一个级别的类型作为值时,那些结构的类型都会生成一级。

相关问题