在替换伊莎贝尔(Substitution in Isabelle)

2019-10-22 05:20发布

在许多纸证明你看到作者的替代变量方程。 例如,如果有一个不等式“F(XY)> = G(XY)* Z,作者简单地写入令h =(XY),因此 “F(H)> = G(H)* Z”,并继续与证明。

要做到在伊莎贝尔一样,我会假设H =(XY),有没有做一些其他的方式? 我看了看“让”,然而功能,做完全不同的事情。

具体来说,我有:

lemma
fixes f g :: "real⇒real"
assumes "∀x∈S. ∀y∈S. f y - f x ≥ (y-x)*(g x)"
shows "∀x∈S. ∀h. f (x+h) - g x ≥ h*(g x)"

所以我又让H = YX。

如果我认为 “∀h。∀x∈S。∀y∈SH = YX” 我可以证明这个引理。 这是正确的做法?

Answer 1:

有各种可能性进行置换。

如果你有一些语句元量词,你可以只使用whereof 。 要打开量词在公式中成元FORALL,例如,你可以使用rule_format 。 然后, assms[rule_format, of x "h+x"]在您的示例收率式x ∈ S ⟹ x + h ∈ S ⟹ f (x + h) - fx >= (x + h - x) * gx

在这里,您可以立即看到了两个问题:首先之间的差异- fx- gx ,而且它不能保证问题x + h ∈ S

替代方案中,还可以通过展开,例如执行替换,通过使用def h = "x - y" ,然后折叠或展开h_def



文章来源: Substitution in Isabelle
标签: isabelle