equal
deleted
inserted
replaced
816 |
816 |
817 |
817 |
818 declare inj_term_sym_simps [simp] |
818 declare inj_term_sym_simps [simp] |
819 declare assigns_if.simps [simp del] |
819 declare assigns_if.simps [simp del] |
820 declare split_paired_All [simp del] split_paired_Ex [simp del] |
820 declare split_paired_All [simp del] split_paired_Ex [simp del] |
821 declaration {* K (Simplifier.map_ss (fn ss => ss delloop "split_all_tac")) *} |
821 setup {* map_theory_simpset (fn ctxt => ctxt delloop "split_all_tac") *} |
822 |
822 |
823 inductive_cases da_elim_cases [cases set]: |
823 inductive_cases da_elim_cases [cases set]: |
824 "Env\<turnstile> B \<guillemotright>\<langle>Skip\<rangle>\<guillemotright> A" |
824 "Env\<turnstile> B \<guillemotright>\<langle>Skip\<rangle>\<guillemotright> A" |
825 "Env\<turnstile> B \<guillemotright>In1r Skip\<guillemotright> A" |
825 "Env\<turnstile> B \<guillemotright>In1r Skip\<guillemotright> A" |
826 "Env\<turnstile> B \<guillemotright>\<langle>Expr e\<rangle>\<guillemotright> A" |
826 "Env\<turnstile> B \<guillemotright>\<langle>Expr e\<rangle>\<guillemotright> A" |
882 "Env\<turnstile> B \<guillemotright>\<langle>e#es\<rangle>\<guillemotright> A" |
882 "Env\<turnstile> B \<guillemotright>\<langle>e#es\<rangle>\<guillemotright> A" |
883 "Env\<turnstile> B \<guillemotright>In3 (e#es)\<guillemotright> A" |
883 "Env\<turnstile> B \<guillemotright>In3 (e#es)\<guillemotright> A" |
884 declare inj_term_sym_simps [simp del] |
884 declare inj_term_sym_simps [simp del] |
885 declare assigns_if.simps [simp] |
885 declare assigns_if.simps [simp] |
886 declare split_paired_All [simp] split_paired_Ex [simp] |
886 declare split_paired_All [simp] split_paired_Ex [simp] |
887 declaration {* K (Simplifier.map_ss (fn ss => ss addloop ("split_all_tac", split_all_tac))) *} |
887 setup {* map_theory_simpset (fn ctxt => ctxt addloop' ("split_all_tac", split_all_tac)) *} |
888 |
888 |
889 (* To be able to eliminate both the versions with the overloaded brackets: |
889 (* To be able to eliminate both the versions with the overloaded brackets: |
890 (B \<guillemotright>\<langle>Skip\<rangle>\<guillemotright> A) and with the explicit constructor (B \<guillemotright>In1r Skip\<guillemotright> A), |
890 (B \<guillemotright>\<langle>Skip\<rangle>\<guillemotright> A) and with the explicit constructor (B \<guillemotright>In1r Skip\<guillemotright> A), |
891 every rule appears in both versions |
891 every rule appears in both versions |
892 *) |
892 *) |