coq

    3

    2答えて

    Coqを学ぶために、ベンジャミンピアスの電子ブックソフトウェアファンデーションをhereからダウンロードして内容を抽出しました。私は今、Basics.vの練習を始め、Vimで直接ファイルを編集しています。 私の回答を自動的に格付けしたいと思っています(例えば、ポイントスコアを時間に対して追跡するなど)。 この準備のために、私はMakefileで指定された順序で.vファイルのそれぞれに対してcoqc

    3

    1答えて

    私はCoqを研究しており、Martin-Lofの等価性とPath Inductionの等価性の間の同型性を証明しようとしています。 私は以下の2つの等式を定義しました。 Module MartinLof. Axiom eq : forall A, A -> A -> Prop. Axiom refl : forall A, forall x : A, eq A x x. Axiom el

    1

    1答えて

    の内容に関する命題。 命題myPropをどのように定義すれば、H、myProp Hというセットがtrueの場合、となるでしょうか? 具体的には、Hのサブセットがnatであることをどのように表現できますか?またはどのように私は単にのlet HがNATのサブセットで述べることができますか?

    0

    1答えて

    P-> QにPの名前を付けたいと思います。合理的には、QがPに依存するP-> Q型の定理を述べることです。 次の例では、 '???'を置き換える必要があります。 私はセクションを開いて、(x <> 0)を名前付きパラメータとして持つことができます。その後、私がセクションを閉じると、私はthm2に何かを得ますが、私はthm2を1つの行に記述したいと思います。 (勿論、次の例では、多少愚かである。それ

    3

    1答えて

    に2つのnatsが含まれているとします。 Record toy := { num1 : nat; num2 : nat }. 私は2つのnatsはこれら2 natsを含むrecordを返す与えられた定義を構築したいです。 Definition args_to_toy_record (n1 : nat) (n2 : nat) : toy := (* {num1 = n1;

    1

    1答えて

    natをstringのcoqに変換する関数を作成しようとしていました。ここに私の試みです。 Require Import Arith String. (* append is part of the string library. Its signature is (s1 : string) : string -> string *) Fixpoint conv

    2

    1答えて

    私はframa-C WPを使用し、ACSLアノテーションをデバッグしたいと思います。 緑色またはオレンジ色の結果があります。私はなぜIDE3を開き、生成されたスクリプトを参照してください。その後、リストから理論/目標を選択し、Alt-ErgoまたはCoq IDEを起動することができます。私はCoq IDEで生成されたコードで遊びたいです。私は、例えば、その後、その後、定理WP いくつかの公理を見て

    2

    2答えて

    空の置換の適用が与えられた用語と等しいことを証明しようとしています。ここ はコードです: Require Import Coq.Strings.String. Require Import Coq.Lists.List. Require Import Coq.Arith.EqNat. Require Import Recdef. Require Import Omega. Import