The problem states:
Express this statement in the terms of a quantifier:
There is a major such that there is a student in the class
in every year of study with that major.
My response was:
∃x∃y∀z [x=major y=student z=year]
The graders response was that I needed a predicate function and that my logic was incorrect.
If i changed it to:
∃x∃y∀z(InClass(xyz)) [x=major y=student z=year]
would that satisfy the need for a predicate function? Or do I need to be more explicit?
I still dont see that my logic is incorrect. What am I missing?
Best Answer
I think what the grader wanted was for you to write "major", "student" and "year" as predicate functions. It's not generally considered syntactically correct to write "major = x". Also, you need to change the order of your quantifiers:
$ \exists m \forall y \exists s[\mbox{InClass}(s) \wedge \mbox{Major}(s,m) \wedge \mbox{Year}(s,y)]$
That reads "there exists a major, and for all years, there exists a student in class, whose major is $m$ and whose years is $y$. Note how everything is in predicate form. Note also the contextual meaning of the problem. There is no student who is in every year of study for major $m$, as suggested by your sentence. That would be silly, besides violating school policy. Rather, there is a separate student for each year.