I'm REALLY struggling with this subject. I think I'm there or there abouts but have this feeling I'm missing something out (which is driving me crazy). Any help really appreciated.

Predicates:

Set Family is members of a family.

Set Ages is integers giving ages of members of Family

BROTHER(p, q): p is a brother of q

MARRIED(p, q): p and q are married

TALL(p): p is over six feet tall

AGE(p, n): p is n years old.

Express each natural language statement formally using usual notation of formal logic, predicates, sets mentioned above and == for equality of strings.

A. "Jackie" is twelve years old and is not over six feet tall.

B. Everyone is the family who is over six feet tall is married.

C. The only member of the family who is both over six feet tall and thirty years old is "Jason", who is a brother of "Sue".

My attempts are below.

A.

$\displaystyle

AGE("Jackie", 12) \wedge \neg TALL("Jackie")

$

B.

$\displaystyle

\forall p in Family[TALL(p) \rightarrow MARRIED(p, q)]

$

C.

$\displaystyle

\exists p in Family[ ((TALL(p) \wedge AGE(p, 30)) \rightarrow (p == "Jason")) \wedge BROTHER(p, "Sue")

$

With B i'm not sure about q?