我在伊莎贝尔模仿this calculus作为练习。 Here's my code so far.
我使用大锤来证明简单的定理,这些定理通常建议使用补充了微积分规则子集的爆炸,例如:
by (blast intro: DH_bdiam2_f Fbox2_R l2)
如果我尝试使用simp添加相同的规则,那就可以正常工作,例如:
by (simp only: DH_bdiam2_f Fbox2_R l2)
我收到的错误是没有适用的规则
Failed to apply initial proof method⌂:
到底发生了什么?我期待simp要么终止要么超时,但肯定不是这样。我错过了什么?
答案 0 :(得分:3)
这是当策略未能生成证明步骤时获得的错误消息。对于simp
,没有规则匹配的情况(即不能用DH_bdiam2_f
重写......是不可能的)。查看代码,这些规则来自归纳谓词。通常,这些不适合作为重写(=简化)规则。在整个Programming and Proving in Isabelle/HOL中分散,有关于什么是合适的简化和介绍规则的提示,以及有关适用的策略的解释。