# Predicate logic - formula to sentence with a given domain

I need to transform the following formula to a sentence, given the domain = {1,2}:

``````∀x (P(x)-> ∃y Q(x, y))
``````

My solution is:

``````1. (P(1)-> ∃y Q(1, y)) ^ (P(2)-> ∃y Q(2, y)) - remove universal
2. ( (P(1)-> Q(1, 1)) v (P(1)-> Q(1, 2)) ) ^ ( (P(2)-> Q(2, 1)) v (P(2)-> Q(2, 2)) ) - remove existential
``````

However a third party program I'm using says the 1st line is ok but not the 2nd, without giving much feedback. So excluding that the formatting is the issue, what's the problem?

I compared my exercise to a similar one, with same domain, already solved.

``````∀x∃y (Q(x)-> P(y,x))
``````

Solution:

``````((Q(1) -> P(1,1)) v (Q(1) -> P(2,1))) ^ ((Q(2) -> P(1,2)) v (Q(2) -> P(2,2)))
``````

Independently of the meaning of each predicate, isn't `∀x (P(x)-> ∃y Q(x, y))` same as `∀x∃y (Q(x)-> P(y,x))` ?

• The correct solution must be: (P(1)-> (Q(1, 1) v Q(1, 2))) etc May 22, 2021 at 12:51

So excluding that the formatting is the issue, what's the problem?

`P(1)-> ∃y Q(1, y)` translates directly to `P(1)-> (Q(1, 1) v Q(1, 2))`

Stop there. That is all you were asked to do. You don't need to take any extra steps, especially when submitting to an automated answer checker. It's likely finicky about the answer it expects and will not accept an equivalent form.

• Thx for your answer. It seems the automated answer checker I'm using is a bit tricky.
– tec
May 22, 2021 at 15:12

Just figured it out.

It seems I should have deleted 1st the existential then the universal. I don't see the difference, the result was going to be the same.

Now it's working.

• Your automated answer checker must start from inside to outside like chain rule... May 22, 2021 at 22:22
• This is not an answer .... May 24, 2021 at 14:17