equal
deleted
inserted
replaced
199 lemma map_add_assoc[simp]: "m1 ++ (m2 ++ m3) = (m1 ++ m2) ++ m3" |
199 lemma map_add_assoc[simp]: "m1 ++ (m2 ++ m3) = (m1 ++ m2) ++ m3" |
200 apply(rule ext) |
200 apply(rule ext) |
201 apply(simp add: map_add_def split:option.split) |
201 apply(simp add: map_add_def split:option.split) |
202 done |
202 done |
203 |
203 |
204 lemma map_add_comm: "dom m1 \<inter> dom m2 = {} \<Longrightarrow> m1++m2 = m2++m1" |
|
205 apply(rule ext) |
|
206 apply(fastsimp simp:map_add_def split:option.split) |
|
207 done |
|
208 |
|
209 lemma map_add_Some_iff: |
204 lemma map_add_Some_iff: |
210 "((m ++ n) k = Some x) = (n k = Some x | n k = None & m k = Some x)" |
205 "((m ++ n) k = Some x) = (n k = Some x | n k = None & m k = Some x)" |
211 apply (unfold map_add_def) |
206 apply (unfold map_add_def) |
212 apply (simp (no_asm) split add: option.split) |
207 apply (simp (no_asm) split add: option.split) |
213 done |
208 done |
338 |
333 |
339 lemma dom_overwrite[simp]: |
334 lemma dom_overwrite[simp]: |
340 "dom(f(g|A)) = (dom f - {a. a : A - dom g}) Un {a. a : A Int dom g}" |
335 "dom(f(g|A)) = (dom f - {a. a : A - dom g}) Un {a. a : A Int dom g}" |
341 by(auto simp add: dom_def overwrite_def) |
336 by(auto simp add: dom_def overwrite_def) |
342 |
337 |
|
338 lemma map_add_comm: "dom m1 \<inter> dom m2 = {} \<Longrightarrow> m1++m2 = m2++m1" |
|
339 apply(rule ext) |
|
340 apply(fastsimp simp:map_add_def split:option.split) |
|
341 done |
|
342 |
343 subsection {* ran *} |
343 subsection {* ran *} |
344 |
344 |
345 lemma ran_empty[simp]: "ran empty = {}" |
345 lemma ran_empty[simp]: "ran empty = {}" |
346 apply (unfold ran_def) |
346 apply (unfold ran_def) |
347 apply (simp (no_asm)) |
347 apply (simp (no_asm)) |