Co2sobj_prop.thy
changeset 3 b6ee5f35c41f
parent 1 7d9c0ed02b56
child 4 e9c5594d5963
--- a/Co2sobj_prop.thy	Mon May 06 02:04:27 2013 +0800
+++ b/Co2sobj_prop.thy	Wed May 08 10:00:38 2013 +0800
@@ -18,11 +18,18 @@
           simp:cf2sfile_def is_file_simps is_dir_simps current_files_simps sectxt_of_obj_simps 
                get_parentfs_ctxts_simps)
 
+lemma sroot_only:
+  "cf2sfile s [] = (\<lambda> b. if b then None else Some sroot)"
+by (rule ext, simp add:cf2sfile_def)
+
 lemma cf2sfile_open_some1:
   "\<lbrakk>valid (Open p f flag fd (Some inum) # s); f' \<in> current_files s\<rbrakk>
    \<Longrightarrow> cf2sfile (Open p f flag fd (Some inum) # s) f' = cf2sfile s f'"
 apply (frule vd_cons, frule vt_grant_os, frule noroot_events, rule ext)
-apply (induct f')
+apply (induct f', simp add:sroot_only)
+apply simp
+apply (frule parentf_in_current', simp+)
+apply (auto simp:cf2sfile_def split:if_splits option.splits)
 apply (auto  split:if_splits option.splits    dest!:current_has_sec'
           simp:cf2sfile_def is_file_simps is_dir_simps current_files_simps sectxt_of_obj_simps 
                get_parentfs_ctxts_simps)