text‹\noindent In Exercise~\ref{ex:Tree} we defined a function 🍋‹flatten› f 🍋‹flatten›is based on ‹@›andisthus, like 🍋‹rev›,
quadratic. A linear time version of 🍋‹flatten› again reqires an extra
argument, the accumulator. Define› (*<*)primrec(*>*)flatten2 :: "'a tree \<Rightarrow> 'a list \<Rightarrow> 'a list"(*<*)where "flatten2 Tip xs = xs" | "flatten2 (Node l x r) xs = flatten2 l (x#(flatten2 r xs))" (*>*)
text‹\noindent and prove› (*<*) lemma [simp]: "∀xs. flatten2 t xs = flatten t @ xs" apply(induct_tac t) by(auto) (*>*) lemma"flatten2 t [] = flatten t" (*<*) by(simp)
end (*>*)
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.20 Sekunden
(vorverarbeitet am 2026-04-27)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.