src/HOLCF/IOA/meta_theory/RefCorrectness.ML
changeset 4833 2e53109d4bc8
parent 4681 a331c1f5a23e
child 5068 fb28eaa07e01
equal deleted inserted replaced
4832:bc11b5b06f87 4833:2e53109d4bc8
   127 
   127 
   128 
   128 
   129 (* ------------------------------------------------------
   129 (* ------------------------------------------------------
   130                  Lemma 1 :Traces coincide  
   130                  Lemma 1 :Traces coincide  
   131    ------------------------------------------------------- *)
   131    ------------------------------------------------------- *)
   132 Delsplits[expand_if];
   132 Delsplits[split_if];
   133 goalw thy [corresp_ex_def]
   133 goalw thy [corresp_ex_def]
   134   "!!f.[|is_ref_map f C A; ext C = ext A|] ==>  \     
   134   "!!f.[|is_ref_map f C A; ext C = ext A|] ==>  \     
   135 \        !s. reachable C s & is_exec_frag C (s,xs) --> \
   135 \        !s. reachable C s & is_exec_frag C (s,xs) --> \
   136 \            mk_trace C`xs = mk_trace A`(snd (corresp_ex A f (s,xs)))";
   136 \            mk_trace C`xs = mk_trace A`(snd (corresp_ex A f (s,xs)))";
   137 
   137 
   142 by (forward_tac [reachable.reachable_n] 1);
   142 by (forward_tac [reachable.reachable_n] 1);
   143 by (assume_tac 1);
   143 by (assume_tac 1);
   144 by (eres_inst_tac [("x","y")] allE 1);
   144 by (eres_inst_tac [("x","y")] allE 1);
   145 by (Asm_full_simp_tac 1);
   145 by (Asm_full_simp_tac 1);
   146 by (asm_full_simp_tac (simpset() addsimps [move_subprop4] 
   146 by (asm_full_simp_tac (simpset() addsimps [move_subprop4] 
   147                           setloop split_tac [expand_if] ) 1);
   147                           addsplits [split_if]) 1);
   148 qed"lemma_1";
   148 qed"lemma_1";
   149 Addsplits[expand_if];
   149 Addsplits[split_if];
   150 
   150 
   151 (* ------------------------------------------------------------------ *)
   151 (* ------------------------------------------------------------------ *)
   152 (*                   The following lemmata contribute to              *)
   152 (*                   The following lemmata contribute to              *)
   153 (*              TRACE INCLUSION Part 2: corresp_ex is execution       *)
   153 (*              TRACE INCLUSION Part 2: corresp_ex is execution       *)
   154 (* ------------------------------------------------------------------ *)
   154 (* ------------------------------------------------------------------ *)