How to correctly translate "Every pentagon has something in the same row" to first order logic? 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?


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.
