p(x)⇒∀x.p(x) 是偶然的?

p(x)⇒∀x.p(x) is contingent?

我遇到一个问题问流水句是不是valid/contingent/unsatisfiable:

p(x)⇒∀x.p(x) 

我认为答案是句子有效。在此处的教科书第 6.10 节下 http://logic.stanford.edu/intrologic/secondary/notes/chapter_06.htmlsays

a sentence with free variables is equivalent to the sentence in which all of the free variables are universally quantified.

Therefore 我认为第一个关系句 p(x) 等于∀x.p(x) 因此这个句子是有效的,即。它永远是真的。

然而,正确答案是句子是偶然的,即。在某些真值分配下它是真的,而在其他一些真值分配下它是假的。

那么为什么句子是偶然的?答案是错误的吗?

我认为这取决于你如何阅读句子。

如果您将其视为定义,则它不是偶然的。

但是,如果你把它当成纯逻辑来读的话……那么这个语句中的x其实有2个意思。蕴涵左边的x和右边量化的x不同

p(x) => for all x . p(x)

的含义相同
p(x) => for all y . p(y)

这显然是偶然的。并非所有谓词都如此 p.

(例如:

  1. p(x)代表谓词"x is left handed"
  2. 声明然后说:

     X is left-handed implies that everyone is left-handed.
    

    ...这不是逻辑上有效的语句。


查看@sawa 的回答以获得更多"mathematically rigorous" 解释。

您有一个声明:

p(x)⇒∀x.p(x)

如果你普遍关闭自由变量,你会得到:

∀x.(p(x)⇒∀x.p(x))

换句话说:

∀x.(p(x)⇒∀y.p(y))

这不是重言式,而是偶然的。用非技术术语来说,它是:

for any x, if p(x) is true, then p(y) is true for all y

或者,将其转换为等效形式:

(∃x.p(x))⇒(∀y.p(y))

上面写着:

if p(x) is true for some x, then p(y) is true for all y

换句话说,

p(x) is either always true or always false