mirror of
https://gitlab.cs.fau.de/ik15ydit/latexandmore.git
synced 2024-11-25 13:09:32 +01:00
additions in SystemF part
This commit is contained in:
parent
7f8bdddd7c
commit
7710fd65ac
@ -6,7 +6,7 @@
|
||||
\title{System F und Reduktionsreihenfolge}
|
||||
\date{ }
|
||||
\begin{document}
|
||||
\section{Generelles}
|
||||
\section{Generelles}
|
||||
\subsection{Normale-/Lazy-Reduktion}
|
||||
- pre-order durch Baum ("von unten nach oben auswerten") \\
|
||||
- leftmost-outermost\\
|
||||
@ -31,10 +31,38 @@
|
||||
& dann\;rechtes\;pow\\
|
||||
& dann\;linkes\;pow
|
||||
\end{align*}
|
||||
|
||||
|
||||
|
||||
|
||||
\subsection{How to work with Lambda}
|
||||
- Buchstabe hinter $\lambda $ wegnehmen\\
|
||||
- Term von der respektiven Stelle hinten entfernen\\
|
||||
- alle Vorkommen des Buchstabens mit dem Term ersetzen\\
|
||||
- idealerweise bei mehreren $\lambda$ in einem Term \textbf{immer} verschiedene Buchstaben verwenden
|
||||
\section{SS14-Probeklausur Beispielaufgabe}
|
||||
\subsection*{1) Reduktion}
|
||||
\subsubsection*{a) Normal/Lazy}
|
||||
\begin{align*}
|
||||
pow2\;three\; &=\; three\;(mult\;two)\;one\\
|
||||
&=\; \lambda f\,a\, .\,f\,(\,f\,(\,f\;a\,)(\,mult\;two)\;one\\
|
||||
&=\; \lambda a\, .\, (mult\;two)\,((mult\;two)\,((mult\;two)\;a\,)\;one\\
|
||||
&=\; (mult\;two)\,((mult\;two)\,((mult\;two)\;one\,)
|
||||
\end{align*}
|
||||
\subsubsection*{b) Apllikativer Reihenfolge}
|
||||
\begin{align*}
|
||||
pow2\;three\; &=\; pow2\; (\, \lambda f\,a\, .\,f\,(\,f\,(\,f\;a\,) \,)\\
|
||||
&=\; (\, \lambda f\,a\, .\,f\,(\,f\,(\,f\;a\,) \,)(mult\;two)\;one\\
|
||||
&=\; (\, \lambda f\,a\, .\,f\,(\,f\,(\,f\;a\,) \,)(mult\;\lambda g\,b\, .\,g\,(\,g\;b\,))\;one\\
|
||||
&=\; (\, \lambda f\,a\, .\,f\,(\,f\,(\,f\;a\,) \,)(mult\;\lambda g\,b\, .\,g\,(\,g\;b\,))\;(\lambda h\,c\, .\,h\;c)\\
|
||||
\end{align*}
|
||||
kleine Anmerkung hierzu noch:
|
||||
\[
|
||||
\underbrace{(\, \lambda f\,a\, .\,f\,(\,f\,(\,f\;a\,) \,)}_{oberste\;Funktion}
|
||||
\underbrace{(mult\;\lambda g\,b\, .\,g\,(\,g\;b\,))}_{erstes\;Argument}
|
||||
\;
|
||||
\underbrace{(\lambda h\,c\, .\,h\;c)}_{zweites\;argument}
|
||||
\]
|
||||
d.h. wir w\"urden hier beim ersten Argument weitermachen und "mult" aufl\"osen
|
||||
(beim zweiten g\"abe es gerade auch gar nichts mehr zu machen)
|
||||
|
||||
\subsection*{2) Typherleitung}
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user