我目前正在有序矢量数据类型,我试图创建从数据类型的操作,但我得到一个错误:阿格达类型检查错误
(Set (.Agda.Primitive.lsuc ℓ)) != Set
when checking that the expression A has type Set ℓ
这是数据类型
module ordered-vector (A : Set) (_<A_ : A → A →) where
data ordered- : {A : Set}→ A → ℕ → Set where
[] : {a : A} → ordered- a 0
_::_ : (head : A) {min : A} → {n : ℕ} → (tail : ordered- min n) → true (min <A head) → ordered- head (suc n)
这是操作:
[_]o : ∀ {ℓ} {A : Set ℓ} → A → ordered- A 1
[ x ]o = x :: []
我相信下面的代码是数据类型更正确。我如何保留定义的缺点的正确性?
data ordered- {ℓ} (A : Set ℓ) : ℕ → Set ℓ where
[] : ordered- A 0
_::_ : (head : A) {min : A} → {n : ℕ} → ordered- min n → true (min <A head) → ordered- head (suc n)
这是NAT模块
哎呀是的,这是一个错误。我固定它应该是ordered- – SharkMangler