Translate the following sentences into predicate logic language. Use the following translation key:

a ~ Anne

b ~ Bob

M(x) ~ x is male

G(x,y) ~ x is married to y

C(x,y) ~ x is a child of y

a) Anne has exactly two kids, both of which are married to Bob

b) All grandparents have or only daughters, or exactly two sons, or they are childless.

I'm struggling with this, especially the last sentence. Is this correct?

a) $\exists x \exists y (C(x,a) \wedge C(y,a) \wedge \neg x=y \wedge \neg \exists z ( C (z,a) \wedge \neg z =x \wedge \neg z = y) \wedge G(x,b) \wedge G(y,b)).$

b) $\forall x \exists y \exists z ( C(y,x) \wedge C(z,y) \implies (\forall u (C(u,x) \implies \neg M(u)) \vee (\exists v \exists w (C(v,x) \wedge C(w,x) \wedge M(v) \wedge M(w) \wedge \neg v = w \wedge \neg \exists s (C(s,x) \wedge \neg s = v \wedge \neg s = w))) \vee \neg \exists t (C(t,x))))$

My head is exploding right now. xP I'm not sure about the brackets and the quantifiers.

Thanks is advance.

  • $\begingroup$ I'm not sure about the not $\neg x = y$ part...it looks like you're trying to say that they're both distinct, but negation only applies to true/false, as I understand it. $\endgroup$ Commented May 2, 2013 at 0:41
  • $\begingroup$ "Have only daughters, ..."? $\endgroup$ Commented May 2, 2013 at 0:43
  • $\begingroup$ The (not) $x=y$ part is necessary to ensure the two kids chosen aren't the same... $\endgroup$ Commented May 2, 2013 at 0:44
  • 3
    $\begingroup$ How can a grandparent be childless? Do we need a 'dead' predicate? $\endgroup$ Commented May 2, 2013 at 0:47
  • $\begingroup$ @Sharkos I know right, it's stupid, but that's what the exercise states. $\endgroup$
    – Jeroen
    Commented May 2, 2013 at 0:48

2 Answers 2


Two tips: 1) It sometimes helps to rephrase the sentence into an equivalent English-sentence that looks easier to analyze. 2) Often times, you can break down the sentence to make it easier to parse. If you have trouble wrapping your head around the sentence, try phrasing it in a slightly more suggestive way. For instance:

"Every grandparent is such that either they have only daughters, or they have exactly two sons, or they have no children."

In general, "Every $\varphi$ is such that $\psi$" gets translated into the predicate calculus as $\forall x (\varphi(x) \rightarrow \psi(x))$. Your $\varphi(x)$ here is "$x$ is a grandparent", whereas your $\psi(x)$ is "$x$ either has... (etc.)". So overall, the translation should look like this:

$\forall x(x \text{ is a grandparent} \rightarrow x \text{ either has only daughters, or exactly two sons, or is childless})$

So if you can figure out how to say "$x$ is a grandparent" and "$x$ either has only daughters, or has exactly two sons, or is childless", then you'll know how to translate the sentence.

How do you say "$x$ is a grandparent"? Basically, it amounts to saying that $x$ has some child, who also has some (other) child. So this just amounts to $\exists y (C(y,x) \wedge \exists z(C(z,y)))$. This formula (which has $x$ free btw) is your $\varphi(x)$, which goes in the antecedent of the conditional of your universally quantified sentence.

How do you say "$x$ either has only daughters, or exactly two sons, or is childless"? Well, it seems to be a disjunction about $x$, so split it up into cases: if you know the whole thing is a disjunction, you can tackle each disjunct separately and then put it all together with $\vee$s at the end. So you just need to analyze "$x$ has only daughters", "$x$ has exactly two sons", and "$x$ is childless". Hopefully, things are clear enough that you can do these on your own.


Your first statement is fine. For clarity I agree with the others that you should bracket statements you want to negate.

For the second, I'm concerned about the prospect of childless grandparents in a world without death, so I'll skip that bit.

Firstly, let's get right the structure of "for all grandparents x, P(x)". Your current statement vacuously holds whenever the LHS of your implication fails for e.g. $y=z=x$, which is a stupid choice, so something is wrong.

What we want is for any situation where we find an $x,y,z$ with the correct relationship, something holds for $x$.

Thus consider $\forall xyz ((C(y,x)\wedge C(z,y))\implies P(x))$. This enforces $P$ for all grandparents $x$. I think you can do the rest!


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .