Induktion, Koinduktion, Aufbau

This commit is contained in:
Marco Ammon 2018-10-04 18:12:22 +02:00
parent 2c42a5f573
commit d8341f0c81
2 changed files with 28 additions and 0 deletions

Binary file not shown.

View File

@ -109,6 +109,34 @@
\end{itemize}
\item Subjektreduktion: Wenn $\Gamma\vdash t:\alpha$ und $t \rightarrow_\beta^* s$, dann auch $\Gamma \vdash s:\alpha$, aber nicht umgekehrt! \satz{3.38}{45}
\end{itemize}
\section*{Induktive Datentypen}
\subsection*{Mehrsortigkeit}
\subsection*{Strukturelle Induktion}
\begin{itemize}
\item über einsortige Datentypen \siehe{S. 63}
\begin{itemize}
\item Induktionsanfang: \enquote{Anfangs}-Konstruktor (etwa $Nil$)
\item Induktionsschritt: alle anderen Konstruktoren (etwa $cons$)
\end{itemize}
\item über mehrsortige Datentypen \siehe{S. 64}
\begin{itemize}
\item Funktionen müssen immer auf allen Datentypen definiert werden
\end{itemize}
\end{itemize}
\subsection*{Kodatentypen}
\subsection*{Koinduktion}
\begin{itemize}
\item Bisimulation $R\subseteq A^\omega \times A^\omega$, wenn für alle $(s,t) \in R$ gilt: \defin{4.39}{74}
\begin{align*}
hd\ s &= hd\ t\\
(tl\ s)\ &R\ (tl\ t)
\end{align*}
\item Wenn $R$ eine Bisimulation ist, gilt $sRt \Rightarrow s=t$ \satz{4.40}{74}
\end{itemize}
\subsection*{Kodatentypen mit Alternativen}
\section*{System F}
\section*{Polymorphie}
\subsection*{ML-Polymorphie}
\section*{Unifikationsalgorithmus (Martelli/Montanari)}
\begin{align*}
&S \cup \lbrace x \pteq x\rbrace &&\rightarrow S &&\text{(delete)}\\