Translating statement to first order logic

112 Views Asked by At

I can use the following literals: Has(Batman,x), Slow(x), Fast(x), Car(x)

Batman has a fast car: Ex Car(x) ^ Fast(x) ^ Has(Batman,x)

All of Batman's cars are fast: Ax Car(x) ^ Has(Batman,x) -> Fast(x)

I'm pretty sure about these first two, kinda just want to make sure I'm doing them right. These I'm unsure about:

Unless Batman has a car, he is slow: Ax Car(x) ^ !Has(Batman,x) -> Slow(Batman)

The Batmobile is a fast car: Ex Car(x) ^ Has(Batman,x) ^ Fast(x)

Sorry I couldn't figure out how to make the formatting nice. Thanks for any help!

1

There are 1 best solutions below

0
On BEST ANSWER

The first two sentences, with proper parenthesization, do the job.

The third item is not right. There are as usual many equivalent options. Something like this would work: $$\lnot \exists x(\text{Car}(x) \land \text{Has}(\text{Batman},x)) \longrightarrow \text{Slow}(\text{Batman}).$$ Equivalently, we could use $$\forall x(\lnot\text{Car}(x) \lor \lnot\text{Has}(\text{Batman},x)) \longrightarrow \text{Slow}(\text{Batman}).$$ Somewhat simpler is the equivalent $$\exists x(\text{Car}(x) \land \text{Has}(\text{Batman},x)) \lor \text{Slow}(\text{Batman}).$$

The problem with your version is that it says, among other things, that unless Batman has my car, he is slow.

For the last, if there were a constant symbol Batmobile, one could do it. As it is, one really cannot, we cannot assume that Batman has a car called the Batmobile. And even if we take it for granted that he does, the fact that rich boy Batman has a fast car doesn't imply the Batmobile is fast.