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
which would have the boolean value true or false. Similarly, it seems we are asking for the truth-value of the predicate:
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.