# Translate from English to first-order logic

Translate the following sentences to FOL:

1)Mary loves all fluffy cats 2)Anybody who trusts nobody deceives themself. 3)Tom's uncle does not like any of his own children.

From my understanding of First-order logic I have come to these answers:

1) ∀x[cat(x) ^ fluffy(x) loves(Mary,x)]

2) ∀x[Person(x) trusts(x, ¬ x) deceives(x, x)]

3)This third one has been bugging me for quite some time now. I have come to 4 answers and I am not sure wether one of these is correct or if there is a correct one at all:

a) ∃x∀y ¬[Uncle(x,Tom) Child(y) ^ likes(x,y)]

b) ∃x∀y [Uncle(x,Tom) Child(y) ^ ¬ likes(x,y)]

c) ∃x∀y ¬[Uncle(x,Tom) Child(y,x) ^ likes(x,y)]

d) ∃x∀y [Uncle(x, Tom) Child(y,x) ^ ¬ likes(x,y)]

On c) and d) I write "Uncle - Child" relation the same way as "Uncle - Tom" (not sure if it is correct)

If you could explain where I am wrong and right and why I would much appreciate it. Thank you!

• And this type of question is not a research-level question for professional mathematicians. This question would be welcome on Math Stack Exchange, but is probably inappropriate here. – Mark Fischler Mar 8 '16 at 17:36
• The question appears to be missing typesetting; notably there's nothing where I'd expect $\to$ connectives. Here is a basic tutorial and quick reference to MathJax – Graham Kemp Mar 8 '16 at 18:09

1) $∀x[\operatorname{cat}(x) \wedge \operatorname{fluffy}(x) \to \operatorname{loves}(\operatorname{Mary},x)]$

Yes.

2) $∀x[\operatorname{Person}(x)\wedge \operatorname{trusts}(x, ¬ x) \to \operatorname{deceives}(x, x)]$

No. $x$ is an entity and not a predicate; you can't negate it.   Nobody is: $\neg\exists y~(\operatorname{Person}(y)\wedge\ldots)$

3)This third one has been bugging me for quite some time now. I have come to 4 answers and I am not sure wether one of these is correct or if there is a correct one at all:

a) $∃x∀y ¬[\operatorname{Uncle}(x,\operatorname{Tom}) \to \operatorname{Child}(y) \wedge \operatorname{likes}(x,y)]$

b) $∃x∀y [\operatorname{Uncle}(x,\operatorname{Tom}) \to \operatorname{Child}(y) \wedge ¬ \operatorname{likes}(x,y)]$

c) $∃x∀y ¬[\operatorname{Uncle}(x,\operatorname{Tom}) \to \operatorname{Child}(y,x) \wedge \operatorname{likes}(x,y)]$

d) $∃x∀y [\operatorname{Uncle}(x, \operatorname{Tom}) \to \operatorname{Child}(y,x) \wedge ¬ \operatorname{likes}(x,y)]$

None of them really. You want to say: "Some one is Tom's Uncle and any one who is that one's children will not be liked by that one."

Can you put that in symbols?

• Maybe : ∃x[Uncle(x,Tom) ^ ∀y[Child(y,x) -> ¬likes(x,y)] ? – Science2015 Mar 9 '16 at 14:29
• @Science2015 Yes. – Graham Kemp Mar 9 '16 at 20:46