src/HOL/IOA/ABP/Correctness.ML
changeset 1667 6056e9c967d9
parent 1570 fd1b9c721ac7
child 1673 d22110ddd0af
equal deleted inserted replaced
1666:5183de4c496d 1667:6056e9c967d9
   225 (* 3 thms that do not hold generally! The lucky restriction here is 
   225 (* 3 thms that do not hold generally! The lucky restriction here is 
   226    the absence of internal actions. *)
   226    the absence of internal actions. *)
   227 goal Correctness.thy 
   227 goal Correctness.thy 
   228       "is_weak_pmap (%id.id) sender_ioa sender_ioa";
   228       "is_weak_pmap (%id.id) sender_ioa sender_ioa";
   229 by (simp_tac (!simpset addsimps [Solve.is_weak_pmap_def]) 1);
   229 by (simp_tac (!simpset addsimps [Solve.is_weak_pmap_def]) 1);
   230 by (rtac conjI 1);
       
   231 (* start states *)
       
   232 by (rtac ballI 1);
       
   233 by (Simp_tac 1);
       
   234 (* main-part *)
   230 (* main-part *)
   235 by (REPEAT (rtac allI 1));
   231 by (REPEAT (rtac allI 1));
   236 by (rtac imp_conj_lemma 1);
   232 by (rtac imp_conj_lemma 1);
   237 by (Action.action.induct_tac "a" 1);
   233 by (Action.action.induct_tac "a" 1);
   238 (* 7 cases *)
   234 (* 7 cases *)
   241 
   237 
   242 (* 2 copies of before *)
   238 (* 2 copies of before *)
   243 goal Correctness.thy 
   239 goal Correctness.thy 
   244       "is_weak_pmap (%id.id) receiver_ioa receiver_ioa";
   240       "is_weak_pmap (%id.id) receiver_ioa receiver_ioa";
   245 by (simp_tac (!simpset addsimps [Solve.is_weak_pmap_def]) 1);
   241 by (simp_tac (!simpset addsimps [Solve.is_weak_pmap_def]) 1);
   246 by (rtac conjI 1);
       
   247  (* start states *)
       
   248 by (rtac ballI 1);
       
   249 by (Simp_tac 1);
       
   250 (* main-part *)
   242 (* main-part *)
   251 by (REPEAT (rtac allI 1));
   243 by (REPEAT (rtac allI 1));
   252 by (rtac imp_conj_lemma 1);
   244 by (rtac imp_conj_lemma 1);
   253 by (Action.action.induct_tac "a" 1);
   245 by (Action.action.induct_tac "a" 1);
   254 (* 7 cases *)
   246 (* 7 cases *)
   256 qed"receiver_unchanged";
   248 qed"receiver_unchanged";
   257 
   249 
   258 goal Correctness.thy 
   250 goal Correctness.thy 
   259       "is_weak_pmap (%id.id) env_ioa env_ioa";
   251       "is_weak_pmap (%id.id) env_ioa env_ioa";
   260 by (simp_tac (!simpset addsimps [Solve.is_weak_pmap_def]) 1);
   252 by (simp_tac (!simpset addsimps [Solve.is_weak_pmap_def]) 1);
   261 by (rtac conjI 1);
       
   262 (* start states *)
       
   263 by (rtac ballI 1);
       
   264 by (Simp_tac 1);
       
   265 (* main-part *)
   253 (* main-part *)
   266 by (REPEAT (rtac allI 1));
   254 by (REPEAT (rtac allI 1));
   267 by (rtac imp_conj_lemma 1);
   255 by (rtac imp_conj_lemma 1);
   268 by (Action.action.induct_tac "a" 1);
   256 by (Action.action.induct_tac "a" 1);
   269 (* 7 cases *)
   257 (* 7 cases *)