Commit fa4220a5 authored by Florian Kothmeier's avatar Florian Kothmeier

Add Korekursion

parent 758e6c92
\section{Korekursion und Koinduktion \hfill 8 Punkte}
\begin{multicols}{2}
\begin{verbatim}
codata S a where
hd: S a -> a
tl: S a -> S a
codata IT a where
node: IT a -> a
left: IT a -> IT a
right: IT a -> IT a
\end{verbatim}
\end{multicols}
\begin{multicols}{2}
\begin{verbatim}
hd (genl t) = node t
tl (genl t) = genl (left t)
hd (genr t) = node t
tl (genr t) = genl (right t)
hd (const x) = x
tl (const x) = const x
node (slant s) = hd s
left (slant s) = slant (tl s)
right (slant s) = slant s
\end{verbatim}
\end{multicols}
\begin{enumerate}
\item \marginpar{\textbf{5 Punkte}} Zeigen Sie, dass folgende Aussagen gelten:\\
\begin{verbatim}
genl (slant s) = s
genr (slant s) = const (hd s)
\end{verbatim}
\item \marginpar{\textbf{3 Punkte}} Definieren Sie eine korekursive Funktion \texttt{layers: S a -> IT a}, die einen Baum erzeugt, in dem das Wurzelelement den Wert des ersten Elements des Parameters hat. Die Kinder der Wurzel, den Wert des zweiten Elements. Die Kinder der Kinder den Wert des dritten Elements, usw.
\end{enumerate}
\ No newline at end of file
......@@ -11,6 +11,7 @@
\usepackage[shortlabels]{enumitem} %
\usepackage[per-mode=fraction,binary-units=true,exponent-product=\cdot]{siunitx}
\usepackage{amsmath} %
\usepackage{multicol}
\usepackage{tikz} %
\usetikzlibrary{arrows,automata,positioning,matrix} %
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment