Recall that a K-combinator is a constant function. It always returns its first argument:
Kxy = x for all y
In the book "Mocking a Mockingbird," the author presents an example of an enchanted forest in which talking birds speak. Birds have behavior:
For any birds A and B, if you select the name B in A, then A will answer by calling the name of some bird for you: we will denote this bird by AB.
Suppose a forest consists of three birds, A, B, and C. Is it possible for at least one of the birds to behave like a combinator K?
Below is a table that shows one of the possible bird behavior in an enchanted forest. The first column has the name of each bird in the forest. The top line has names that can be called for each bird. The body is the bird’s answer to the name. For example, if you choose the name A for bird A, then bird A will answer C (see Row 2, column 2). In short, AA = C. If you choose the name B for bird A, then bird A will answer B (see Row 2, column 3). In short, AB = B. What value should go into the empty AC slot?
| A B C
------------------
A | C B
B | B B B
C | A A A
Let's see if we can make bird A behave like a combinator K. The above set of values looks promising:
AA = C and Cy = A for all y. That is, (AA) y = A for all y.
AB = B and By = B for all y. That is, (AB) y = B for all y.
What value should be placed in an empty slot (AC)? Consider all cases:
AC = A, Ay C y,
. A .
AC = B, By C y,
. B .
AC = C, Cy C y,
. C .
, (AC) y = C, y.
, K. , , .