equal
deleted
inserted
replaced
257 lemma access_update_other: "path' \<parallel> path \<Longrightarrow> |
257 lemma access_update_other: "path' \<parallel> path \<Longrightarrow> |
258 access (update path' opt root) path uid perms = access root path uid perms" |
258 access (update path' opt root) path uid perms = access root path uid perms" |
259 proof - |
259 proof - |
260 assume "path' \<parallel> path" |
260 assume "path' \<parallel> path" |
261 then obtain y z xs ys zs where |
261 then obtain y z xs ys zs where |
262 "y \<noteq> z" and "path' = xs @ y # ys" and "path = xs @ z # zs" |
262 "y \<noteq> z" and "path' = xs @ y # ys" and "path = xs @ z # zs" |
263 by (blast dest: parallel_decomp) |
263 by (blast dest: parallel_decomp) |
264 hence "lookup (update path' opt root) path = lookup root path" |
264 hence "lookup (update path' opt root) path = lookup root path" |
265 by (blast intro: lookup_update_other) |
265 by (blast intro: lookup_update_other) |
266 thus ?thesis by (simp only: access_def) |
266 thus ?thesis by (simp only: access_def) |
267 qed |
267 qed |