Converting English to predicate logic

56 Views Asked by At

Given the following:

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

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

I have come up with the following, but am unsure of whether my logic is correct:

a) $$\exists x \in X, S(x) = A(x) $$ - i.e. there exist people in the set X who have taken the course and have gotten an A for it.

b) $$\exists x \in X, T(x) = S(x) \Rightarrow A(x) $$ - i.e. there is an implication here that if you are a TA and you have taken the course, then you would have received an A for it.

c) $$ \forall x \in X, T(x) \Rightarrow A(x) $$ -i.e. for all people in X, if you were a TA then it implies you got an A for the Course101.

d) $$\exists x,y,z \in X, T(x) \nRightarrow S(x)$$ $$T(y) \nRightarrow S(y)$$ $$T(z) \nRightarrow S(z)$$ - i.e. there exists 3 people in X whereby being a TA does not imply that you took the Course101.

I get the impression, that some of these are wrong or a bit off, even though they seem right to me, I'm sure there is probably a far more water tight way of expressing these predicates, but I am battling getting there. Any hints in the right direction would be most welcome.