\begin{slide}{Lambda-Terme}

Menge $\Lambda$ der Lambda-Terme 
(mit Variablen aus einer Menge $V$):
\begin{itemize}
\item
  (Variable)
  wenn $x \in V$, dann $x\in \Lambda$
\item
  (Applikation)
  wenn $F\in \Lambda, A\in \Lambda$, dann $(F A)\in\Lambda$
\item
  (Abstraktion)
  wenn $x\in V,B\in\Lambda$, dann $(\lambda x.B)\in\Lambda$
\end{itemize}

das sind also Lambda-Terme: 
$x, (\lambda x.x), ((x z) (y z)),
(\lambda x.(\lambda y.(\lambda z.((x z) (y z)))))$

\end{slide}

\begin{slide}{verkürzte Notation}

\begin{itemize}
\item
  Applikation als links-assoziativ auffassen,
  Klammern weglassen:

  \[ (\dots ((F A_1) A_2) \dots A_n) \sim F A_1 A_2 \dots A_n \]

  Beispiel: $((x z)(y z)) \sim x z (y z)$

\item
  geschachtelte Abstraktionen
  unter ein Lambda schreiben:

  \[ \lambda x_1.(\lambda x_2. \dots (\lambda x_n.B)\dots)
  \sim \lambda x_1 x_2 \dots x_n . B \]

  Beispiel: $\lambda x.\lambda y.\lambda z.B \sim
  \lambda x y z.B$

\end{itemize}

\end{slide}

\begin{slide}{Mehrstellige Funktionen}

die vorigen Abkürzungen sind sinnvoll,
denn $(\lambda x_1 \dots x_n.B)A_1 \dots A_n$

verhält sich wie eine Anwendung einer mehrstelligen Funktion.

um die zu beschreiben,
genügt also ein Kalkül für einstellige Funktionen.


(Beispiel)



\end{slide}



%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "~/edu/ws06/sym/folien/sym"
%%% End: 
