开始使用Coq和"软件基金会"问题,我遇到了以下例子:
Theorem plus_O_n : forall n : nat, 0 + n = n.
Proof.
intros n. simpl. reflexivity. Qed.
证明这很好。然而,当我尝试右侧方程式时;
Theorem plus_n_O : forall n, n = n + 0.
Proof.
intros n. simpl. (* Doesn't do anything! *)
事实上,这是本书中的一个练习,为什么simpl
在这种情况下不起作用。我试图变得聪明,所以我使用symmetry
来反转方程式。
Theorem plus_n_O : forall n, n = n + 0.
Proof.
intros n. simpl. symmetry. simpl. (* Doesn't do anything still!!! *)
但仍然没有bueno。它特别奇怪,因为symmetry
按预期工作,并使我的目标与plus_O_n
形式相同。