在编写程序时refine
,我试图inversion
在目标是. 这是我尝试做的证明的简化版本。False
Type
Lemma strange1: forall T:Type, 0>0 -> T.
intros T H.
inversion H. (* Coq refuses inversion on 'H : 0 > 0' *)
Coq 抱怨
Error: Inversion would require case analysis on sort
Type which is not allowed for inductive definition le
但是,由于我什么都不做T
,所以没关系,...或?
我摆脱了T
这样的,证明通过了:
Lemma ex_falso: forall T:Type, False -> T.
inversion 1.
Qed.
Lemma strange2: forall T:Type, 0>0 -> T.
intros T H.
apply ex_falso. (* this changes the goal to 'False' *)
inversion H.
Qed.
Coq 抱怨的原因是什么?仅仅是 , 等方面的缺陷inversion
吗destruct
?