Discrete Word Problems...

Hey all, so I have two word problems I've been working on four hours...

Here is the first:

Code:

`Pre-condition: Dogs always tell the truth, cats always lie.`

Let X, Y, and Z be dogs or cats. X says "there are exactly two cats among us." Y says "You're lying". Express these statements in logic form and simplify them. Then describe the doghood/cathood of the three, if possible.

So, I've come up with:

So, I have:

X ~ (X^Y^!Z) \/ (X^!Y^Z) \/ (!X^Y^Z)

C ~ !X

...where ~ = equivalence, ^ = AND, \/ = OR

What I'm supposed to do (I think) is, using theorems and axioms, simplify the above statement ((X^Y^!Z) \/ (X^!Y^Z) \/ (!X^Y^Z)) to get an answer. Can anyone help? Thanks!