This commit is contained in:
2023-10-05 11:23:03 -07:00
parent 18a6856380
commit dfadd23e63
5 changed files with 23 additions and 32 deletions

View File

@ -8,12 +8,13 @@ $$
\end{cases}
$$
We cannot re-create this in lambda notation. Functions in lambda calculus are \textit{anonymous}, which means we can't call them before they've been fully defined.
We cannot re-create this in lambda calculus, since we aren't given a way to recursively call functions.
\vspace{1ex}
\vspace{2mm}
As an example, consider the statement $A = \lm a. A~a$ \par
This means \say{write $(\lm a.A~a)$ whenever you see $A$.} However, $A$ is \textit{inside} what we're rewriting. We'd fall into infinite recursion before even starting our $\beta$-reduction!
One could think that $A = \lm a. A~a$ is a recursive function. In fact, it is not. \par
Remember that such \say{definitions} aren't formal structures in lambda calculus. \par
They're just shorthand that simplifies notation.
\begin{instructornote}
We're talking about recursion, and \textit{computability} isn't far away. At one point or another, it may be good to give the class a precise definition of \say{computable by lambda calculus:}
@ -29,12 +30,12 @@ This means \say{write $(\lm a.A~a)$ whenever you see $A$.} However, $A$ is \text
\problem{}
Write an expression that resolves to itself. \par
\note{Your answer should be short and sweet.}
\note{Your answer should be quite short.}
\vspace{1ex}
This expression is often called $\Omega$, after the last letter of the Greek alphabet. \par
$\Omega$ useless on its own, but gives us a starting point for recursion.
$\Omega$ useless on its own, but it gives us a starting point for recursion.
\begin{solution}
$\Omega = M~M = (\lm x . xx) (\lm x . xx)$