coq

    0

    1答えて

    で空の範囲にわたる証拠は、私は形でゴールを証明する必要があります。 forall x: ordinal_finType m, P x 私は私が私のスタックでHm: m = 0を持っている場合には、現在午前に、これは、本質的にオーバーforallです空集合。この場合、どうすればいいですか? case => x. を使用すると、 forall i : (x < m)%N, P i で私を残

    2

    1答えて

    私は包括的な数量化された関数を含む関数をカリングするための戦術を書こうとしています。 Require Import Coq.Program.Tactics. Definition curry1 := forall A B C, (A /\ B -> C) -> (A -> B -> C). Definition curry2 := forall A B, (forall C, A /\ B

    2

    2答えて

    Ltac checkForall H := let T := type of H in match T with | forall x, ?P x => idtac | _ => fail 1 "not a forall" end. Example test : (forall x, x) -> True. Proof.

    1

    3答えて

    私は以下の質問をしています。 (* Suppose we have type A *) Variable A: Type. (* Also we have a function that returns the type (option A) *) Definition f_opt x: option A := ... (* Then, I can pr

    0

    1答えて

    私はCoq(バージョン8.5-6)を使用しています。私はssreflect、好ましくはw/Nixもインストールしたいと思う。私がこれについて見つけた唯一の情報はhereです。しかし、単にssreflectをインストールするだけではありません。それにもかかわらず、私はそれを試してみましたが、何百という警告(さまざまな.vと.ml4ファイルの内容について)が終了し、処理が終了するのを待つことができませ

    4

    1答えて

    更新:Arthur Azevedo De Amorimの助けを借りて、私はついにそれを管理します。コードは質問の最後に添付されています。 私は本 "タイプとプログラミング言語」を読んでいます、と私はのCoQを使用して、この本の中で、各定理(補題)を証明しようとしています。定理3.5.4になったとき、私はそれを試して管理できませんでした。ここに問題の説明があります。 ASTと小さな言語: t = :

    0

    1答えて

    次のようなタイプチェック(coq-8.5pl3)がないのはなぜですか?パターンマッチングは、uとvが同じタイプであることを忘れているようです。 Inductive X : Type -> Type := | XId : forall a, X a -> X a | XUnit : X unit. Fixpoint f {a : Type} (x : X a) (y : X a) : a :

    7

    1答えて

    これらは同じ目的を果たしているようです。私が今まで気づいた1つの違いは、は{measure (length l1 + length l2) }のような複合尺度を受け入れますが、はこれを拒否しているように見え、{measure length l1}を許可します。 Program Fixpointは、厳密にはFunctionより強力ですか、さまざまな用途に適していますか?

    1

    1答えて

    私はposetsよりも文字列の辞書順を定義しようとしていますが、PartialOrder typeclassの使い方は完全にはわかりません。 Require Import List RelationClasses. Fail Inductive lex_leq {A : Type} `{po : PartialOrder A} : list A -> list A -> Prop :=

    2

    1答えて

    fooの新しい型を定義すると、foo_rectという再帰の原理が得られます。この再帰の原理は、fixを基にしています。どのようにして「矢印を反転させる」ことによって、コインシデンス相当物(cofixで要約)を定義できますか?