0

I have been having a very hard time translating the following sentence from natural language to first-order predicate logic. Can someone help me, please? The sentence is:

If someone performs an act and his act causes damage to another, if the act is blameworthy and there is no justification for it (the act), the person who performed the act will have an obligation to pay damages to the other.

It might be my limited knowledge of how to use predicate logic, but I have no idea how to even start.

Thanks

George
  • 1
  • Start by defining relations: $P(x)$ means $x$ is a person and $A(x)$ means $x$ is an act. You'll need binary relations to encode the clauses relating persons to acts (or persons to persons) (such as a person performs an act), and you'll need more unary relations to encode clauses that speak only to the act (such as the act is blameworthy). – Robert Shore Oct 02 '19 at 17:08

1 Answers1

0

Using:

$P(x)$: $x$ is a person

$P(x)$: $x$ is an act

$P(x,y)$: $x$ performs $y$

$D(x,y)$: $x$ does damage to $y$

$B(x)$: $x$ is blameworthy

$J(x)$: $x$ is justifiable

$O(x,y)$: $x$ is obligated to pay damages to $y$

you get:

$$\forall x \forall y (P(x) \land P(y) \land \exists z (A(z) \land P(x,z) \land D(z,y) \land B(z) \land \neg J(z))) \to O(x,y))$$

One would of course like to break down $O(x,y)$ a little more ... but in order to do that, we'd need to go into modal logic, which is outside the scope of this exercise.

Bram28
  • 100,612
  • 6
  • 70
  • 118