aficionado_1996
New member
- Joined
- Oct 19, 2020
- Messages
- 5
I am reasonably comfortable converting English sentences to first order logic, as long as there are no nested quantifiers, or multiple variables (like x and y). I need to formalise following sentences to first order logic and then semantically check if a conclusion is possible (that is, if it is possible to find who stole the money, based on the given information), but not sure how to.
Sam says 'I did not steal the money'.
Tom says 'It was not me, either Sam or Jim stole the money'.
Jim says 'At least one among Sam and Tom speak the truth'.
The fact is that Sam and Jim were not both being truthful.
The predicates to be used are Lying(x) and Stole(x,y) where x represents Sam, Tom or Jim, and y represents money.
This is what I have come up with:
¬Stole(Sam, Money)
Stole(Sam, Money) ∨ Stole(Jim, Money)
¬Lying(Sam) ∨ ¬Lying(Tom)
Lying(Sam) ∨ Lying(Jim)
I am not sure if this counts as 'formalisation', and I have no idea how to proceed form here (regarding the semantic proof)
Sam says 'I did not steal the money'.
Tom says 'It was not me, either Sam or Jim stole the money'.
Jim says 'At least one among Sam and Tom speak the truth'.
The fact is that Sam and Jim were not both being truthful.
The predicates to be used are Lying(x) and Stole(x,y) where x represents Sam, Tom or Jim, and y represents money.
This is what I have come up with:
¬Stole(Sam, Money)
Stole(Sam, Money) ∨ Stole(Jim, Money)
¬Lying(Sam) ∨ ¬Lying(Tom)
Lying(Sam) ∨ Lying(Jim)
I am not sure if this counts as 'formalisation', and I have no idea how to proceed form here (regarding the semantic proof)