如果我有以下线:
Definition Foo : Set := list nat.
然后我编译没有问题。
然而,假设我想要做同样的Coq.Lists.ListSet
,较有限集为列表库:
(*Section first_definitions.
Variable A : Type.
Definition listset := list A.*)
Definition Bar : Set := listset nat.
我得到以下错误:
The term "listset nat" has type "Type" while it is expected to have type
"Set" (universe inconsistency).
- 有没有一种方法,以“铸造”
listset
,使其生活在Set
而不是Type
? 即如果我知道我将要使用listset
参数类型Set
,有没有办法让它活在Set
层次结构不知何故? - 为什么会发生的错误
listset
,而不是list
,当listset
被定义为list
?
注 :实际类型称为set
,但我已经重新命名为listset
以避免与排序混乱Set
。
编辑: =
取代:=