背景:我正在做软件基础的练习。
Theorem neg_move : forall x y : bool,
x = negb y -> negb x = y.
Proof. Admitted.
Theorem evenb_n__oddb_Sn : forall n : nat,
evenb n = negb (evenb (S n)).
Proof.
intros n. induction n as [| n'].
Case "n = 0".
simpl. reflexivity.
Case "n = S n'".
rewrite -> neg_move.
在最后一行之前,我的子目标是:
evenb (S n') = negb (evenb (S (S n')))
我想把它变成这样:
negb (evenb (S n')) = evenb (S (S n'))
但是,当我尝试单步执行rewrite -> neg_move
时,会产生此错误:
错误:无法找到变量 y 的实例。
我敢肯定这真的很简单,但我做错了什么?(请不要为解决问题而放弃任何东西evenb_n__oddb_Sn
,除非我做错了)。