diff -r 0753309adfc7 -r 6f9a588bcfc4 Dynamic_static.thy --- a/Dynamic_static.thy Thu Oct 24 09:42:35 2013 +0800 +++ b/Dynamic_static.thy Wed Oct 30 08:18:40 2013 +0800 @@ -1,32 +1,10 @@ theory Dynamic_static imports Main Flask Static Init_prop Valid_prop Tainted_prop Delete_prop Co2sobj_prop S2ss_prop S2ss_prop2 + Temp begin context tainting_s begin -definition init_ss_eq:: "t_static_state \ t_static_state \ bool" (infix "\" 100) -where - "ss \ ss' \ ss \ ss' \ {sobj. is_init_sobj sobj \ sobj \ ss'} \ ss" - -lemma [simp]: "ss \ ss" -by (auto simp:init_ss_eq_def) - -definition init_ss_in:: "t_static_state \ t_static_state set \ bool" (infix "\" 101) -where - "ss \ sss \ \ ss' \ sss. ss \ ss'" - -lemma s2ss_included_sobj: - "\alive s obj; co2sobj s obj= Some sobj\ \ sobj \ (s2ss s)" -by (simp add:s2ss_def, rule_tac x = obj in exI, simp) - -lemma init_ss_in_prop: - "\s2ss s \ static; co2sobj s obj = Some sobj; alive s obj; init_obj_related sobj obj\ - \ \ ss \ static. sobj \ ss" -apply (simp add:init_ss_in_def init_ss_eq_def) -apply (erule bexE, erule conjE) -apply (rule_tac x = ss' in bexI, auto dest!:s2ss_included_sobj) -done - @@ -55,17 +33,6 @@ "is_inited s obj = (\ is_created s obj)" by (auto simp:is_created_def is_inited_def) -(* recorded in our static world *) -fun recorded :: "t_object \ bool" -where - "recorded (O_proc p) = True" -| "recorded (O_file f) = True" -| "recorded (O_dir f) = True" -| "recorded (O_node n) = False" (* cause socket is temperary not considered *) -| "recorded (O_shm h) = True" -| "recorded (O_msgq q) = True" -| "recorded _ = False" - @@ -95,6 +62,16 @@ sorry +(* recorded in our static world *) +fun recorded :: "t_object \ bool" +where + "recorded (O_proc p) = True" +| "recorded (O_file f) = True" +| "recorded (O_dir f) = True" +| "recorded (O_node n) = False" (* cause socket is temperary not considered *) +| "recorded (O_shm h) = True" +| "recorded (O_msgq q) = True" +| "recorded _ = False" lemma enrichability: "\valid s; \ obj \ objs. alive s obj \ is_created s obj \ recorded obj\