← Back to context

Comment by thaumasiotes

10 hours ago

> As I have explained above, what you propose does not work. It works in functions with 3 or more parameters, but it does not work in binary functions, because you cannot make binary functions from unary functions (without using some auxiliary binary functions).

I have no idea what you're trying to say. If you can use one parameter to identify a desired function, then obviously you can use a function of arity n+1 to define as many functions of arity n as you want, and it doesn't matter what the value of n is.

For example:

selector(3, "sin") = sin 3

selector(3, "log2") = log₂ 3

This works going from arity 4 to arity 3, and it also works going from arity 2 to arity 1. Your "response" talks about going from arity 1 to arity 2, a non sequitur.

The subject of the parent article is expressing all the "elementary functions".

This requires expressing binary functions, like addition and multiplication.

You cannot do this by using only the set of unary functions, which can indeed be generated by a function with 2 parameters, one of which selects an unary function.