I recently used the words “deceptively simple” to describe lambda calculus. One person reading my paper sent a comment back: “do you mean ‘deceptively complicated’?”. What I had meant to say was on the surface, lambda calculus looks simple. But when you consider all the meta conditions of alpha-renaming and substitutions - you know, practical things about programming - then it isn’t.
It turns out the phrase “deceptively simple” requires disambiguation - it means one of two diametrically opposite meanings:
- It looks simple but is complicated.
- It looks complicated but is simple.
Looking up resources on the internet isn’t helpful either, with arguments on both sides. So I looked at the fundamentals of the language itself.
Start by taking a closer look at what adverbs do. Adverbs are function words that modify the verb/adjective phrases that follow. They generally shift the meaning of the following phrase towards the form of the adverb. In this case, the form is “deceptive”, which itself is derived from the lemma, “deceive”.
Adjectives formed with the “-ive” suffix are particularly interesting. They create a “belonging-to” relationship. To say “deceptive person” is to mean that the person has a quality that can be described as deceptive. Like all adjectives, the binding power is weak. “Deceptive person” binds right, because the adjective modifies “person”. To compute the meaning of the phrase, start first with “person”, then modify it with “deceptive”. In the phrase “he is deceptive”, “is”, being a verb, has greater precedence than “he”, hence the meaning flows from “is”.
If adjectives have weak binding powers, then adverbs are weaker still. The meaning of the phrase “deceptively simple” flows from “simple”, modified by “deceptively”.
The problem of course is that “deceive” is a verb. It requires a subject and an object. A deceives B. We can view verbs as functions that take two parameters:
verb : (subject: NP) -> (object: NP) -> VP.
verb : (object: NP) -> (subject: NP) -> VP.
At the same time, we can view adjectives and adverbs to be functions that only take one parameter:
adjective : NP -> AP
adverb : VB -> AP
When we go from “deceive” to “deceptive”, we go from a word that takes two parameters to a word that takes one. The question is how we would interpret the lemma verb. If we take the first form (
verb : (subject: NP) -> (object: NP) -> VP), then we can assume that what follows is the object. Otherwise, it’d be the subject. The first parameter essentially becomes a free variable inside the abstraction of “deceptive”. The main cause of the ambiguity of “deceptively simple” is simply due to the subsumption of one of the parameters of the original verb into the abstraction of the adjective.
Don’t Use The Phrase
It’s clear to me that the phrase “deceptively X” shouldn’t be used when trying to write clearly. The irony of course is that in the course of this blog post, I think I have done more to confuse than to make clear. In fact I spent more time writing this than writing what I needed to write.
I am quite delighted with this post. I began by introducing the context in which I used the phrase “deceptively simple” - the meta-theory of lambda calculus. The meta-theory of lambda calculus is required because in practical situations, variable names need to be disambiguated, much like the phrase “deceptively simple”. Additionally I was able to use concepts from lambda calculus and apply it to English (this is not without precursor, clearly - it started all the way from Montague in the 40s).
And so in the immortal words of George Lucas, it’s like poetry, it rhymes.
Let me know what you think.