Friday, April 20, 2018

Having military skills is not exactly a predicate

In this recent post I looked at Prince Henry, a medieval warrior ruling a hermit kingdom who had the misfortune to be discovered - and fall out with - the Russians. Prince Henry's armoured cavalry did not fare well against Russian gunships, artillery, tanks and spetsnaz troops.



So did Prince Henry have military skills .. or not?

---

This question masquerades as a property question. If we had asked whether Henry had red hair, we could define a predicate
red-haired(henry)
which would have the boolean value true or false. Similarly, it seems we are asking for the truth-value of the predicate:
has-military-skills(henry)
but that isn't right, because it doesn't capture the environmental context.

Instead we should write:
λx.has-military-skills(henry, x),
a boolean-valued function with dummy variable x which needs to be bound to a specific opponent before a truth value can be assigned. So
λx.has-military-skills(henry, x)(knight) = has-military-skills(henry, knight)
which evaluates to true.
λx.has-military-skills(henry, x)(russians) = has-military-skills(henry, russians)
which turns out to be false.

---

This is the approach Richard Montague took in his natural language semantics.

No comments:

Post a Comment

Comments are moderated. Keep it polite and no gratuitous links to your business website - we're not a billboard here.