How to represent the following in predicate logic

151 Views Asked by At

I'm struggling to represent the following in logic:

"When he was watching people in game, Jason only seen people on 2 teams."

The relations include: watching(x,y), IsOnTeam(x,y).

From my interpretation of the sentence, I got:

∃a∃b∀x( (-(a=b) ^ watching(Jason,x)) -> ( (IsOnTeam(x,a) | IsOnTeam(x,b)) ^ ∀y(IsOnTeam(x,y) -> (y=a|y=b))) ) )

Which in my head translates to: There Exists a team A and Exists a team B for All players such that team A!=team B, and if Jason is watching player X, then player X must be on team A or B, and if there is a team C, then C must be A or B.

I believe the last part is necessary to show that he could only see exactly 2 teams.

The second one I'm struggling with is:

"Everybody in game was playing"

For this I got:

∀x(Playing(x) -> ∃a(IsOnTeam(x,a))

Meaning for all people, if they were playing then there must be a team which they are playing on.

1

There are 1 best solutions below

6
On

Let $\cal{T}$ be the set of all teams and $\cal{P}$ the set of all people in the game. Then the sentence

When he was watching people in game, Jason only seen people on 2 teams.

can be written as

$$\exists A,B \in \mathcal{T}, \forall x \in \mathcal{P} : \text{watching}(\text{Jason},x) \wedge \big(\text{IsOnTeam}(A) \vee \text{IsOnTeam}(B))$$

I believe this is the right answer. Translating back to English would mean that

There exists teams $B$ and $C$ such that for all person $x$, Jason was watching $x$ and $x$ was on team $A$ or team $B$.

Note that you don’t have to guarantee that $A \neq B,$ because if it is the same team then

$$\begin{align} \text{IsOnTeam}(A) \vee \text{IsOnTeam}(A) \iff \text{IsOnTeam}(A) && (\text{Idempotent Law})\end{align}$$

Also, note that I am assuming that everybody is necessarily on a team.