证明有一点
Theorem negb_is_not : (forall a, Is_true (negb a) <-> (~(Is_true a))).
来自Coq的tutorial,我被卡住了。当False
被证明为&#34; False无法证明&#34;时就是这种情况。我该如何应对?
Theorem negb_is_not : (forall a, Is_true (negb a) <-> (~(Is_true a))).
Proof.
intros A.
unfold iff.
refine (conj _ _).
case A.
simpl.
intros H.
destruct H.
intros H.
simpl in H.
simpl.
unfold not.
intros.
exact H0.
unfold not.
intros H.
case A.
simpl.
destruct H.
case A.
simpl.
exact I.
simpl.
Focus 2.
simpl.
exact I.
我想我在教程中错过了一些重要的事情。
答案 0 :(得分:0)
好的,经过一些重写,我能够写下这个证据:
Theorem negb_is_not : (forall a, Is_true (negb a) <-> (~(Is_true a))).
Proof.
intros A.
unfold iff.
refine (conj _ _).
case A.
simpl.
intros H.
case H.
simpl.
intros.
unfold not.
intros.
exact H0.
case A.
simpl.
unfold not.
intros.
refine (H _).
exact I.
simpl.
unfold not.
intros.
exact I.
Qed.