I want to translate some sentences into predicate logic [based off the text "Language, Proof and Logic" (Barwise, Etchemendy) 1st ed].

The sentences are as follows:

  1. Only in front of large objects is nothing.
  2. Each tetrahedron is in front of all dodecahedra.
  3. No tetrahedron is the exact same size as a cube.

  4. Every small cube is to the left of a large tetrahedron.

  5. there is a large tetrahedron which lies to the right of every cube.
  6. nothing is behind a cube.

I have formulated solutions and tested them using the program Tarski's World using worlds in which I expect the sentences to be true and worlds in which I expect the sentences to be false.

  1. $\forall x ( Large(x) \to \neg \exists y \ FrontOf(y,x))$
  2. $\forall x \forall y \ ((Tet(x) \land Dodec(y)) \to FrontOf(x,y))$
  3. $\neg \exists x \ (Tet(x) \land \exists y (Cube(y) \land SameSize(x,y)))$

  4. $\forall x \ ((Small(x) \land Cube(x)) \to \exists y (Large(y) \land Tet(y) \land LeftOf(x,y)))$

  5. $\forall x \ (Cube(x) \to \exists y \ (Tet(y) \land Large(y) \land RightOf(y,x)))$
  6. $\exists x \ (Cube(x) \to \neg \exists y \ BackOf(y,x)) $

Could anyone please verify that the sentences are correct/have been sensibly formulated? Does anyone have alternative suggestions?


2 Answers 2


Only in front of large objects is nothing.

$∀x~(\operatorname{Large}(x)\to\lnot \exists y~\operatorname{FrontOf}(y,x))$

I am translating this as: "In front of all large objects is only nothing".

That is not the same as saying "Only in front of large objects is nothing," which is that "Something is in front of all not-large objects."

$$\forall x~(\neg\operatorname{Large}(x)\to\exists y~\operatorname{FrontOf}(y,x))$$

This may just be the way that I parse the sentence, but the adverb "only" does seem to modify the placement rather than the existance.

I have no disagreements with the others. They seem fine to me.

  • $\begingroup$ +1 for pointing out the ambiguity of casual English. Same goes for #6 which I would tend to read as "nothing is behind any cube" rather than "there exists a cube behind which is nothing". $\endgroup$
    – dxiv
    Commented Jul 12, 2018 at 5:31

Your 6 is not correct. Now, as dxiv points out in the comments, 6 actually has two different interpretations, but your translation does not capture either of them.

The first reading of 6 is:

"There is a cube with nothing behind it".

In logic, this would be:

$$\exists x (Cube(c) \land \neg \exists y \ BackOf(y,x))$$

The second reading is:

"Nothing is behind any cube"

which translates as:

$$\neg \exists x (Cube(x) \land \exists y \ BackOf(y,x))$$

Note in both cases you get a $\land$ in combination with an $\exists$ ... this is what very often* happens when you translate into first-order logic: $\forall$'s tend to go hand in hand with $\rightarrow$, while $\exists$'s tend to go with $\land$'s .. this is not a strict rule, but many English sentences, when translated, end up as such. Indeed, this is how I immediately spotted your mistake for $6$: I just scanned for those combinations, and when I saw your $\exists$ together with a $\rightarrow$, I knew there was a good chance your translation was wrong.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .