将所有出现的归纳变量拉入 Isabelle 中的结论

Pull all occurrences of the induction variable into the conclusion in Isabelle

我发现这本书 "Isabelle/HOL: A Proof Assitant for Higher-Order logic" 是改进 Isabelle 中应用式编码的一个很好的参考。在书中的几个部分(例如第 9.2 节)中,作者指出一个好的归纳启发式是:

pull all occurrence of the induction variable into the conclusion using ⟶

但他们这样做的方式是用 ⟶ 而不是 ⟹ 将目标重申为引理。我想以应用方式自动执行此操作。我当前的目标是以下形式:

⋀ param. A ⟹ B

你会如何使用 apply-style 将 A 拉入结论?

本机解决方案是使用方法 atomize,例如apply(atomize (full))(参考手册第 9.5 节)。此外,您可以使用 apply(erule rev_mp).