Converting Phrase to Predicate Logic

70 Views Asked by At

Assuming the statements "If Alice owns a cat, she doesn't own a dog".

Would the following translation be fine?

O(A,C) IMPLY NOT O(A,D)

Where O(X,Y) implies X owns Y, A = Alice, C = Cat, D = Dog?

The answer from the book wants the predicates to be A(X), C(X), D(X), and the statement to begin with "For all X such that O(A(X), C(X)"... But I'm not sure about this. Alice is one person, so the phrase "For all X such that X is Alice" wouldn't make much sense, wouldn't it be possible to define Alice as "A"?

2

There are 2 best solutions below

0
On BEST ANSWER

It would be fine, I think, to use $A$ as a constant (I'll use $a$). And we can certainly use $O(x, y)$ to mean that $x$ owns $y$. But we do need additional predicates $C(x)\;:$"x is a cat" and $\;D(x)\;:\;$ "x is a dog" because we are not naming some particular cat or dog.

And we need to variables over which we need to quantify and about which we want to predicate.

$$\forall x((C(x) \land O(a, x))\rightarrow \lnot \exists y(D(y) \land O(a,y)))$$

2
On

I think the answer by amWhy is slightly incorrect (I would write this in a comment to it but I still don't have such privilege!). Assuming that we have the constant a for Alice (which is not clear in the statement of the question), the relation O and the two monadic predicates C and D, then the sentence should be:

$\exists x(C(x) \wedge O(a,x))\rightarrow \neg\exists x (D(x)\wedge O(a, x))$

What amWhy's sentence expresses is that if every object in the domain is such that it is a cat and Alice owns it, then she does not own a dog.