[Math] How to represent the following sentences in first-order logic

logic

Represent the following sentences in first-order logic, using a consistent vocabulary(which you must define):

a) Some students took French in spring 2001.
b) Every student who takes French passes it.
c) Only one student took Greek in spring 2001.
d) The best score in Greek is always higher than the best score in French.
e) Every person who buys a policy is smart.
f) No person buys an expensive policy.
g) There is an agent who sells policies only to people who are not insured.

Best Answer

Let me address the first three sentences (since they form a maximal coherent collection of sentences).

We have a use for the following five predicates:

  • $\mathsf{Student}(x)$: $x$ is a student;
  • $\mathsf{French}(y), \mathsf{Greek}(y)$: $y$ is the course in French, resp. Greek;
  • $\mathsf{Take}(x,y)$: $x$ (student) takes $y$ (course);
  • $\mathsf{Pass}(x,y)$: $x$ (student) passes $y$ (course);
  • $\mathsf{TakeInSpring2001}(x,y)$: $x$ (student) takes $y$ (course) in Spring 2001.

Now we can formulate the sentences as follows:

a) $\exists x\exists y: \mathsf{Student}(x) \land \mathsf{French}(y) \land \mathsf{TakeInSpring2001}(x,y)$

b) $\forall x\forall y: (\mathsf{Student}(x) \land \mathsf{French}(y) \land \mathsf{Take}(x,y)) \implies \mathsf{Pass}(x,y)$

c) $\exists x\exists y\forall z: \mathsf{Student}(x) \land \mathsf{Greek}(y) \land \mathsf{TakeInSpring2001}(x,y) \land ((\mathsf{Student}(z) \land \mathsf{TakeInSpring2001}(z,y))\implies x = z)$

The other five shouldn't be hard once one understands the above three. A different approach would be to use more specific predicates (e.g. $\mathsf{FrenchInSpring2001}(x)$ as suggested in the comments), but that would defeat the "consistent vocabulary" requirement of the question IMO.