diff -r d9dc04c3ea90 -r dfde07c7cd6b no_shm_selinux/Temp.thy --- a/no_shm_selinux/Temp.thy Thu Jan 09 14:39:00 2014 +0800 +++ b/no_shm_selinux/Temp.thy Thu Jan 09 19:09:09 2014 +0800 @@ -264,11 +264,18 @@ "ss \ sss \ \ ss' \ sss. ss \ ss'" lemma s2ss_included_sobj: - "\alive s obj; co2sobj s obj= Some sobj\ \ sobj \ (s2ss s)" + "\dalive s obj; co2sobj s obj= Some sobj\ \ sobj \ (s2ss s)" by (simp add:s2ss_def, rule_tac x = obj in exI, simp) +fun init_dobj_related :: "t_sobject \ t_dobject \ bool" +where + "init_dobj_related (S_proc (pi, sec, fds) tag) (D_proc p') = (pi = Init p')" +| "init_dobj_related (S_file sfs tag) (D_file f) = (\ sf \ sfs. sfile_related sf f)" +| "init_dobj_related (S_dir sf) (D_dir f) = (sfile_related sf f)" +| "init_dobj_related _ _ = False" + lemma init_ss_in_prop: - "\s2ss s \ static; co2sobj s obj = Some sobj; alive s obj; init_obj_related sobj obj\ + "\s2ss s \ static; co2sobj s obj = Some sobj; dalive s obj; init_dobj_related sobj obj\ \ \ ss \ static. sobj \ ss" apply (simp add:init_ss_in_def init_ss_eq_def) apply (erule bexE, erule conjE)