src/HOL/UNITY/Comp/Alloc.ML
changeset 21220 63a7a74a9489
parent 15531 08c8dad8e399
equal deleted inserted replaced
21219:e1063a0e6dfd 21220:63a7a74a9489
   346 by Auto_tac;  
   346 by Auto_tac;  
   347 by (dres_inst_tac [("w1", "rel")] (impOfSubs subset_preserves_o) 1);
   347 by (dres_inst_tac [("w1", "rel")] (impOfSubs subset_preserves_o) 1);
   348 by (dres_inst_tac [("w1", "ask")] (impOfSubs subset_preserves_o) 2);
   348 by (dres_inst_tac [("w1", "ask")] (impOfSubs subset_preserves_o) 2);
   349 by (auto_tac (claset(), simpset() addsimps [o_def, split_def]));  
   349 by (auto_tac (claset(), simpset() addsimps [o_def, split_def]));  
   350 qed "OK_lift_rename_Client";
   350 qed "OK_lift_rename_Client";
   351 Addsimps [OK_lift_rename_Client]; (*needed in rename_client_map_tac*
   351 Addsimps [OK_lift_rename_Client]; (*needed in rename_client_map_tac*)
   352 
   352 
   353 (*The proofs of rename_Client_Increasing, rename_Client_Bounded and
   353 (*The proofs of rename_Client_Increasing, rename_Client_Bounded and
   354   rename_Client_Progress are similar.  All require copying out the original
   354   rename_Client_Progress are similar.  All require copying out the original
   355   Client property.  A forward proof can be constructed as follows:
   355   Client property.  A forward proof can be constructed as follows:
   356 
   356 
   383 			     inv_inv_eq]) 1,
   383 			     inv_inv_eq]) 1,
   384     asm_simp_tac
   384     asm_simp_tac
   385         (simpset() addsimps [o_def, non_dummy_def, guarantees_Int_right]) 1];
   385         (simpset() addsimps [o_def, non_dummy_def, guarantees_Int_right]) 1];
   386 
   386 
   387 						     
   387 						     
       
   388 (* FIXME no longer works -- had been commented out unintentially for a long time
       
   389 
   388 (*Lifting Client_Increasing to systemState*)
   390 (*Lifting Client_Increasing to systemState*)
   389 Goal "i : I \
   391 Goal "i : I \
   390 \     ==> rename sysOfClient (plam x: I. rename client_map Client) : \
   392 \     ==> rename sysOfClient (plam x: I. rename client_map Client) : \
   391 \           UNIV  guarantees  \
   393 \           UNIV  guarantees  \
   392 \           Increasing (ask o sub i o client) Int \
   394 \           Increasing (ask o sub i o client) Int \
   738 by (rtac fst_inv_equalityI 1); 
   740 by (rtac fst_inv_equalityI 1); 
   739 by (res_inst_tac [("f","%z. (f z, ?h z)")] surjI 1); 
   741 by (res_inst_tac [("f","%z. (f z, ?h z)")] surjI 1); 
   740 by (asm_full_simp_tac (simpset() addsimps [bij_is_inj, inv_f_f]) 1); 
   742 by (asm_full_simp_tac (simpset() addsimps [bij_is_inj, inv_f_f]) 1); 
   741 by (asm_full_simp_tac (simpset() addsimps [bij_is_surj, surj_f_inv_f]) 1); 
   743 by (asm_full_simp_tac (simpset() addsimps [bij_is_surj, surj_f_inv_f]) 1); 
   742 qed "bij_fst_inv_inv_eq";
   744 qed "bij_fst_inv_inv_eq";
       
   745 *)