MORE TRANSLATIONS INTO PREDICATE LOGIC WFFS

These translations follow the processes suggested here, here, here, and here; answers will not always look like those in Allen/Hand, but they are equivalent.

For 23-29, the translation scheme is: Tx='x is a trick'; Cxy='x can do y'; Wx='x is a whale'; s='Shamu' (following the answers in the text)

23. Shamu can do every trick

Every trick=x: (Shamu can do x)
Every x: (if x is a trick then Shamu can do x)
Everyx(Tx->Csx)

24. Shamu can do any trick

Though this is 'any', there are no connectives present, so it behaves just like 'every':

Any trick=x: (Shamu can do x)
Every x: (if x is a trick then Shamu can do x)
Everyx(Tx->Csx)
25. Shamu cannot do every trick
Not (Every trick=x: (Shamu can do x))
Not (Every x: (if x is a trick then Shamu can do x))
~Everyx(Tx->Csx)
26. Shamu cannot do any trick

Here, the difference between 'any' and 'every' is important: we analyze 'any' before 'not.'

Any trick=x: (Shamu cannot do x)
Every x: (if x is a trick then Shamu cannot do x)
Every x: (if x is a trick then not (Shamu can do x))
Everyx(Tx->~Csx)
27. If any whale can do a trick, Shamu can

This example involves two quantifiers: 'a trick'='some trick'

Any whale=x: (if x can do a trick, then Shamu can do a trick)

Any x: (if x is a whale then (if x can do a trick then Shamu can do a trick))
Any x: (if x is a whale then (if (a trick=y: (x can do y) then (a trick = z:(Shamu can do z)))))
Any x: (if x is a whale then (if (some y: (y is a trick and x can do y)) then (some z: (z is a trick and Shamu can do z))))
Everyx(Wx->(Somey(Ty&Cxy)->Somez(Tz&Csz)))

28. If every whale can do a trick, Shamu can

Unlike the previous example, this is sententially compound (specifically, a conditional). Spelling out the last part:

If (every whale can do a trick), (Shamu can do a trick)

The right-hand side is the same as the right-hand side of 27. Analysis of the left-hand side:

