diff --git a/documents/Programmierparadigmen/lambda.tex b/documents/Programmierparadigmen/Lambda.tex similarity index 91% rename from documents/Programmierparadigmen/lambda.tex rename to documents/Programmierparadigmen/Lambda.tex index 1267cdb..e8c041f 100644 --- a/documents/Programmierparadigmen/lambda.tex +++ b/documents/Programmierparadigmen/Lambda.tex @@ -47,6 +47,10 @@ Die Funktionsapplikation sei linksassoziativ. Es gilt also: \end{satz} \section{Reduktionen} +\begin{definition}[Redex]\xindex{Redex}% + Eine $\lambda$-Term der Form $(\lambda x. t_1) t_2$ heißt Redex. +\end{definition} + \begin{definition}[$\alpha$-Äquivalenz] Zwei Terme $T_1, T_2$ heißen $\alpha$-Äquivalent, wenn $T_1$ durch konsistente Umbenennung in $T_2$ überführt werden kann. @@ -64,11 +68,15 @@ Die Funktionsapplikation sei linksassoziativ. Es gilt also: \end{beispiel} \begin{definition}[$\beta$-Äquivalenz] - TODO + Eine $\beta$-Reduktion ist die Funktionsanwendung auf einen Redex: + \[(\lambda x. t_1) t_2 \Rightarrow t_1 [x \mapsto t_2]\] \end{definition} \begin{beispiel}[$\beta$-Äquivalenz] - TODO + \begin{defenum} + \item $(\lambda x.x) y \overset{\beta}{\Rightarrow} x[x \mapsto y] = y$ + \item $(\lambda x. x (\lambda x. x)) (y z) \overset{\beta}{\Rightarrow} (x(\lambda x. x))[x \mapsto y z] (y z) (\lambda x. x)$ + \end{defenum} \end{beispiel} \begin{definition}[$\eta$-Äquivalenz] diff --git a/documents/Programmierparadigmen/Programmierparadigmen.pdf b/documents/Programmierparadigmen/Programmierparadigmen.pdf index 9bac72e..48ada31 100644 Binary files a/documents/Programmierparadigmen/Programmierparadigmen.pdf and b/documents/Programmierparadigmen/Programmierparadigmen.pdf differ diff --git a/documents/Programmierparadigmen/Programmierparadigmen.tex b/documents/Programmierparadigmen/Programmierparadigmen.tex index 55a045f..38e4f3b 100644 --- a/documents/Programmierparadigmen/Programmierparadigmen.tex +++ b/documents/Programmierparadigmen/Programmierparadigmen.tex @@ -96,7 +96,7 @@ \input{Programmiersprachen} \input{Programmiertechniken} \input{Logik} -\input{lambda} +\input{Lambda} \input{Typinferenz} \input{Parallelitaet} \input{Haskell}