coq-tactic

    1

    1答えて

    私はCoqを学習しています。初めて、ring戦術を使用する必要があります。私はRequire Ring.またはRequire ArithRing.の後にそれを使って私が目標として持っている方程式の右辺を簡略化しようとしましたが、Coqはそれが存在しない参照を取ります。これらの戦術を呼び出すには Lemma sum_n_p : forall n, 2 * sum_n n + n = n * n.

    2

    3答えて

    私は、ASCII文字が空白であるかどうかの決定手順を自動化しようとしています。ここに私が現在持っているものがあります。 Require Import Ascii String. Scheme Equality for ascii. Definition IsWhitespace (c : ascii) := (c = "009"%char) \/ (c = "032"%char). D

    2

    1答えて

    時には私は、別の空間に投影することによって最もよく行われる証拠を持っています。私は、次の操作を行い、現時点では: Ltac project x y := let z := fresh in remember x as y eqn:z; clear z; clear x. しかし、私は次のエラーを取得する: remember (f x) as y eqn:H; clear H

    3

    1答えて

    このように、我々はいくつかの(半)グループ論的性質を形式化しようとしていると仮定します。つまり、我々は上記の定義のいずれかの式を逆転場合 Section Group. Variable A: Type. Variable op: A -> A -> A. Definition is_left_neutral (e: A) := forall x: A, (op e x) = x. De

    1

    2答えて

    Is there a minimal complete set of tactics in Coq?の質問では、exactという回答はすべての目標を証明するのに十分であると述べています。誰かが説明して例を挙げることができますか?例えば、A \/ B -> B \/ AのA、BがPropであるという目標は、単にexactの束で証明されるのでしょうか?他にも良い例がある場合は、お気軽にお答えください。

    -1

    2答えて

    私はstring aを持っていて、string bと比較して、等価がstring cの場合はstring xです。私は、仮説ではfun x <= fun cだと知っています。これを証明するにはどうしたらいいですか? funは、stringを取り込み、natを返す関数です。 fun (if a == b then c else x) <= S (fun c) ロジックは明らかですが、私はcoqの

    1

    1答えて

    バインダーの下で式を一般化する必要があります。例えば、私は私の目標で二つの表現があります。 (fun a b => g a b c) と (fun a b => f (g a b c)) をそして私はg _ _ c一部を一般化したい::行うには 一つの方法は、最初にそれらを書き換えることです (fun a b => (fun x y => g x y c) a b) および第2のもの:

    2

    1答えて

    私はcoqで何かを証明しようとしています。 誘導の再帰(nilでない)ステップ内でFixpointの定義を展開したいと思います。期待通りに作品を展開、ここでは例です: リストリバース(REV)の定義を展開する前に: n : nat l' : natlist IHl' : rev (rev l') = l' ============================

    0

    2答えて

    Coq's XML Protocol document (for the Add operation)には、<int>${editId}</int>と表示されています。ここでeditIDは何ですか? 私はサイドバイトモードでcoqtopと対話できなかったため、これを尋ねました。例としてcoq-8.6.1/theories/FSets/FSetCompat.vを使用して、私は <call val="

    0

    1答えて

    私が証明する必要があります: i < Datatypes.length (l0 ++ f :: nil) -> H 私はi < Datatypes.length l0とi = Datatypes.length l0用に別の仮説を持っています。