agda

    1熱度

    1回答

    是否可以聲明記錄中的字段不相關,但仍然在某處使用它們? 假設我有 postulate f : ℕ → ℕ record Silly x : Set where field n : ℕ s : f n ≡ x open Silly 然後,我可以 same-silly : ∀{x} {p q : Silly x} → f (n p) ≡ f(n q) same

    2熱度

    3回答

    我想了解Agda標準庫的某些部分,我似乎無法弄清REL的定義。這裏 FWIW是的REL定義: -- Binary relations -- Heterogeneous binary relations REL : ∀ {a b} → Set a → Set b → (ℓ : Level) → Set (a ⊔ b ⊔ suc ℓ) REL A B ℓ = A → B → Set ℓ

    1熱度

    1回答

    看來,要證明記錄類型的兩個項目是等價的,我需要編寫一個幫助程序,它需要組件明智的證明並應用它們。 一個例子: postulate P : ℕ → Set record Silly : Set (ℓsuc ℓ₀) where constructor _#_#_ field n : ℕ pn : P n f : Set → ℕ open Silly Sil

    3熱度

    1回答

    問題是關於Observational Type Theory。 考慮此設置: data level : Set where # : ℕ -> level ω : level _⊔_ : level -> level -> level # α ⊔ # β = # (α ⊔ℕ β) _ ⊔ _ = ω _⊔ᵢ_ : level -> level -> level α

    1熱度

    1回答

    > {-# LANGUAGE RankNTypes #-} 我想知道是否有方法來表示haskell和/或其他函數式編程語言中的選擇公理。 正如我們所知,false由沒有值的類型表示(haskell中的Void)。 > import Data.Void 我們可以代表像這樣 > type Not a = a -> Void 我們可以表達排中律的類型a就像否定因此 > type LEM a

    3熱度

    1回答

    我剛剛學習Agda,但我不明白,當我試圖證明身份超過Addition時,我發現左身份是微不足道的證據。 left+identity : ∀ n -> (zero + n) ≡ n left+identity n = refl 但它對於正確的身份不是這樣。 right+identity : ∀ n -> (n + zero) ≡ n right+identity zero = refl r

    0熱度

    1回答

    我在閱讀Brutal Meta-introduction to Agda。 在一節的「使用with和統一重寫」他們提了一個情況下的一種類型的目標從雲: (filter p (a ∷ as) | p a) ≡ (filterN p (a ∷ as) | p a) 到 (filter p (a ∷ rs) | r) ≡ (filterN p (a ∷ rs) | r) 添加with子句之後。

    1熱度

    1回答

    當兩者都具有相同的標準形式---我認爲---和命題相等僅僅是定義相等的數據類型表示時, - 我認爲---;那麼不應該在命題上平等是可以確定的嗎?也就是說,我們可以編寫一個鍵入的函數似乎是合理的,我們可以編寫一個函數 ∀{A : Set} → (x y : A) → Dec(x ≡ y)。 因爲我們無法在參數上進行模式匹配,所以我不能寫這樣的函數,但我覺得它應該是可能的:再次,減少到正常形式並檢查語

    1熱度

    1回答

    我目前正在有序矢量數據類型,我試圖創建從數據類型的操作,但我得到一個錯誤: (Set (.Agda.Primitive.lsuc ℓ)) != Set when checking that the expression A has type Set ℓ 這是數據類型 module ordered-vector (A : Set) (_<A_ : A → A →) where data o

    0熱度

    1回答

    爲什麼我不能確定異質平等這樣一個更爲明確的版本: data Eq : (A : Set) -> A -> A -> Set where Refl : (T : Set) -> (x : T) -> Eq T x x 當我這樣做,我得到以下錯誤: The type of the constructor does not fit in the sort of the datatype,