# Expressing a sentence in predicate logic

I need some clarity on predicate logic:

``````Given

D(x)    x is a dog
F(x, y) x is a friend of y
O(x, y) x owns y
h       Harry
s       Susan

express the following sentence in predicate logic

All of Harry's friends are dog owners
``````

My understanding is that a predicate cannot be an argument to another predicate.

This is what I think is the solution

``````∃x[F(x, h) ∧ ∀x∃y(D(y) ∧ O(x, y))]
``````

Is that valid? To me it reads: Some people are friends of Harry, then that same person definitely own a dog?

Or is the answer the simpler

``````∀x∀y[F(x, h) ∧ D(y) ∧ O(x, y)]
``````

But it feels like that says everyone is a friend of Harry

After some input from @Keelan:

``````∀x[F(x, h) → ∃y(O(x, y) ∧ D(y))]
``````

Which I read as: For everyone where it is the case that they are friends with Harry, they own y and y is a dog.

• "∀y(O(x, y) ∧ D(y))" means that everything is a dog and is owned by harry's frine. That is nonsense, – miracle173 Oct 16 '15 at 2:08

In your first proposal (∃x[F(x, h) ∧ ∀x∃y(D(y) ∧ O(x, y))]), you're assuming Harry has at least one friend, which may not be the case. If he has no friends, the statement is true (see vacuous truth). Also, you're using x both as bounded by ∃ and as bounded by ∀, while the latter is inside the first. This is never allowed.

In your second proposal (∀x∀y[F(x, h) ∧ D(y) ∧ O(x, y)]), you're saying that everyone is a friend of Harry, that everyone is a dog and that everyone owns everyone!

Here are some hints to get you started (since this looks like homework I won't give you a complete solution):

• "All of Harry's friends are dog owners" can be rewritten as "For all people it holds that if they are Harry's friend, then they are a dog owner"
• "X is a dog owner" can be rewritten as "There is an Y such that Y is a dog and X owns Y"

Your third suggestion (∀x[F(x, h) → ∀y(O(x, y) ∧ D(y))]) is almost correct. However, this reads as "For all x holds that if they are friends with Harry, then for all y it holds that x owns y and y is a dog" -- in other words, Harry is a dog as well (and x)!

• I did not consider rewriting the statements, that helps a lot – Leon Oct 15 '15 at 17:55

You should split your sentence into simpler parts and try to express this simple sentence. Then you should compose the more complex sentences.

Try to express "somebody is a friend of harry", e.g t is a friend of Harry

F(t,h)

"somebody is a dog owner", e.g. x is a dog onwer.

∃y(D(y) ∧ O(x,y))

try to Express " all of Harry friends have the property P" That means for friend z of Harry P(z) is valid.

∀z(F(z,h) → P(z))

Now compose it to the final statement; all of harry's friends are dog owners

∀z(F(z,h) → (∃y(D(y) ∧ O(x,y))))

• On my iPad the tinted boxes that contain the quotes are blank. – Mark Andrews Nov 15 '17 at 19:14
• @MarkAndrews now the text is visible – miracle173 Nov 16 '17 at 4:25
• I can see the text now. Useful answer, by the way. Thanks. – Mark Andrews Nov 16 '17 at 18:43