コンテキスト: 私はSoftware Foundationsの演習に取り組んでいます。
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
(私が完全に間違っている場合を除き、解決のために何も与えないでください)。