2015-10-06 16:49:42 +02:00
\documentclass { article}
\usepackage { amsmath}
\usepackage { nccmath}
\DeclareMathSizes { 10} { 10} { 10} { 10}
\setlength { \parindent } { 0pt}
2015-10-07 15:58:49 +02:00
\title { Struckturelle Induktion}
2015-10-06 16:49:42 +02:00
\date { }
\begin { document}
\maketitle
2015-10-07 14:02:58 +02:00
%----------------------------------%
\textbf { Referenzaufgabe:} \\
2015-10-06 16:49:42 +02:00
\\
2015-10-07 14:02:58 +02:00
\textbf { data List} a = $ Nil $ $ | $ $ Cons $ a \textbf { List} a
2015-10-06 16:49:42 +02:00
\begin { align*}
2015-10-07 14:02:58 +02:00
snoc\; Nil\; a & = Cons\; a\; Nil\\
snoc(Cons\; x\; xs)\; a & = Cons\; x\; (snoc\; xs\; a)
2015-10-06 16:49:42 +02:00
\end { align*}
2015-10-07 14:02:58 +02:00
\begin { align*}
Nil + ys & = ys\\
(Cons\; x\; xs) + ys & = Cons\; x\; (xs + ys)
\end { align*}
\underline { Beweisen sie dass:} \\
$ \forall e, \; xs, \; ys \\ xs + ( Cons \; e \; ys ) = ( snoc \; xs \; e ) + ys $ \\ \\
%----------------------------------%
2015-10-07 15:58:49 +02:00
\textbf { Induktionsanfang (IA):} \\ \\
2015-10-07 14:02:58 +02:00
$ xs = Nil $ \; \; $ \Rightarrow $ Einsetzen und beide Seiten maximal vereinfachen
\begin { align*}
Nil+(Cons\; e\; ys) & = (snoc\; Nil\; e)+ys\\
Cons\; e\; ys & = (snoc\; Nil\; e)+ys\\
Cons\; e\; ys & = (Cons e Nil) + ys\\
Cons\; e\; ys & = Cons\; e (Nil + ys)\\
Cons\; e\; ys & = Cons\; e\; ys
\end { align*}
2015-10-07 15:58:49 +02:00
\textbf { Induktionshypothese/-voraussetzeung (IH/IV):} \\ \\
- $ xs $ durch allgemeines as ersetzen
\[ as + ( Cons \; e \; ys ) = ( snoc \; as \; e ) + ys \]
\newpage
\textbf { Induktionsschritt (IS):} \\ \\
$ as \; = \; Cons \; a \; as $ \\ $ \Rightarrow $ Einsetzen und wieder beide Seiten maximal vereinfachen,auf einer Seite die Induktionshypothese reinfrikeln (idR. nur auf einer Seite,z.B. auf der linken)
\begin { align*}
Cons\; a\; as\; +(Cons\; e\; ys)\; & =\; snoc\; ((Cons\; a\; as)\; e)+ys \\
Cons\; a\; (\underbrace { as\; +(Cons\; e\; ys)} _ { IH\; links} )\; & =\; snoc\; ((Cons\; a\; as)\; e)+ys\\
Cons\; a\; (\underbrace { (snoc\; as\; e)\; +\; ys)} _ { IH\; rechts} )\; & =\; snoc\; ((Cons\; a\; as)\; e)+ys\\
Cons\; a\; ((snoc\; as\; e)\; +\; ys))\; & =\; Cons\; a\; ((\; snoc\; as\; e)\; +\; ys))
\end { align*} \\
\textbf { Q.E.D. und fertig!} \\
\\ \\
2015-10-06 16:49:42 +02:00
\begin { tiny}
\copyright \ Joint-Troll-Expert-Group (JTEG) 2015
\end { tiny}
\end { document}