every whale can do a trick
every whale can do some trick
every whale=x: (x can do some trick)
every x: (if x is a whale then (x can do some trick)
every x: (if x is a whale then (some trick=y: (x can do y))
every x: (if x is a whale then (some y: (y is a trick and x can do y))
Combining this with the right-hand side (the main connective is 'if'):
if (every x: (if x is a whale then (some y: (y is a trick and x can do y))), (some z: (z is a trick and Shamu can do z)
Everyx(Wx->Somey(Ty&Cxy)) -> Somez(Tz&Csz)
29. If any whale can do a trick, any whale can do a trick

For 30-42, the translation scheme is: Axy='x ate y', b='Bambi', g='Godzilla'

30. Godzilla ate Bambi

Agb
31. Something ate Bambi
Something=x: (x ate Bambi)
some x: (x ate Bambi)
SomexAxb
32. Godzilla ate something

Note that this is exactly like the previous case except for the order of terms after the predicate letter:

Something=x: (Godzilla ate x)
some x: (Godzilla ate x)
SomexAgx
33. Bambi ate everything
Everything=x: (Bambi ate x)
every x: (Bambi ate x)
EveryxAbx
34. Everything ate Bambi
Everything=x: (x ate Bambi)
every x: (x ate Bambi)
EveryxAxb
35. Something ate something

This involves two quantifiers. Just do one at a time, keeping their analyses separate:

Something=x: (x ate something)
some x: (x ate something)
some x: (something=y: (x ate y))
some x: (some y: (x ate y))
SomexSomeyAxy
36. Something ate everything

Apart from the fact that the second quantifier is universal, this is exactly like the previous case:

Something=x: (x ate everything)
some x: (x ate everything)
some x: (everything=y: (x ate y))
some x: (every y: (x ate y))
SomexEveryyAxy
37. Everything ate something
Everything=x: (x ate something)
Every x: (x ate something)
Every x: (something=y: (x ate y))
Every x: (some y: (x ate y))
EveryxSomeyAxy
38. Everything ate everything
Everything=x: (x ate everything)
Every x: (x ate everything)
Every x: (everything=y: (x ate y))
Every x: (every y: (x ate y))
EveryxEveryyAxy
39. Everything ate itself

This is one to be careful with: 'x ate itself' = 'x ate x'. In general, '-self' words are often used with two-place predicates to indicate an action someone, or something, performs on itself. The best place to catch this is in the first step of the rewriting. Replace 'itself' with the same variable used to replace the quantifier expression:

Everything=x: (x ate x)
Every x: (x ate x)
EveryxAxx
40. Something ate itself
Something=x: (x ate x)
Some x: (x ate x)
SomexAxx
41. Nothing ate itself

Do 'nothing' in the usual way:

Nothing=x: (x ate x)
Everything=x: not (x ate x)
Every x: not (x ate x)
Everyx~Axx
42. Something ate nothing

This is no problem as long as you do the quantifiers in order:

Something=x: (x ate nothing)
some x: (x ate nothing)
some x: (nothing=y: (x ate y))
some x: (every y: not (x ate y))
SomexEveryy~Axy

Harder Cases: 43-57

A preliminary note about '-thing', '-one', and '-body'.

Some quantifier expressions in English are actually restricted to people (someone, everyone, anyone, no one, somebody, everybody, anybody, nobody), whereas others are not (something, everything, anything, nothing). We can often ignore this distinction: if all the quantifiers in a given context apply to people, we can just treat them as plain quantifiers. However, it's sometimes important to retain this distinction. A simple way to do it is to treat the quantifiers ending in '-one' and '-body' as if they ended in the word 'person': some person, every person, any person, no person. That's how the translations of 43-46 are done, below. The translation scheme is: Px='x is a person', Sxyz='x said y to z'

43. Everyone said something to everyone

This (and the following three exercises) contains three quantifiers, all attached to places in a three-place predicate. It very often happens that sentences like that are ambiguous: you just can't be sure which of two (or perhaps more) interpretations is the correct one.

In this case, the ambiguity is a matter of quantifier scope. At the level of rewriting, it's a matter of the order in which we analyze the quantifiers. There's no problem about which one to take first: take the first one in order.

Everyone=x: (x said something to everyone)
Every person=x: (x said something to everyone)
Every x: (if x is a person then (x said something to everyone))
It's at this point that we can find two different analyses. One (and perhaps the easiest) proceeds by working through the quantifiers in the order they occur in the sentence, first 'something' and then the second 'everyone':
Every x: (if x is a person then something=y: (x said y to everyone)))
Every x: (if x is a person then (some y: (x said y to everyone)))
Every x: (if x is a person then (some y: (everyone=z: (x said y to z))))
Every x: (if x is a person then (some y: (every z: (if z is a person then (x said y to z))))
Everyx(Px->SomeyEveryz(Pz->Sxyz))
On this analysis, the sentence is saying: For any person you like, there's something which that person said to every person. However, another analysis is also plausible: If x is any person you like, and y is any person you like, then there's something that x said to y. (Notice that we didn't say 'and y is any other person you like': the sentence doesn't say that, either.) Analyzing it in this way is a matter of analyzing the second 'everyone' before 'something'. here is the result:
Every x: (if x is a person then (everyone=y: (x said something to y)))
Every x: (if x is a person then (every y: (if y is a person then (x said something to y))))
Every x: (if x is a person then (every y: (if y is a person then (something=z: (x said z to y))))
Every x: (if x is a person then (every y: (if y is a person then (some z: (x said z to y))))
Everyx(Px->Everyy(Py->SomezSxzy))
44. Everyone said something to someone
Every x: (if x is a person then something=y: (x said y to someone)))
Every x: (if x is a person then (some y: (x said y to someone)))
Every x: (if x is a person then (some y: (someone=z: (x said y to z))))
Every x: (if x is a person then (some y: (some z: (z is a person and (x said y to z))))
Everyx(Px->SomeySomez(Pz & Sxyz))
45. Everyone said nothing to someone

This one is ambiguous too. If we analyze the quantifiers in order, right to left, they give this:

Everyone=x: (x said nothing to someone)
Every x: (if x is a person then (x said nothing to someone))
Every x (if x is a person then (nothing=y: (x said y to someone)))
Every x (if x is a person then (every y: not (x said y to someone)))
Every x (if x is a person then (every y: not (someone =z: (x said y to z))))
Every x (if x is a person then (every y: not (some z: (z is a person and (x said y to z)))))
Everyx(Px->Everyy~Somez(Pz & Sxyz))
But what this means is: if x is a person and y is anything at all, then there's no person that x said y to. Intuitively, the English sentence doesn't seem to mean that. (See the next example for a way to say this.) Instead, it seems to mean this: If x is any person you like, then there,s some person that x said nothing to. We can express this by analyzing the quantifiers in a different order:
Everyone=x: (x said nothing to someone)
Every x: (if x is a person then (x said nothing to someone))
Every x (if x is a person then (someone=y: (x said nothing to y)))
Every x (if x is a person then (some y: (y is a person and (x said nothing to y))))
Every x (if x is a person then (some y: (y is a person and (nothing=z: x said z to y))))
Every x (if x is a person then (some y: (y is a person and (every z: not (x said z to y)))))
Everyx(Px->Somey(Py & Everyz~Sxzy))
46. No one said anything to anyone

This one works nicely (and unambiguously) just by following the rule that 'any' quantifiers always get analyzed first. Notice that 'no one' is treated as if it were 'no person.'

Anything=x: (no one said x to anyone)
Every x: (anyone=y: (no one said x to y))
Every x: (every y: (if y is a person then (no one said x to y)))
Every x: (every y: (if y is a person then (no one=z: (z said x to y))))
Every x: (every y: (if y is a person then (no one=z: (z said x to y))))
Every x: (every y: (if y is a person then (everyone=z: not (z said x to y))))
Every x: (every y: (if y is a person then (every z: (if z is a person then not (z said x to y)))))
EveryxEveryy(Py->Everyz(Pz->~Szxy))
47. There is a reptile smaller than a cat but larger than a dog

Translation scheme: Rx='x is a reptile', Cx='x is a cat', Dx='x is a dog', Sxy='x is smaller than y', Lxy='x is larger than y'.

'There is' can usually be rewritten 'something is.' The expression 'smaller than a cat but larger than a dog' is a compound predicate: 'a reptile and smaller than a cat and larger than a dog.' A more subtle question is the interpretation of 'smaller than a cat': smaller than which cat, you might ask. The answer, for most of us most of the time, is 'smaller than every cat'. Interpreting the sentence that way, it goes like this:

Something is a reptile smaller than a cat but larger than a dog
Some x: (x is (a reptile smaller than a cat but larger than a dog))
Some x: ((x is a reptile) and (x is smaller than a cat) but (x is larger than a dog))
To save space, we will continue the analysis of 'x is smaller than a cat' separately:
x is smaller than a cat
a cat=y: (x is smaller than y)
every cat=y: (x is smaller than y)
every y: (if y is a cat then x is smaller than y)
The same pattern of translation will give us, for 'x is larger than a dog':
every z: (if z is a dog then x is larger than z)
So, putting all this together:
Some x: ((x is a reptile) and (every y: (if y is a cat then x is smaller than y)) but (every z: (if z is a dog then x is larger than z)))
Somex(Rx & (Everyy(Cy->Sxy) & Everyz(Dz->Lxz)))
The authors of the text, however, disagree with me: they treat 'smaller than a cat' as 'smaller than some cat', etc. See the text for the corresponding translation.

You could, in fact, consider a further simplification in this translation. If x is larger than y, then y is smaller than x: therefore, you could modify the translation scheme to: Sxy='x is smaller than y' and Syx='x is larger than y'. See if you can figure out how the translation above looks with that change.

48. Some fishes swim slower than humans

Here, we need to treat 'humans' as 'all humans'. This time, Sxy='x swims slower than y'.

Some fishes=x: (x swims slower than humans)
Some x: (x is a fish and (x swims slower than humans))
Some x: (x is a fish and (humans=y: (x swims slower than y)))
Some x: (x is a fish and (every y: (if x is human then x swims slower than y)))
Somex(Fx&Everyy(Hy->Sxy))
49. Some fishes are smaller than every mammal
Some fishes=x: (x is smaller than every mammal)
Some x: (x is a fish and (x is smaller than every mammal))
Some x: (x is a fish and (every mammal=y: (x is smaller than y)))
Some x: (x is a fish and (every y: (if y is a mammal then (x is smaller than y))))Somex(Fx&Everyy(My->Sxy))
50. Some whales eat only fast-moving fishes
Some whales=x: (x eats only fast-moving fishes)

Some x: (x is a whale and (only fast-moving fishes=y: (x eats y))

Some x: (x is a whale and (every y: (x eats y only if x is a fast-moving fish)))

Some x: (x is a whale and (every y: (x eats y only if (x is fast-moving and x is a fish)))
Somex(Wx&Everyy(Exy->(Fy&My)))

51. Some whales do not eat any fast-moving fishes
Some whales=x: (x does not eat any fast-moving fishes)
Some x: (x is a whale and (any fast-moving fishes=y: (x does not eat y)))
Some x: (x is a whale and (every y: (if y is a fast-moving fish then (x does not eat y)))
Somex(Wx&Everyy((Fy&My)->~Exy))
52. If anything eats fast-moving fishes, sharks do

53. Jaguars' tails are longer than ocelots' tails