src/HOL/Unix/Unix.thy
changeset 13601 fd3e3d6b37b2
parent 13421 8fcdf4a26468
child 14981 e73f8140af78
equal deleted inserted replaced
13600:9702c8636a7b 13601:fd3e3d6b37b2
   462   next
   462   next
   463     case rmdir
   463     case rmdir
   464     with root show ?thesis by cases auto
   464     with root show ?thesis by cases auto
   465   next
   465   next
   466     case readdir
   466     case readdir
   467     with root show ?thesis by cases auto
   467     with root show ?thesis by cases (simp (asm_lr))+
   468   qed
   468   qed
   469 qed
   469 qed
   470 
   470 
   471 text {*
   471 text {*
   472   \medskip Apparently, file-system transitions are \emph{type-safe} in
   472   \medskip Apparently, file-system transitions are \emph{type-safe} in
  1080             also from lookup have "\<dots> = lookup root (path @ [y])"
  1080             also from lookup have "\<dots> = lookup root (path @ [y])"
  1081               by (simp only: lookup_append_some)
  1081               by (simp only: lookup_append_some)
  1082             also have "\<dots> \<noteq> None"
  1082             also have "\<dots> \<noteq> None"
  1083             proof -
  1083             proof -
  1084               from ys obtain us u where rev_ys: "ys = us @ [u]"
  1084               from ys obtain us u where rev_ys: "ys = us @ [u]"
  1085                 by (cases ys rule: rev_cases) auto
  1085                 by (cases ys rule: rev_cases) fastsimp+
  1086               with tr path
  1086               with tr path
  1087               have "lookup root ((path @ [y]) @ (us @ [u])) \<noteq> None \<or>
  1087               have "lookup root ((path @ [y]) @ (us @ [u])) \<noteq> None \<or>
  1088                   lookup root ((path @ [y]) @ us) \<noteq> None"
  1088                   lookup root ((path @ [y]) @ us) \<noteq> None"
  1089                 by cases (auto dest: access_some_lookup)
  1089                 by cases (auto dest: access_some_lookup)
  1090               thus ?thesis by (blast dest!: lookup_some_append)
  1090               thus ?thesis by (blast dest!: lookup_some_append)