Если я пытаюсь доказать, что Nat и Bool не равны в Agda:
open import Data.Nat
open import Data.Bool
open import Data.Empty
open import Relation.Binary.PropositionalEquality
noteq : ℕ ≡ Bool -> ⊥
noteq ()
Я получаю ошибку:
Failed to solve the following constraints:
Is empty: ℕ ≡ Bool
Я знаю, что сопоставление с шаблоном невозможно на самих типах, но я удивлен, что компилятор не может видеть, что Nat и Bool имеют разные (type) конструкторы.
Есть ли способ доказать что-то подобное в Agda? Или неравенства, связанные с типами в Agda, просто не поддерживаются?