src/HOL/Imperative_HOL/Ref.thy
changeset 37803 582d0fbd201e
parent 37802 f2e9c104cebd
child 37804 0145e59c1f6c
equal deleted inserted replaced
37802:f2e9c104cebd 37803:582d0fbd201e
   249 lemma present_update [simp]: 
   249 lemma present_update [simp]: 
   250   "present (Array.update a i v h) = present h"
   250   "present (Array.update a i v h) = present h"
   251   by (simp add: Array.update_def set_array_def expand_fun_eq present_def)
   251   by (simp add: Array.update_def set_array_def expand_fun_eq present_def)
   252 
   252 
   253 lemma array_present_set [simp]:
   253 lemma array_present_set [simp]:
   254   "array_present a (set r v h) = array_present a h"
   254   "array_present (set r v h) = array_present h"
   255   by (simp add: array_present_def set_def)
   255   by (simp add: array_present_def set_def expand_fun_eq)
   256 
   256 
   257 lemma array_present_alloc [simp]:
   257 lemma array_present_alloc [simp]:
   258   "array_present a h \<Longrightarrow> array_present a (snd (alloc v h))"
   258   "array_present h a \<Longrightarrow> array_present (snd (alloc v h)) a"
   259   by (simp add: array_present_def alloc_def Let_def)
   259   by (simp add: array_present_def alloc_def Let_def)
   260 
   260 
   261 lemma set_array_set_swap:
   261 lemma set_array_set_swap:
   262   "set_array a xs (set r x' h) = set r x' (set_array a xs h)"
   262   "set_array a xs (set r x' h) = set r x' (set_array a xs h)"
   263   by (simp add: set_array_def set_def)
   263   by (simp add: set_array_def set_def)