2021 James B. Wilson, Colorado State University
The brief story of trouble with substitution and why we need \(\lambda\)-calculus .
\(\lambda\)
Variables often treated as blanks to be filled. \[f(x) = x+5\]
becomes
...which becomes
In time the boxes are imaginary and substitution is immediate
\[f(3)=3+5\]
\[f(\Box)=\Box+5\]
First are constant functions: \[\begin{aligned} f(x) & = 5\\ g(y) &= \pi \\ h(u) & = cat \end{aligned}\]
There are too many constant functions to name. So we capture them all with a \(c\) \[K_c(x)=c\]
Second are the identity functions: \[\begin{aligned} f(x) & = x\\ g(y) & = y \\ h(u) & = u\end{aligned}\]
Though distinct in symbols, we find no difference when we substitute.
So we equate all these in a unified concept, a single identity function \[I(x)=x\]
Constant functions \(K_c(x)=c\) and the identity function \(I(x)=x\) should coexist in peace.
So what laws of substitution take control in a function such as \[K_x(x)=x?\]
Is this constant and never changing?
Or is it the identity---always reflecting the changes of the input?
Making rules will impose limits and concern.
Alonzo Church give us the answers in the form of his \(\lambda\)-calculus.
It was soon seen as equivalent to Turing's notion of computation.
In their honors today we teach