dependent-type

    2

    1答えて

    私は依存型について読んできました。何かを誤解していないことを確認するための質問が1つあります。これでWikipedia page on dependent types開始:コンピュータ科学とロジックで 、依存の型は、その定義値に依存タイプです。 「整数の対」はタイプです。 「第2の値が第1より大きい整数の対」は、値に依存するため依存型です。 私は範囲の数を表すことができる言語があるとします。例えば

    4

    1答えて

    私はHaskellで依存型ライブラリをプログラミングしています。 commutativity' Math 1189 4022787186 29.1 27.2 29.1 27.2 commutativity'は、基本的にはタイプレベルの整数の整数の加算可換性プロパティの(再帰的)証拠である:私はのようなものを参照してください私のテストの実行にプロファイルを使用します。様々なタイプの等価性を証明す

    3

    1答えて

    Scalaで等価証明を実装することは可能ですか? Idrisによるタイプドリブン開発では、平等プルーフタイプの定義方法の例を示しています。 data (=): a -> b -> Type where Refl : x = x スカラ座にこれを変換するために私の最初の本能は、このようなものです。 sealed trait EqualityProof[A, B] final case

    2

    1答えて

    Benjamin Hodgsonのおかげで、タイプセーフなSQLインターフェイスを実装し始めました。this stackoverflow question。 アドバイスとして、私はthe singleton paperを読み始めました。私は働くコードが多くを助け、供給されたcodeの仕事を見ることを試みたことが分る。ただし、コードは3歳で、更新が必要です。すばらしいです!今私は何かを学ぶ。ここでは

    3

    2答えて

    私はIdrisには新しく、基本的な概念と構文をキャッチしようとしています。 無意味に聞こえるかもしれませんが、私はhalf自然を半分にする関数を定義しようとしています。 私のような何かを思い付くしたい: half : (n : Nat) -> (k : Nat) -> (n = k + k) -> (k : Nat) もちろん、それは働いていません。具体的には: error: expected

    5

    1答えて

    帰納的データ型の構文を使用しようとしましたが、エラーメッセージがあります。「相互誘導型は従属型除外型の基本誘導型にコンパイルする必要があります」相互再帰関数を定義するための構文は何ですか:以下 はまた、自然数 mutual inductive even, odd with even: ℕ → Prop | z: even 0 | n: ∀ n, odd n → even (n + 1) w

    7

    2答えて

    Agdaとは異なり、Coqは証明と機能を分離する傾向があります。 Coqが提供する戦術は、校正を書くのに最適ですが、Agdaモードの機能を再現する方法があるかどうかは疑問です。 具体的には、私がしたい: Agdaの?やHaskellの_の一部と同等に、私はそれを書いている間、機能の一部を省略し、(たぶん)コックは私伝える持つことができる場所タイプ私はあなたが機能して?ブロックを埋めるAgdaモード

    1

    2答えて

    に平等の証明で部分式を置き換えます。 plusDouble : (a:Nat) -> (a + a) = a*2 plusDouble a = rewrite multCommutative a 2 in rewrite plusZeroRightNeutral a in Refl は、だから私は、私は信じているbasicall: lemma1 : {x:Nat} ->

    12

    1答えて

    長さがnのリストLがリストJにインターリーブされ、長さがn + 1であるとします。 Jの各要素について、Lからの隣人のどちらが大きいかを知りたいと思います。 以下の関数は、KのI番目の要素はJ.のI番目の要素の所望の隣人であるように、また、長さ N + 1を、その入力としてLを受け取り、リストKを生成します aux [] prev acc = prev:acc aux (hd:tl) prev