伊莎贝尔:理解量词的使用

Isabelle: understanding the use of quantifiers

我发现我可以证明以下引理,这对我来说似乎是错误的。

lemma assumes "∀a b. f a > f b ∧ a ≠ b"
shows "∀a b. f b > f a"
using assms by auto

上面的引理怎么可能是真的? Isabelle 是否像我使用 ∀ 量词那样替换值?如果是这样,我想说明对于 a 和 b 的所有值,f(a) 都大于 f(b),我该怎么做?

你陈述的引理是平凡的。几乎是 "A ==> A" 的直接实例。根据您的假设,可以简单地得出 ∀a b. f a > f b 的结论。然后通过适当地重命名绑定变量,我们获得 ∀b a. f b > f a。此外,所有量词可以重新排序以获得 ∀a b. f b > f a.

为什么看起来是假的?您是说对于任何 a 和 b,f a > f ba ≠ b。这意味着如果说 a = 0b = 1 那么 f 0 > f 1 但当 a = 1b = 0 也意味着 f 1 > f 0.

此外,您假设 ∀a b. f a > f b ∧ a ≠ b 为真,这意味着您假设对于任何 a 和 b,f a > f b AND a 不同于 b。这通常是错误的,因为您不能 ∀a b. a ≠ b

也许您的意思是:∀a b. (a ≠ b ==> f a > f b)?例如。对于任何 a 和 b,如果 a ≠ b 那么 f a > f b?请注意,根据上面的示例,这仍然意味着 f b > f a,它实际上没有任何意义。