シンボルを使用して型レベルでタグ付けされたアイテムを格納するデータ構造を作成したいとします。この:あなたはコンパイラがfrom' _ Nil定義(??なぜそれが、やり方によって、それは止めるようにする方法があるん)しかし、私が本当に欲しかっを供給していないために私を警告しているという事実を無視した場合 data Store e (ss :: [Symbol]) where
Nil ::
私はIdrisを初めて利用しています。私は有界数を記述するデータを作成する必要があります。だから私は、このようなコンストラクタで、このようなデータを作りました: data BoundedDouble : (a, b : Double) -> Type where
MkBoundedDouble : (x : Double) ->
{auto p : a <= x &&
ハスケルでかなりの経験をして、私はちょうど定理証明のためにIdrisを使い始めました。これは、単純なステートメントを証明しようとしたときに直面した問題を示す最小限の例です。 たちが総機能test持って考えてみましょう。もちろん total test : Integer -> Integer
test 1 = 1
test n = n
を、私たちは関数がtest n = nに単純化することが
私はAgdaのモナド型クラスをエンコードしようとしています。私はこれを遠くに持っています: module Monad where
record Monad (M : Set → Set) : Set1 where
field
return : {A : Set} → A → M A
_⟫=_ : {A B : Set} → M A → (A → M B)
私はこの問題に対してしばらくの間頭を打っていました。従属フィールドを持つレコードタイプがあり、レコード変換の等価性を証明したいと思います。私は私の問題の要点を小さな例にしてみようとしました。 module Bar where
open import Data.Nat
open import Relation.Binary.PropositionalEquality as PE
open im