2017-02-09 1 views
3

Coquelicotをmathcomp/SSreflectの上にインストールしました。基礎学部計算のためのCoquelicotライブラリ

私はまだ標準Coqを習得していなくても、非常に基本的な実際の分析を実行したいと思います。

これが私の最初の補題です:

Definition fsquare (x : R) : R := x^2. 
Lemma deriv_x2 : forall y, is_derive (fsquare) y (2 * y). 

is_derive f x0 f'は機能f at x0 is f'の派生と述べてCoquelicotプロップです。

私は既にこの補助定員を証明しました。auto_derive Coquelicotが提供する戦術です。

私は少し汚れた私の手を取得したい場合は、これはauto_deriveなしで私の試みです:

Lemma deriv_x2 : forall y, is_derive (fsquare) y (2 * y). 
Proof. 
    move => y. 
    unfold fsquare. 
    evar_last. 
    apply is_derive_pow. 
    apply is_derive_id. 
    simpl. 

そして今、私はこの保留の判断で立ち往生しています:

1 subgoal 
y : R_AbsRing 
______________________________________(1/1) 
2 * one * (y * 1) = 2 * y 

私は解決するにはどうすればよいですそれ ?

EDIT

私はringを呼び出す場合、私が手:

Error: Tactic failure: not a valid ring equation. 

私は1つを展開すると、私が手:

1 subgoal 
y : R_AbsRing 
______________________________________(1/1) 
2 * 
Ring.one 
    (AbelianGroup.Pack R_AbsRing (Ring.class R_AbsRing) R_AbsRing) 
    (Ring.class R_AbsRing) * (y * 1) = 2 * y 
+0

おそらく[リング戦術](https://coq.inria.fr/refman/Reference-Manual028.html)を調べることをお勧めします。 – gallais

+0

@gallais:Thx。フィールド戦術はこの段階で失敗する。私は、 "1"という言葉を取り除かなければならないと思います。私は展開しようとしましたが、それは私が恐れている良い考えではありません。 – FZed

+1

'ring'を試しましたか?あなたはここで 'フィールド 'のすべての力を必要としません。 「1」は何を展開するのですか?私は本当にそれを展開することをお勧めしたいと思います。 – gallais

答えて

4

は[OK]を、それは私に少し時間がかかりましたssreflect & Coquelicotをインストールして、適切なインポートステートメントを見つけてください。ここに行きます。

主なポイントはoneが実際にちょうどR1ボンネットの下にあるが、simplがそれを明らかにするのに十分な積極的ではないということである:あなたの代わりにcomputeを使用する必要があります。 Rと変数に生の要素しかない場合、ringが目標を処理します。

Require Import Reals. 
Require Import Coquelicot.Coquelicot. 
Require Import mathcomp.ssreflect.ssreflect. 

Definition fsquare (x : R) : R := x^2. 

Lemma deriv_x2 : forall y, is_derive (fsquare) y (2 * y). 
Proof. 
    move => y. 
    unfold fsquare. 
    evar_last. 
    apply is_derive_pow. 
    apply is_derive_id. 
    compute. 
    ring. 
Qed. 
+0

OPはすでに 'auto_derive'を知っていますが、"手を少し汚れた "ものにしたいと思っていました。 ;) – gallais

+0

インストールと分析に努力しているThx。感謝します。メルシ。 – FZed

+0

いいえ、@ FZed。私は新しいSSReflect book(https://math-comp.github.io/mcb/)を読んで、すべてをインストールするための良い言い訳を見つけたので、私は練習問題を解決しようとするかもしれません。 :) – gallais

関連する問題