Exercise: Infer a term
Give the lambda term that needs to replace \(\alpha\) so that the reduction results as given.
-
\(\alpha \cnct a \cnct b = b \cnct a\)
-
\(\alpha \cnct a \cnct b \cnct c = a \cnct c \cnct b\)
-
\(\alpha \cnct a \cnct b \cnct c = a \cnct (c \cnct b)\)
-
\(\alpha \cnct a \cnct b = \lambda x.a \cnct x \cnct (b \cnct x)\)
-
\(\alpha \cnct (\lambda x.a \cnct x)c = ac\)
-
\(\alpha \cnct (\lambda x.a \cnct x)c = \lambda y.a(yc)\)
-
\(\alpha \cnct (\lambda x.sleeps'x) = sleeps'john'\)
-
\(\alpha \cnct sleeps' = sleeps'john'\)
-
\(\alpha (\lambda x. walks'x) john' \equiv_{\beta} slow'(walks'john')\)
-
\(\alpha (\lambda x. walks'x) john' \equiv_{\beta} slow'walks'john'\)
-
\(\alpha\cnct{mary'}john'(\lambda x.walks'x) \equiv_{\beta} walks'john' \land walks'mary'\)
-
\(\alpha(\lambda x. talks'x)(\lambda x.smiles'x)john'\equiv_{\beta} smiles'john' \land talks'john'\)