I'm trying to translate the following $3$ sentences from English to predicate logic.

If anyone on the plane is small, then everyone on the plane is not from USA.

  • $A$ = on the plane
  • $B$ = is small
  • $C$ = from USA

$$\forall x \left( A(x) \to B(x) \to (\neg \square x A(x) \to C(x) )\right)$$

People on the plane don't like people on the ground.

  • $A$ = people on the plane
  • $B$ = don’t like
  • $C$ = people on the ground

∀x∃y(A(x,y) →B = C(x,y))

Everyone on the plane loves each other, but no one else.

  • $A$ = Everyone on the plane
  • $B$ = loves each other
  • $C$ = but no one else

∀x(A love (B)→ ¬∃x love(C))

Is this correct? If not, what would the correct answers be? I've been trying for hours and this is the best I could come up with. Thank you!

  • 1
    $\begingroup$ You are mixing propositions (from propositional calculus) like A = Everyone on the plane and predicates, like A = on the plane. It will never work that way. $\endgroup$ – Mauro ALLEGRANZA Mar 12 '18 at 12:27
  • $\begingroup$ In 2 you are using B= doesn’t like; to "embed" the negation sign into the predicate can cause problems. $\endgroup$ – Mauro ALLEGRANZA Mar 12 '18 at 13:32
  • $\begingroup$ In 2 you have B = C(x,y), i.e. you are "equating" a predicate without arguments to a formula: it is wrong. The equality sign needs terms (i.e. "names"): either variables or constants. $\endgroup$ – Mauro ALLEGRANZA Mar 12 '18 at 13:32
  • $\begingroup$ What does $\square$ denote? $\endgroup$ – Rodrigo de Azevedo Mar 13 '18 at 13:26

Regarding number 1:

First, as Bram28 mentions, there's a bit of an issue about scope (i.e. where you've put the parentheses) here. You can see that something's gone wrong by noticing that the string $A(x) \to B(x) \to$ appears in the middle of your predicate-logic expression. But there's no way to get a string like that by legitimate expression-forming operations! Remember, arrows always show up in expressions of the form $(P \to Q)$: so you could make something of the form $((P \to Q) \to R)$ or $(P \to (Q \to R))$, but not of the form $(P \to Q \to R)$. (A caveat: people will often write expressions like $(P \land Q \land R)$. But this is only acceptable because $((P \land Q) \land R)$ is logically equivalent to $(P \land (Q \land R))$: since $((P \to Q) \to R)$ is not equivalent to $(P \to (Q \to R))$, you can't do that here).

So what should you do? First, notice that the basic form of that sentence is "if P, then Q". So we know that we're looking for something of the form $$(P \to Q)$$ Next, let's figure out what $P$ is. The English statement is "anyone on the plane is small". Now, you've gone for the universal quantifier here, which would mean that this means the same thing as "everyone on the plane is small". In this context, though, the phrase "if anyone on the plane is small" is the same thing as saying "if someone on the plane is small", i.e. if there is someone who is both on the plane and small. So we should use the existential quantifier, and replace $P$ by $\exists x (Ax \land Bx)$. (This is a difficult one, since "any" in English is ambiguous - in most contexts "any" is a universal quantification (e.g. "any dream will do", "for any natural number $n$, ..."). It tends to be read as an existential quantification when it's in a conditional like this, though. For another example, consider "if any here knows of any reason why these two should not be wed, let them speak now...": this applies if there is some person who knows of some reason, not if everyone knows of every reason!)

Now for $Q$, "everyone on the plane is not from USA". Again, look out for scope here: there's a difference between "not everyone on the plane is from USA" and "everyone on the plane is not from USA". Your predicate formula, $\lnot\forall x (Ax \to Cx)$, is a formalisation of the former phrase. To formalise the latter, think of it as saying "for every person on the plane, that person is not from USA": or even more explicitly, "for every person, if they are on the plane, they are not from the USA". So we replace $Q$ by $\forall x (Ax \to \lnot Cx)$. So, replacing $P$ and $Q$ by these, we get for the whole thing $$(\exists x (Ax \land Bx) \to \forall x (Ax \to \lnot Cx))$$

I won't go through 2 and 3 in detail like this, since you should hopefully be able to use the above as a guide to figure out what to do. But here are suggestions for what to formalise:

  • Let $Ax$ symbolise "$x$ is on the plane"
  • Let $Lxy$ symbolise "$x$ likes $y$"
  • Let $Gx$ symbolise "$x$ is on the ground"
  • Let $Hxy$ symbolise "$x$ loves $y$"

These should be all the predicates you need: in particular, you don't need a predicate for phrases like "but no one else".


You're very close on the first one, but it does have a few problems:

First, recognize that the statement is an 'if ... then ...' statement, where both the 'if' part and the 'then' part are quantificational statements. Also, 'if there is any one ...' means: 'If there is someone ...'. So, break it up as:

'Someone on the plane is small' $\rightarrow$ 'everyone on the plane is not from the USA'

Now, 'Someone on the plane is small' translates to:

$\exists x (A(x) \land B(x))$

the second subsentence is:

$\forall x (A(x) \rightarrow \neg C(x))$

OK, so plug those in and you get:

$\exists x (A(x) \land B(x)) \rightarrow \forall x (A(x) \rightarrow \neg C(x))$

Also, I would recommend that you use more 'informative' letters. For example, use:

$S(x)$: '$x$ is small'

$P(x)$: '$x$ is on the plane'

$U(x)$: '$x$ is from USA

So then the sentence becomes:

$\exists x (P(x) \land S(x)) \rightarrow \forall x (P(x) \rightarrow \neg U(x))$


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.