使用auto和eauto在Coq中重写任何地方,包括上下文

时间:2015-05-10 22:41:32

标签: coq

假设我有一个平等,比如app_assoc,我希望autoeauto只要左手边出现在任何地方就会重写,包括上下文。这意味着无论目标是什么样的,都必须执行重写。这可能吗?

我认为通配符运算符_代表任何目标'在模式匹配中,所以我试过

Hint Extern 1 ( _ ) => rewrite app_assoc in *.

但是我收到了错误消息Error: Bound head variable.有什么方法吗?

1 个答案:

答案 0 :(得分:1)

这是一条错误的错误消息,我已经报告了a bug about it。 Coq告诉你用_开始你的模式是一个错误(虽然我猜错误信息只写了变量案例 - 我甚至不知道Hint Extern 1 (fun k => k) => exfalso.但是会发出信号,因为你不能将lambda作为目标)。正确的解决方案是

Hint Extern 1 => rewrite app_assoc in *.