src/HOL/Unix/Unix.thy
changeset 11072 8f47967ecc80
parent 11004 af8008e4de96
child 11549 e7265e70fd7c
equal deleted inserted replaced
11071:4e542a09b582 11072:8f47967ecc80
   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