src/HOL/IOA/Solve.ML
changeset 4071 4747aefbbc52
parent 3919 c036caebfc75
child 4089 96fba19bcbe2
equal deleted inserted replaced
4070:3a6e1e562aed 4071:4747aefbbc52
    76  by (Fast_tac 1);
    76  by (Fast_tac 1);
    77 (* projected execution is indeed an execution *)
    77 (* projected execution is indeed an execution *)
    78 by (asm_full_simp_tac
    78 by (asm_full_simp_tac
    79       (!simpset addsimps [executions_def,is_execution_fragment_def,
    79       (!simpset addsimps [executions_def,is_execution_fragment_def,
    80                           par_def,starts_of_def,trans_of_def,filter_oseq_def]
    80                           par_def,starts_of_def,trans_of_def,filter_oseq_def]
    81                 addsplits [expand_if,expand_option_case]) 1);
    81                 addsplits [expand_if,split_option_case]) 1);
    82 qed"comp1_reachable";
    82 qed"comp1_reachable";
    83 
    83 
    84 
    84 
    85 (* Exact copy of proof of comp1_reachable for the second 
    85 (* Exact copy of proof of comp1_reachable for the second 
    86    component of a parallel composition.     *)
    86    component of a parallel composition.     *)
    96  by (Fast_tac 1);
    96  by (Fast_tac 1);
    97 (* projected execution is indeed an execution *)
    97 (* projected execution is indeed an execution *)
    98 by (asm_full_simp_tac
    98 by (asm_full_simp_tac
    99       (!simpset addsimps [executions_def,is_execution_fragment_def,
    99       (!simpset addsimps [executions_def,is_execution_fragment_def,
   100                           par_def,starts_of_def,trans_of_def,filter_oseq_def]
   100                           par_def,starts_of_def,trans_of_def,filter_oseq_def]
   101                 addsplits [expand_if,expand_option_case]) 1);
   101                 addsplits [expand_if,split_option_case]) 1);
   102 qed"comp2_reachable";
   102 qed"comp2_reachable";
   103 
   103 
   104 
   104 
   105 (* Composition of possibility-mappings *)
   105 (* Composition of possibility-mappings *)
   106 
   106 
   158 by (Simp_tac 1);
   158 by (Simp_tac 1);
   159 (* execution is indeed an execution of C *)
   159 (* execution is indeed an execution of C *)
   160 by (asm_full_simp_tac
   160 by (asm_full_simp_tac
   161       (!simpset addsimps [executions_def,is_execution_fragment_def,
   161       (!simpset addsimps [executions_def,is_execution_fragment_def,
   162                           par_def,starts_of_def,trans_of_def,rename_def]
   162                           par_def,starts_of_def,trans_of_def,rename_def]
   163                 addsplits [expand_option_case]) 1);
   163                 addsplits [split_option_case]) 1);
   164 by (best_tac (!claset addSDs [spec] addDs [sym] addss (!simpset)) 1);
   164 by (best_tac (!claset addSDs [spec] addDs [sym] addss (!simpset)) 1);
   165 qed"reachable_rename_ioa";
   165 qed"reachable_rename_ioa";
   166 
   166 
   167 
   167 
   168 goal Solve.thy "!!f.[| is_weak_pmap f C A |]\
   168 goal Solve.thy "!!f.[| is_weak_pmap f C A |]\