diff -r 271e9818b6f6 -r 99af1986e1e0 simple_selinux/Current_prop.thy --- a/simple_selinux/Current_prop.thy Mon Dec 02 10:52:40 2013 +0800 +++ b/simple_selinux/Current_prop.thy Tue Dec 03 22:42:48 2013 +0800 @@ -6,43 +6,6 @@ context flask begin -lemma procs_of_shm_prop1: "\ p_flag \ procs_of_shm s h; valid s\ \ h \ current_shms s" -apply (induct s arbitrary:p_flag) -apply (case_tac p_flag, simp, drule init_procs_has_shm, simp) -apply (frule vd_cons, frule vt_grant_os) -apply (case_tac a, auto split:if_splits option.splits) -done - -lemma procs_of_shm_prop2: "\(p, flag) \ procs_of_shm s h; valid s\ \ p \ current_procs s" -apply (induct s arbitrary:p flag) -apply (simp, drule init_procs_has_shm, simp) -apply (frule vd_cons, frule vt_grant_os) -apply (case_tac a, auto split:if_splits option.splits) -done - -lemma procs_of_shm_prop2': - "\p \ current_procs s; valid s\ \ \ flag h. (p, flag) \ procs_of_shm s h" -by (auto dest:procs_of_shm_prop2) - -lemma procs_of_shm_prop3: "\(p, flag) \ procs_of_shm s h; (p, flag') \ procs_of_shm s h; valid s\ - \ flag = flag'" -apply (induct s arbitrary:p flag flag') -apply (simp, drule_tac flag = flag in init_procs_has_shm, drule_tac flag = flag' in init_procs_has_shm, simp) -apply (frule vd_cons, frule vt_grant_os) -apply (case_tac a, auto split:if_splits option.splits dest:procs_of_shm_prop2) -done - -lemma procs_of_shm_prop4: "\(p, flag) \ procs_of_shm s h; valid s\ \ flag_of_proc_shm s p h = Some flag" -apply (induct s arbitrary:p flag) -apply (simp, drule init_procs_has_shm, simp) -apply (frule vd_cons, frule vt_grant_os) -apply (case_tac a, auto split:if_splits option.splits dest:procs_of_shm_prop2) -done - -lemma procs_of_shm_prop4': - "\flag_of_proc_shm s p h = None; valid s\ \ \ flag. (p, flag) \ procs_of_shm s h" -by (auto dest:procs_of_shm_prop4) - lemma not_init_intro_proc: "\p \ current_procs s; valid s\ \ deleted (O_proc p) s \ p \ init_procs" using not_deleted_init_proc by auto @@ -51,47 +14,6 @@ "\p \ current_procs s; valid s\ \ \ (\ deleted (O_proc p) s \ p \ init_procs)" using not_deleted_init_proc by auto -lemma info_shm_flow_in_procs: - "\info_flow_shm s p p'; valid s\ \ p \ current_procs s \ p' \ current_procs s" -by (auto intro:procs_of_shm_prop2 simp:info_flow_shm_def one_flow_shm_def) - -lemma flag_of_proc_shm_prop1: - "\flag_of_proc_shm s p h = Some flag; valid s\ \ (p, flag) \ procs_of_shm s h" -apply (induct s arbitrary:p flag) -apply (simp, drule init_shmflag_has_proc, simp) -apply (frule vd_cons, frule vt_grant_os) -apply (case_tac a, auto split:if_splits option.splits dest:procs_of_shm_prop2) -done - - - -lemma has_same_inode_in_current: - "\has_same_inode s f f'; valid s\ \ f \ current_files s \ f' \ current_files s" -by (auto simp add:has_same_inode_def current_files_def same_inode_files_def - is_file_def split:if_splits option.splits) - - -lemma has_same_inode_prop1: - "\has_same_inode s f f'; is_file s f; valid s\ \ is_file s f'" -by (auto simp:has_same_inode_def same_inode_files_def is_file_def) - -lemma has_same_inode_prop1': - "\has_same_inode s f f'; is_file s f'; valid s\ \ is_file s f" -by (auto simp:has_same_inode_def is_file_def same_inode_files_def - split:if_splits option.splits) - -lemma has_same_inode_prop2: - "\has_same_inode s f f'; file_of_proc_fd s p fd = Some f; valid s\ \ is_file s f'" -apply (drule has_same_inode_prop1) -apply (simp add:file_of_pfd_is_file, simp+) -done - -lemma has_same_inode_prop2': - "\has_same_inode s f f'; file_of_proc_fd s p fd = Some f'; valid s\ \ is_file s f" -apply (drule has_same_inode_prop1') -apply (simp add:file_of_pfd_is_file, simp+) -done - lemma tobj_in_init_alive: "tobj_in_init obj \ init_alive obj" by (case_tac obj, auto)