0
$\begingroup$

I'm having a lot of trouble with translating this statement into predicate logic and I'm not sure how to go about it anymore. I'll give an example of what I think but any help would be much appreciated.

There is a child who has a parent that owns a restaurant that employs every teenager.

The predicates are child, parent, owns, employs, teenager, and restaurant.

$$ \exists w \exists x \exists y \forall z ((\operatorname{child}(w) \wedge \operatorname{parent}(x,w) \wedge \operatorname{restaurant}(y) \wedge \operatorname{teenager}(z)) \implies \operatorname{employs}(x,z) \wedge \operatorname{owns}(x, y)) $$

I'm almost positive this is 100% wrong but this is only my third day translating english statements to predicate logic, so please forgive me. I really need help.

Thank you.

$\endgroup$
2
  • 1
    $\begingroup$ Please use variable names that make sense. C for child, P for parent, R for restaurant, T for teenager. It will make things much easier for you too. $\endgroup$
    – DanielV
    Nov 6 '13 at 3:10
  • 1
    $\begingroup$ @DanielV I'm not sure how it would make things easier. It's just simplifying the names of the predicates, that's all. $\endgroup$
    – user41931
    Nov 6 '13 at 3:49
1
$\begingroup$

Not quite. There is a child who has a parent who owns a restaurant and everybody/everything in the universe of discourse (including the restaurant and the child and the parent!) is a teenager and is employed by the parent.

EDIT: Now that you changed it, it says there exist $w$, $x$ and $y$ such that for some $z$, if $w$ is a child and $x$ is that child's parent and $y$ is a restaurant and $z$ is a teenager then that parent owns that restaurant and employs that teenager. For example, the statement $$(child(w) \wedge parent(x,w) \wedge restaurant(y) \wedge teenager(z)) \implies employs(x,z) \wedge owns(x, y)$$ would be true whenever $w$ is not a child or $x$ is not $w$'s parent or $y$ is not a restaurant or $z$ is not a teenager.

I think what you want is

$$ \exists w \exists x \exists y \forall z \ child(w) \wedge parent(x,w) \wedge restaurant(y) \wedge owns(x,y) \wedge (teenager(z) \implies employs(x,z))$$

$\endgroup$
1
  • $\begingroup$ So is the overall structure right and just a small change needs to be made or what? And how would I go about writing it this way I guess? >.< $\endgroup$
    – user41931
    Nov 6 '13 at 3:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy