Recall that the K combinator is a constant function. It always returns its first argument:
Kxy = x for all y
In the book To Mock a Mockingbird the author presents an example of an enchanted forest containing talking birds. The birds have behavior:
Given any birds A and B, if you call out the name of B to A, then A will respond by calling out the name of some bird to you: this bird we will designate by AB.
Suppose the forest consists of three birds, A, B, and C. Is it possible for at least one of the birds to behave like the K combinator?
Below is a table that shows one possible set of behaviors for the birds in the enchanted forest. The first column has the name of each bird in the forest. The top row has the names that may be called out to each bird. The body is the response of a bird to a name. For example, if you call out the name of A to bird A, then bird A will respond with C (see row 2, column 2). Succinctly, AA = C. If you call out the name of B to bird A, then bird A will respond with B (see row 2, column 3). Succinctly, AB = B. What value should go into the empty slot for AC?
| 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 the K combinator. The above set of values look 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 the empty slot (AC)? Consider all the cases:
If AC = A then the value of Ay must be C for all y, which is clearly false. Therefore A cannot be the correct value for the empty slot.
If AC = B then the value of By must be C for all y, which is clearly false. Therefore B cannot be the correct value for the empty slot.
If AC = C then the value of Cy must be C for all y, which is clearly false. Therefore C cannot be the correct value for the empty slot.
Therefore no value can be placed in the empty slot to satisfy the condition (AC)y = C, for every y.
As far as I can tell, it is impossible to make any bird behave like a K combinator. I hope you will prove me wrong.