\begin{slide}{Umgebungen}

Umgebung ist (partielle) Funktion 
von Name nach Wert

Realisierungen:
\verb|type Env = String -> Int|

\begin{verbatim}
import Data.Map ; type Env = Map String Int
\end{verbatim}

Operationen:
\begin{itemize}\itemsep 1pt
\item \verb|empty :: Env| leere Umgebung
\item \verb|lookup :: Env -> String -> Int|

  Notation: $e(x)$
\item \verb|extend :: Env -> String -> Int -> Env|

  Notation: $e[x/v]$
\end{itemize}

Spezifikation: \itemsep 1pt
\begin{itemize}
\item $e[x/v](x) = v$,
\quad $x\neq y \Rightarrow e[x/v](y) = e(y)$
\end{itemize}

\end{slide}
