2023-02-05 21:02:05 -08:00
|
|
|
\section{Combinators}
|
2022-11-13 13:02:25 -08:00
|
|
|
|
2023-02-05 21:02:05 -08:00
|
|
|
\definition{}
|
|
|
|
A \textit{free variable} in a $\lm$-expression is a variable that isn't bound to any input. \\
|
|
|
|
For example, $b$ is a free variable in $\lm a. b$. The same is true of $\star$ in any of the previous pages.
|
2022-11-13 13:02:25 -08:00
|
|
|
|
2023-02-05 21:02:05 -08:00
|
|
|
A \textit{combinator} is a function with no free variables.
|
2022-11-13 13:02:25 -08:00
|
|
|
|
2023-02-05 21:02:05 -08:00
|
|
|
\definition{The Kestrel}
|
2022-11-13 13:02:25 -08:00
|
|
|
|
2023-02-05 21:02:05 -08:00
|
|
|
Notable combinators are often named after birds.\hspace{-0.5ex}\footnotemark{} We've already met a few: \\
|
|
|
|
The \textit{Idiot}, $I = \lm a.a$ \\
|
|
|
|
The \textit{Mockingbird}, $M = \lm f.ff$ \\
|
|
|
|
The \textit{Cardinal}, $C = \lm fgx.(~ f(g(x)) ~)$ \\
|
2022-11-13 13:02:25 -08:00
|
|
|
|
2023-02-05 21:02:05 -08:00
|
|
|
\footnotetext{Raymond Smullyan's \textit{To Mock a Mockingbird} is responsible for this.}
|
2022-11-13 13:02:25 -08:00
|
|
|
|
2023-02-05 21:02:05 -08:00
|
|
|
\vspace{2ex}
|
2022-11-13 13:02:25 -08:00
|
|
|
|
2023-02-05 21:02:05 -08:00
|
|
|
Another notable combinator is $K$, the \textit{Kestrel}:
|
|
|
|
$$
|
|
|
|
K = \lm ab . a
|
|
|
|
$$
|
|
|
|
\problem{}
|
|
|
|
What does the Kestrel do? Explain in plain English. \\
|
|
|
|
\hint{What is $(K~\heartsuit~\star)$?}
|
2022-11-13 13:02:25 -08:00
|
|
|
|
2023-02-05 21:02:05 -08:00
|
|
|
\vspace{2cm}
|
2022-11-13 13:02:25 -08:00
|
|
|
|
2023-02-05 21:02:05 -08:00
|
|
|
\problem{}
|
|
|
|
Reduce $(K~I)$ to derive the \textit{Kite}. How does the Kite compare to the Kestrel? \\
|
|
|
|
We'll call the Kite KI.
|
2022-11-13 13:02:25 -08:00
|
|
|
|
2023-02-05 21:02:05 -08:00
|
|
|
\begin{solution}
|
|
|
|
$\text{KI} = \lm ab . b$. \\
|
|
|
|
\end{solution}
|
2022-11-13 13:02:25 -08:00
|
|
|
|
2023-02-05 21:02:05 -08:00
|
|
|
\vfill
|
|
|
|
\pagebreak
|