我是Agda的新手,需要幫助瞭解Decidable函數和Dec類型。 我想定義一個一階邏輯謂詞,我想用證明編碼某種布爾值。我發現這樣做的方法是使用Dec類型.. 現在,據我所知,能夠做到這一點,我必須重新定義所有邏輯運算符的類型是可判定的,而不是類型集。這樣做,我有點嵌入成新的類型,這是我這樣做是爲了和運營商: data _∧_ (A B : Set) : Set where
_&_ :
我認爲你可以在Agda中任意功能。這樣您就可以隨時調換輸入的順序。 ,並表示,即使編譯一個定理: curry : {A : Set} -> {B : Set} -> {C : Set} -> (A -> B -> C) -> (B -> A -> C)
curry f b a = f a b
然而,阿格達具有依賴型和類似 curry' : {A : Set} -> {B : (A -> Se
在下面的Agda代碼中,我有一個基於de Bruijn指數的術語。我可以用通常的德布魯因指數方式定義替代條件,使用重命名來允許替代在粘合劑下進行。 module Temp where
data Type : Set where
unit : Type
_⇾_ : Type → Type → Type
-- A context is a snoc-list of type
一些導入和定義第一。 open import Level hiding (suc)
open import Relation.Binary.PropositionalEquality
open import Data.Nat
open import Algebra
open import Data.Nat.Properties
open CommutativeSemiring commu
我試圖證明Coq提取機制和Aglon中的MAlonzo編譯器之間代碼生成的區別。我想出了在阿格達這個簡單的例子: data Nat : Set where
zero : Nat
succ : Nat → Nat
data List (A : Set) : Set where
nil : List A
cons : A → List A → List A