[Math] Translate sentences in first-order logic

logiclogic-translationpredicate-logic

I need to translate the following sentence: "All mothers love their daughters".

I thought:

$\forall X \forall Y (mother(X) \wedge daughter(Y, X)) \Rightarrow love(X, Y)$

but on my book I found this solution:

$\forall X (mother(X) \wedge daughter(Y, X)) \Rightarrow love(X, Y)$

I can't get the difference.

Another doubt, is the following equivalent to my first solution?

$(\forall X mother(X) \wedge \forall Y daughter(Y, X)) \Rightarrow love(X, Y)$

Best Answer

The book solution is missing a quantifier on $Y$. I can't see any reason for this except that it must be a typo.

All three solutions involve use of commas, which is not standard punctuation in logic, and may lead to confusion and mistakes if you use them without being very careful about which logical content you mean by them. It is much better to write exactly what you want with actual logical connectives.

Written out completely, your first formula would be $$\tag{1} \forall X.\forall Y.(\operatorname{mother}(X) \land \operatorname{daughter}(Y,X)\to\operatorname{love}(X,Y)) $$ and I would say this is a correct solution, under the assumption that you're working with a uniary "mother" predicate rather than, say, a "female" predicate to distinguish mothers from fathers. It's a bit asymmetric to have "daughter" relation that tells about the gender of the offspring but not of the parent, so arguably a nicer representation would be $$\forall X.\forall Y.(\operatorname{female}(X) \land \operatorname{female}(Y) \land \operatorname{offspring}(Y,X)\to\operatorname{love}(X,Y)) $$ but the choice of which predicates to use in the model is something different from how to use the chosen predicates to write formulas, and it is probably the latter that is the point of this exercise.

The formula (1) above is equivalent to $$\tag{2} \forall X.\big(\operatorname{mother}(X) \to \forall Y.(\operatorname{daughter}(Y,X)\to\operatorname{love}(X,Y))\big) $$ which I thought was what you mean by your second formula before editing the question.

But notice that writing everything out, one of your commas has become a $\land$ and the other became a $\to$. Commas as really don't work well as do-what-I-mean logical operators. (And they won't be accepted in a classroom setting where the point of the exercise is to show that you actually know what you mean).

With a $\land$ instead of $\to$ you get $$\tag{3} \forall X.\big(\operatorname{mother}(X) \land \forall Y.(\operatorname{daughter}(Y,X)\to\operatorname{love}(X,Y))\big) $$ which is not the same as (1) and (2). It says, instead that everybody is a mother and loves whichever daughters she has.

And your formula in the edited question $$\tag{4} \big(\forall X.\operatorname{mother}(X) \land \forall Y.\operatorname{daughter}(Y,X)\big)\to\operatorname{love}(X,Y) $$ doesn't work at all -- it puts the quantifiers inside the parentheses, so they don't range over $\operatorname{love}(X,Y)$ at all. This is the same as saying $$\tag{4'} \big(\forall Z.\operatorname{mother}(Z) \land \forall W.\operatorname{daughter}(W,Z)\big)\to\operatorname{love}(X,Y) $$ which says "If every two random persons are mother and daughter then $X$ loves $Y$" and depends on the context for telling us who $X$ and $Y$ are.

Related Question