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
おそらく[リング戦術](https://coq.inria.fr/refman/Reference-Manual028.html)を調べることをお勧めします。 – gallais
@gallais:Thx。フィールド戦術はこの段階で失敗する。私は、 "1"という言葉を取り除かなければならないと思います。私は展開しようとしましたが、それは私が恐れている良い考えではありません。 – FZed
'ring'を試しましたか?あなたはここで 'フィールド 'のすべての力を必要としません。 「1」は何を展開するのですか?私は本当にそれを展開することをお勧めしたいと思います。 – gallais