Can we say in first order logic the following: Every person who loves everyone is good?

1.8k Views Asked by At

I have just started to learn the first order logic. I have learned that one can use predicated to specify relations between specific objects (or entities).

For example: $LocatedIn(Berlin, Germany)$

I have also learned that we can make statements like that:

$\exists x_1, \forall x_2. P(x_1, x_2, c_1)$

So, we have a "statement" and then instead of concrete objects we use variables and say that the statement is true for all (or at least one) arguments.

But can we use first order logic to express the following statement:

Every person who loves everyone is good.

So, I imagine something like that:

$\forall x_1. (Love(x_1, \forall x_2) \implies Good(x_1))$

But I think it is an invalid expression (because quantifier is insider of a predicate).

2

There are 2 best solutions below

0
On BEST ANSWER

You can express "$x$ loves everyone" with the formula $\forall y\, Loves(x,y)$, assuming, as we will in this example, that variables range over people only. You can express "if $x$ loves everyone then $x$ is good" with the formula $\forall y\, Loves(x,y) \to Good(x)$. [Note: the scope of $\forall y$ is only Loves(x,y), and doesn't extend to $Good(x)$.] Thus, "every person who loves everyone is good" can be represented by $$ \forall x\,(\forall y\, Loves(x,y) \to Good(x)). $$

3
On

You are correct in assuming the formula is invalid because of the presence of a quantifier inside a predicate. The following formula captures the essence of your English sentence: $$\forall x_1 (\forall x_2 (\mathop{\mathrm{Love}}(x_1,x_2)) \rightarrow \mathop{\mathrm{Good}}(x_1)).$$