一個非常基本的問題,但作爲一個Agda初學者我很難過。在Agda的平等測試分支? (基本)
我只是想檢查兩個項是否相等,並根據不同的情況返回不同的東西。我可以編寫自己的等式測試器,但是如何使用equiv(或者正確的方法)來執行此操作?
這是一個小例子:
import Data.Nat
import Relation.Binary
myeqtest : ℕ → ℕ → ℕ
myeqtest x y = if x Data.Nat.≟ y then true else false
錯誤消息: .Relation.Nullary.Core.Dec(X.Relation.Binary.Core.Dummy.≡Y)= < 類型的布爾設置 當檢查表達式xData.Nat.≟y具有類型Bool
我當然想要做更復雜的事情(我知道上述是多餘的),但重點是x \?= y不是Bool類型,它是Set類型的,我不知道如何將該Set設置爲一個布爾。謝謝。
謝謝,非常有意義。瞭解與Dec的連接的具體位置非常有用,然後解釋\ lfloor和\ rfloor是什麼以及它們是如何工作的。 – usul 2014-12-05 00:49:58