equal
deleted
inserted
replaced
772 apply blast+ |
772 apply blast+ |
773 done |
773 done |
774 |
774 |
775 declare not_None_eq [simp del] (* IntDef.Zero_def [simp del] *) |
775 declare not_None_eq [simp del] (* IntDef.Zero_def [simp del] *) |
776 declare split_paired_All [simp del] split_paired_Ex [simp del] |
776 declare split_paired_All [simp del] split_paired_Ex [simp del] |
777 setup \<open>map_theory_simpset (fn ctxt => ctxt delloop "split_all_tac")\<close> |
777 setup \<open>map_theory_simpset (fn ctxt => ctxt |> Simplifier.del_loop "split_all_tac")\<close> |
778 |
778 |
779 inductive_cases eval_cases: "G\<turnstile>s \<midarrow>t\<succ>\<rightarrow> (v, s')" |
779 inductive_cases eval_cases: "G\<turnstile>s \<midarrow>t\<succ>\<rightarrow> (v, s')" |
780 |
780 |
781 inductive_cases eval_elim_cases [cases set]: |
781 inductive_cases eval_elim_cases [cases set]: |
782 "G\<turnstile>(Some xc,s) \<midarrow>t \<succ>\<rightarrow> (v, s')" |
782 "G\<turnstile>(Some xc,s) \<midarrow>t \<succ>\<rightarrow> (v, s')" |
810 "G\<turnstile>Norm s \<midarrow>In2 (e1.[e2]) \<succ>\<rightarrow> (v, s')" |
810 "G\<turnstile>Norm s \<midarrow>In2 (e1.[e2]) \<succ>\<rightarrow> (v, s')" |
811 "G\<turnstile>Norm s \<midarrow>In1l ({accC,statT,mode}e\<cdot>mn({pT}p)) \<succ>\<rightarrow> (v, s')" |
811 "G\<turnstile>Norm s \<midarrow>In1l ({accC,statT,mode}e\<cdot>mn({pT}p)) \<succ>\<rightarrow> (v, s')" |
812 "G\<turnstile>Norm s \<midarrow>In1r (Init C) \<succ>\<rightarrow> (x, s')" |
812 "G\<turnstile>Norm s \<midarrow>In1r (Init C) \<succ>\<rightarrow> (x, s')" |
813 declare not_None_eq [simp] (* IntDef.Zero_def [simp] *) |
813 declare not_None_eq [simp] (* IntDef.Zero_def [simp] *) |
814 declare split_paired_All [simp] split_paired_Ex [simp] |
814 declare split_paired_All [simp] split_paired_Ex [simp] |
815 declaration \<open>K (Simplifier.map_ss (fn ss => ss addloop ("split_all_tac", split_all_tac)))\<close> |
815 declaration \<open>K (Simplifier.map_ss (fn ss => ss |> Simplifier.add_loop ("split_all_tac", split_all_tac)))\<close> |
816 declare if_split [split] if_split_asm [split] |
816 declare if_split [split] if_split_asm [split] |
817 option.split [split] option.split_asm [split] |
817 option.split [split] option.split_asm [split] |
818 |
818 |
819 lemma eval_Inj_elim: |
819 lemma eval_Inj_elim: |
820 "G\<turnstile>s \<midarrow>t\<succ>\<rightarrow> (w,s') |
820 "G\<turnstile>s \<midarrow>t\<succ>\<rightarrow> (w,s') |