src/HOL/Bali/Eval.thy
changeset 39159 0dec18004e75
parent 37956 ee939247b2fb
child 40340 d1c14898fd04
equal deleted inserted replaced
39158:e6b96b4cde7e 39159:0dec18004e75
  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 *)