[Math] Are these logical predicate translations valid

logicpredicate-logic

In this problem in Problem set(1) of MIT's 6.042:

Translate the following sentences from English to predicate logic.

The domain that you are working over is X, the set of people. You may use the functions S(x), meaning that “x has
been a student of 6.042,” A(x), meaning that “x has gotten an ‘A’ in 6.042,” T(x), meaning
that “x is a TA of 6.042,” and E(x, y)
, meaning that “x and y are the same person.”

  • (a) [6 pts] There are people who have taken 6.042 and have gotten A’s
    in 6.042
  • (b) [6 pts] All people who are 6.042 TA’s and have taken 6.042 got
    A’s in 6.042
  • (c) [6 pts] There are no people who are 6.042 TA’s who did not get
    A’s in 6.042.
  • (d) [6 pts] There are at least three people who are TA’s in 6.042 and
    have not taken 6.042

This is my solution:
$$
\exists x \in X. A(x)
$$
$$
\forall x \in X. T(x) \rightarrow A(x)
$$
$$
\forall x \in X. \neg (T(x) \wedge \neg A(x) )
$$
$$
\exists x \in X. ( T(x) \wedge \neg S(x) )
$$

Are these correct? And if so how could I've used E(x,y)??

Best Answer

It is a matter of what is used in your course, but because the domain is the set of all people, I would leave out the $\in X$ everywhere.

For (b), it should be something like $\forall x((T(x)\land S(x))\rightarrow A(x))$.

For (d), the following will work: $$\exists x\exists y\exists z(T(x)\land T(y)\land T(z)\land \lnot E(x,y)\land \lnot E(y,z)\land \lnot E(z,x) \land \lnot S(x)\land \lnot S(y)\land \lnot S(z)).$$ (Formally, this is not quite right, since we need many more parentheses.)

Related Question