Я в настоящее время делает упорядоченный вектор типа данных, и я пытаюсь создать операции с типом данных, но я получаю сообщение об ошибке:Agda типа Проверка ошибок
(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)
Это нац модуль
К сожалению, это была ошибка. Я установил, что он должен быть заказан. – SharkMangler