我怎麼能證明這兩個語句是相等的:解決平等/不平等的目標,COQ代碼
Val.shru(Val.and一(Vint的B))(Vint的C)= Vint的? 3434/\?3434 <> d
Val.shru(Val.and一個(Vint的b))的(Vint的c)中<> d
的概念是相當簡單的,但停留在尋找正確的戰術來解決它。這實際上是引理我要證明:
Require Import compcert.common.Values.
Require Import compcert.lib.Coqlib.
Require Import compcert.lib.Integers.
Lemma val_remains_int:
forall (a : val) (b c d: int),
(Val.shru (Val.and a (Vint b)) (Vint c)) <> (Vint d) ->
(exists (e : int), (Val.shru (Val.and a (Vint b)) (Vint c)) = (Vint e) /\ e <> d).
Proof.
intros.
eexists.
...
Admitted.
感謝,
你有一個引理指出形狀的任何條款'Val.shru foo'可以改寫成一個'Vint酒吧'?這裏的主要問題是,你需要展示'e'來證明你的目標的左手邊。 – Vinz