lemma map_of_map_as_map_upd: "distinct (map f zs) \ map_of (map (\ p. (f p, g p)) zs) = Map.empty (map f zs [\] map g zs)" by (induct zs) auto
(* In analogy to Map.map_of_SomeD *) lemma map_upds_SomeD: "(m(xs[\]ys)) k = Some y \ k \ (set xs) \ (m k = Some y)" apply (induct xs arbitrary: m ys) apply simp apply (case_tac ys) apply fastforce+ done
lemma map_of_upds_SomeD: "((map_of m) (xs[\]ys)) k = Some y \<Longrightarrow> k \<in> (set (xs @ map fst m))" by (auto dest: map_upds_SomeD map_of_SomeD fst_in_set_lemma)
lemma map_of_map_prop: "\map_of (map f xs) k = Some v; \x \ set xs. P1 x; \x. P1 x \ P2 (f x)\ \ P2 (k, v)" by (induct xs) (auto split: if_split_asm)
lemma map_of_map2: "\x \ set xs. (fst (f x)) = (fst x) \
map_of (map f xs) a = map_option (\<lambda> b. (snd (f (a, b)))) (map_of xs a)" by (induct xs, auto)
end
¤ 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.0.11Bemerkung:
¤
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 ist noch experimentell.