equal
deleted
inserted
replaced
1166 |
1166 |
1167 lemma unique_eval [rule_format (no_asm)]: |
1167 lemma unique_eval [rule_format (no_asm)]: |
1168 "G\<turnstile>s \<midarrow>t\<succ>\<rightarrow> (w, s') \<Longrightarrow> (\<forall>w' s''. G\<turnstile>s \<midarrow>t\<succ>\<rightarrow> (w', s'') \<longrightarrow> w' = w \<and> s'' = s')" |
1168 "G\<turnstile>s \<midarrow>t\<succ>\<rightarrow> (w, s') \<Longrightarrow> (\<forall>w' s''. G\<turnstile>s \<midarrow>t\<succ>\<rightarrow> (w', s'') \<longrightarrow> w' = w \<and> s'' = s')" |
1169 apply (erule eval_induct) |
1169 apply (erule eval_induct) |
1170 apply (tactic {* ALLGOALS (EVERY' |
1170 apply (tactic {* ALLGOALS (EVERY' |
1171 [strip_tac, rotate_tac ~1, eresolve_tac (thms "eval_elim_cases")]) *}) |
1171 [strip_tac, rotate_tac ~1, eresolve_tac @{thms eval_elim_cases}]) *}) |
1172 (* 31 subgoals *) |
1172 (* 31 subgoals *) |
1173 prefer 28 (* Try *) |
1173 prefer 28 (* Try *) |
1174 apply (simp (no_asm_use) only: split add: split_if_asm) |
1174 apply (simp (no_asm_use) only: split add: split_if_asm) |
1175 (* 34 subgoals *) |
1175 (* 34 subgoals *) |
1176 prefer 30 (* Init *) |
1176 prefer 30 (* Init *) |