Correcting my first order logic translations

1. Sep 27, 2010

toshiba_me

1. The problem statement, all variables and given/known data

Well the problem is: translate the following sentences in first order logic. I cannot verify whether they are correct or not. Maybe someone can point out my mistakes.

1. No barber shaves persons shaving themselves.
$$(\neg \exists x)(Barber(x) \wedge (\forall y)(Shaves(y,y) \Leftrightarrow Shaves(x,y)))$$

2. Any Barber shaves all the persons not shaving themselves.
$$(\forall x)(Barber(x) \wedge (\forall y) (\neg \Shaves(y,y) \Leftrightarrow Shaves(x,y)))$$

3. White birds can fly.
$$(\forall x)(Bird(x) \wedge White(x) \rightarrow Fly(x))$$

4. A bird is happy if all its children can fly.
$$(\forall x,y)(ChildOf(x, y) \wedge Fly(x) \rightarrow Bird(y) \wedge Happy(y))$$