引理不能用作提示

时间:2013-03-06 01:26:29

标签: coq

为什么Coq不接受这个引理作为暗示?

Lemma contr : forall p1 : Prop, False -> p1.
Proof. tauto. Qed.

Hint Resolve contr : Hints.

或以Prop变量结尾的其他词条?

1 个答案:

答案 0 :(得分:0)

查看Hint Resolvehttp://coq.inria.fr/distrib/V8.4/refman/Reference-Manual011.html#@command232)的文档:

term cannot be used as a hint

The type of term contains products over variables which do not appear in the conclusion. A typical example is a transitivity axiom. In that case the apply tactic fails, and thus is useless.

然而,在我看来这似乎不是这样的,因为唯一的产品超过了p1,它确实出现在结论中。

这里的问题似乎是你的结论完全没有形状。 auto似乎通过将目标的形状与提示数据库的返回类型的形状相匹配来工作。在这里,你的目标只是一个量化的变量,这可能会让你感到不安。我不确定这是否是一个合理的事情,但这个特定的实例可能是你可能有这样一个无形的返回类型的唯一情况(显然SetType的情况相同),所以这不是什么大问题。

那么,您可能不需要这个作为提示吗?...只需使用tautointuition等策略或对类型值执行任何类型的消除/破坏/反转在您的环境中False ......不是很满意,但是呃:\