coq

    2

    1答えて

    したがって、私は二つの仮説を持っています。一つはh : A -> B、もう一つはh2 : Aです。私の仮説にh3 : Bを表示させるにはどうすればいいですか?これは後でhを必要としない場合に役立ち、かつ対称的に、 apply h in h2. することができます -

    1

    1答えて

    Coqで非定常的な方法で存在定理を証明できますか?具体的には、不合理な数があることを証明することを考えています。 x^yは合理的です。

    4

    1答えて

    私は次のプログラムの最後の行の型エラーを取得しています: Require Import List. Import ListNotations. (* This computes to 10 *) Compute (fold_right plus 0 [1;2;3;4]). (* I want this to compute to [5;6;7;8] but it gives a typ

    6

    1答えて

    私はCoqについてのソフトウェア基礎の練習を完了するためにCoqIDEを使用しています。私は正常にBasics.vをコンパイルすることができます。その結果、Basics.voとBasics.globが私のディレクトリにあります。 Induction.vを実行しようとすると、動作します。私がコンパイルしようとすると、それはevenbとnegb_involutiveのような数多くの欠落した参照に文句を

    0

    2答えて

    私はCoq。空リストと非空リストの論理和が真であることをどのように証明できますか? l = [] \/ l <> [] これは私が働いているの補題です: Lemma in_list: forall (X : Type) (a : X) l (P : X -> Prop), (a :: l <> [] /\ exists b : X, In b (a :: l) -> P b) ->

    0

    1答えて

    での評価の基準に強制することはできません私はMem.loadを展開しようとしていると私はエラーを取得する: Error: Cannot coerce Mem.load to an evaluable reference. 私はload1としてMem.loadのまったく同じDefinitionを書き、展開可能です。これは、それがunfold EDになることができないことを意味 Global Opaq

    3

    2答えて

    のコンストラクタを区別することはできません私は私がいる問題を示すために、この例のタイプを作成しました:今 Inductive foo : nat -> Prop := | foo_1 : forall n, foo n | foo_2 : forall n, foo n. はっきりfoo_1 0 <> foo_2 0が、私はこれを証明することができないよ: Lemma bar : foo_

    3

    1答えて

    私は不完全な証拠で、次の補題があります Lemma (s_is_plus_one : forall n:nat, S n = n + 1). Proof. intros. reflexivity. Qed. この証明は、これを証明する方法だろうeq_Sように思える Unable to unify "n + 1" with "S n". で失敗したが、私は(それを適用

    0

    1答えて

    リストのすべての要素でHと目標が同じであることを証明するにはどうすればよいですか? X : Type P : X -> Prop l : list X H : forall n : X, ~ (In n l /\ ~ P n) ______________________________________(1/1) forall b : X, In b l -> P b 二つの文~ (

    1

    1答えて

    ブレース、一つは印刷表記のためのフォーマットを定義することができる:それは非常に不明瞭である Notation " '[[' a ']]' b " := (* something *). : https://coq.inria.fr/refman/Reference-Manual014.html#sec530 を但し、一方が等の表記法を定義することができ両者が相互作用できるかどうか。しよう:そ