src/HOL/Bali/WellType.thy
changeset 82695 d93ead9ac6df
parent 80914 d97fdabd9e2b
equal deleted inserted replaced
82692:8f0b2daa7eaa 82695:d93ead9ac6df
   453   ty_exprs_syntax  (\<open>_|-_:#_\<close> [51,51,51] 50)
   453   ty_exprs_syntax  (\<open>_|-_:#_\<close> [51,51,51] 50)
   454 
   454 
   455 declare not_None_eq [simp del] 
   455 declare not_None_eq [simp del] 
   456 declare if_split [split del] if_split_asm [split del]
   456 declare if_split [split del] if_split_asm [split del]
   457 declare split_paired_All [simp del] split_paired_Ex [simp del]
   457 declare split_paired_All [simp del] split_paired_Ex [simp del]
   458 setup \<open>map_theory_simpset (fn ctxt => ctxt delloop "split_all_tac")\<close>
   458 setup \<open>map_theory_simpset (fn ctxt => ctxt |> Simplifier.del_loop "split_all_tac")\<close>
   459 
   459 
   460 inductive_cases wt_elim_cases [cases set]:
   460 inductive_cases wt_elim_cases [cases set]:
   461         "E,dt\<Turnstile>In2  (LVar vn)               \<Colon>T"
   461         "E,dt\<Turnstile>In2  (LVar vn)               \<Colon>T"
   462         "E,dt\<Turnstile>In2  ({accC,statDeclC,s}e..fn)\<Colon>T"
   462         "E,dt\<Turnstile>In2  ({accC,statDeclC,s}e..fn)\<Colon>T"
   463         "E,dt\<Turnstile>In2  (e.[i])                 \<Colon>T"
   463         "E,dt\<Turnstile>In2  (e.[i])                 \<Colon>T"
   489         "E,dt\<Turnstile>In1r (c1 Finally c2)         \<Colon>x"
   489         "E,dt\<Turnstile>In1r (c1 Finally c2)         \<Colon>x"
   490         "E,dt\<Turnstile>In1r (Init C)                \<Colon>x"
   490         "E,dt\<Turnstile>In1r (Init C)                \<Colon>x"
   491 declare not_None_eq [simp] 
   491 declare not_None_eq [simp] 
   492 declare if_split [split] if_split_asm [split]
   492 declare if_split [split] if_split_asm [split]
   493 declare split_paired_All [simp] split_paired_Ex [simp]
   493 declare split_paired_All [simp] split_paired_Ex [simp]
   494 setup \<open>map_theory_simpset (fn ctxt => ctxt addloop ("split_all_tac", split_all_tac))\<close>
   494 setup \<open>map_theory_simpset (fn ctxt => ctxt |> Simplifier.add_loop ("split_all_tac", split_all_tac))\<close>
   495 
   495 
   496 lemma is_acc_class_is_accessible: 
   496 lemma is_acc_class_is_accessible: 
   497   "is_acc_class G P C \<Longrightarrow> G\<turnstile>(Class C) accessible_in P"
   497   "is_acc_class G P C \<Longrightarrow> G\<turnstile>(Class C) accessible_in P"
   498 by (auto simp add: is_acc_class_def)
   498 by (auto simp add: is_acc_class_def)
   499 
   499