How to correctly translate "Every pentagon has something in the same row" to first order logic?

38 Views Asked by At

I'm playing around with the Tarski's world application (which is a grid with different shapes of different sizes that can be placed on each of the cells of the grid) and I can't get my translation of the predicate "Every pentagon has something in the same row" to evaluate correctly. My translation is:

$\forall x \exists y (Pentagon(x) \implies SameRow(x, y))$

Here I'm basically saying that if $x$ is a pentagon, then it is always the case that there exists some other shape in the same row as $x$ (or at least thats what I think I'm saying), however when I test this in Tarski's world, the predicate evaluates to True even when nothing else but a pentagon is placed on a row. What is the error here?

1

There are 1 best solutions below

1
On BEST ANSWER

The predicate evaluates to True even when nothing else but a pentagon is placed on a row. What is the error here?

Note that pentagon itself is also 'something'

It evaluates as true is because the predicate $SameRow$ is taking $x$ as both parameters like:

$$SameRow(x,x)$$

What you think actually is:

$$\forall x \exists y (Pentagon(x) \implies (x\neq y \land SameRow(x, y)))$$

where $x\neq y$ stand for have distinct object.