# Translation from natural language to First Order Logic

I have this exercise from Artificial Intelligence: A Modern Approach:

I wrote this solution and I would like to know if I made any mistakes:

a) Occupation(Emily,Surgeon) V Occupation(Emily, Lawyer).

b) Occupation(Joe,Actor) ∧ ∃x( Occupation(Joe,x) ∧ x≠Actor )

c) ∀x ( Occupation(x,Surgeon) -> Occupation (x,Doctor) )

d) ∀x Customer(Joe,x) -> ( ∀y Occupation(x,y) -> y≠Lawyer )

e) ∃x Boss(x,Emily) ∧ Occupation(x,Lawyer)

f) ∃x Occupation(x,Lawyer) ∧ (∀y Customer(y,x) -> Occupation(y,Doctor))

g) ∀x Occupation(x,Surgeon) -> ∃y (Occupation(y,Lawyer) ∧ Customer(x,y) )


Besides, how can I check if my translation is correct (some kind of counter proof)?

-
Great reference book! – magma Jan 11 '12 at 2:36

Everything seems good to me, except perhaps that your use of parenthesis does not seem consistent. For example: in the second part of b you use () to delimit Exists, but in e you don’t. You should though. Same thing in g: nothing to bind the x in the antecedent to the x in the consequent.

It is difficult to have an independent check of a translation by other means. Basically you have to rephrase the English sentences in a standard form like: All F are G or Some F are G, ect (basic syllogistic forms) and then use the available vocabulary. But this is what you did i guess, so I have no better suggestion to give you

-
Thank you very much! I'll pay attention over parenthesis... – Saphrosit Jan 12 '12 at 14:06