equal
deleted
inserted
replaced
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 (* ------------------------------------------------------------------ *) |