resolved conflict
authornipkow
Tue Feb 23 18:04:31 2016 +0100 (2016-02-23)
changeset 62393a620a8756b7c
parent 62385 7891843d79bb
parent 62392 747d36865c2c
child 62394 d71774989c4a
resolved conflict
src/HOL/Limits.thy
src/HOL/Multivariate_Analysis/Brouwer_Fixpoint.thy
src/HOL/Multivariate_Analysis/Complex_Transcendental.thy
src/HOL/Multivariate_Analysis/Convex_Euclidean_Space.thy
src/HOL/Multivariate_Analysis/Derivative.thy
src/HOL/Multivariate_Analysis/Path_Connected.thy
src/HOL/Multivariate_Analysis/Uniform_Limit.thy
src/HOL/NthRoot.thy
src/HOL/Transcendental.thy
     1.1 --- a/src/Doc/Isar_Ref/Generic.thy	Tue Feb 23 16:50:10 2016 +0100
     1.2 +++ b/src/Doc/Isar_Ref/Generic.thy	Tue Feb 23 18:04:31 2016 +0100
     1.3 @@ -1086,9 +1086,9 @@
     1.4    For technical reasons, there is a distinction between case splitting
     1.5    in the conclusion and in the premises of a subgoal.  The former is
     1.6    done by @{ML Splitter.split_tac} with rules like @{thm [source]
     1.7 -  split_if} or @{thm [source] option.split}, which do not split the
     1.8 +  if_split} or @{thm [source] option.split}, which do not split the
     1.9    subgoal, while the latter is done by @{ML Splitter.split_asm_tac}
    1.10 -  with rules like @{thm [source] split_if_asm} or @{thm [source]
    1.11 +  with rules like @{thm [source] if_split_asm} or @{thm [source]
    1.12    option.split_asm}, which split the subgoal.  The function @{ML
    1.13    Splitter.add_split} automatically takes care of which tactic to
    1.14    call, analyzing the form of the rules given as argument; it is the
     2.1 --- a/src/Doc/Tutorial/Fun/fun0.thy	Tue Feb 23 16:50:10 2016 +0100
     2.2 +++ b/src/Doc/Tutorial/Fun/fun0.thy	Tue Feb 23 18:04:31 2016 +0100
     2.3 @@ -137,7 +137,7 @@
     2.4  different ways.
     2.5  
     2.6  The most radical solution is to disable the offending theorem
     2.7 -@{thm[source]split_if},
     2.8 +@{thm[source]if_split},
     2.9  as shown in \S\ref{sec:AutoCaseSplits}.  However, we do not recommend this
    2.10  approach: you will often have to invoke the rule explicitly when
    2.11  @{text "if"} is involved.
     3.1 --- a/src/Doc/Tutorial/Misc/simp.thy	Tue Feb 23 16:50:10 2016 +0100
     3.2 +++ b/src/Doc/Tutorial/Misc/simp.thy	Tue Feb 23 18:04:31 2016 +0100
     3.3 @@ -268,11 +268,11 @@
     3.4  The goal can be split by a special method, \methdx{split}:
     3.5  *}
     3.6  
     3.7 -apply(split split_if)
     3.8 +apply(split if_split)
     3.9  
    3.10  txt{*\noindent
    3.11  @{subgoals[display,indent=0]}
    3.12 -where \tdx{split_if} is a theorem that expresses splitting of
    3.13 +where \tdx{if_split} is a theorem that expresses splitting of
    3.14  @{text"if"}s. Because
    3.15  splitting the @{text"if"}s is usually the right proof strategy, the
    3.16  simplifier does it automatically.  Try \isacommand{apply}@{text"(simp)"}
    3.17 @@ -316,7 +316,7 @@
    3.18  (*<*)
    3.19  lemma "dummy=dummy"
    3.20  (*>*)
    3.21 -apply(simp split del: split_if)
    3.22 +apply(simp split del: if_split)
    3.23  (*<*)
    3.24  oops
    3.25  (*>*)
    3.26 @@ -334,11 +334,11 @@
    3.27  
    3.28  The split rules shown above are intended to affect only the subgoal's
    3.29  conclusion.  If you want to split an @{text"if"} or @{text"case"}-expression
    3.30 -in the assumptions, you have to apply \tdx{split_if_asm} or
    3.31 +in the assumptions, you have to apply \tdx{if_split_asm} or
    3.32  $t$@{text".split_asm"}: *}
    3.33  
    3.34  lemma "if xs = [] then ys \<noteq> [] else ys = [] \<Longrightarrow> xs @ ys \<noteq> []"
    3.35 -apply(split split_if_asm)
    3.36 +apply(split if_split_asm)
    3.37  
    3.38  txt{*\noindent
    3.39  Unlike splitting the conclusion, this step creates two
     4.1 --- a/src/Doc/Tutorial/Protocol/Event.thy	Tue Feb 23 16:50:10 2016 +0100
     4.2 +++ b/src/Doc/Tutorial/Protocol/Event.thy	Tue Feb 23 18:04:31 2016 +0100
     4.3 @@ -383,4 +383,4 @@
     4.4  
     4.5  (*<*)
     4.6  end
     4.7 -(*>*)
     4.8 \ No newline at end of file
     4.9 +(*>*)
     5.1 --- a/src/Doc/Tutorial/Protocol/Message.thy	Tue Feb 23 16:50:10 2016 +0100
     5.2 +++ b/src/Doc/Tutorial/Protocol/Message.thy	Tue Feb 23 18:04:31 2016 +0100
     5.3 @@ -483,7 +483,7 @@
     5.4  by (intro equalityI lemma1 lemma2)
     5.5  
     5.6  text{*Case analysis: either the message is secure, or it is not! Effective,
     5.7 -but can cause subgoals to blow up! Use with @{text "split_if"}; apparently
     5.8 +but can cause subgoals to blow up! Use with @{text "if_split"}; apparently
     5.9  @{text "split_tac"} does not cope with patterns such as @{term"analz (insert
    5.10  (Crypt K X) H)"} *} 
    5.11  lemma analz_Crypt_if [simp]:
    5.12 @@ -918,4 +918,4 @@
    5.13  
    5.14  
    5.15  end
    5.16 -(*>*)
    5.17 \ No newline at end of file
    5.18 +(*>*)
     6.1 --- a/src/Doc/Tutorial/Protocol/Public.thy	Tue Feb 23 16:50:10 2016 +0100
     6.2 +++ b/src/Doc/Tutorial/Protocol/Public.thy	Tue Feb 23 18:04:31 2016 +0100
     6.3 @@ -169,4 +169,4 @@
     6.4      "for proving possibility theorems"
     6.5  
     6.6  end
     6.7 -(*>*)
     6.8 \ No newline at end of file
     6.9 +(*>*)
     7.1 --- a/src/Doc/Tutorial/Recdef/simplification.thy	Tue Feb 23 16:50:10 2016 +0100
     7.2 +++ b/src/Doc/Tutorial/Recdef/simplification.thy	Tue Feb 23 18:04:31 2016 +0100
     7.3 @@ -40,7 +40,7 @@
     7.4  different ways.
     7.5  
     7.6  The most radical solution is to disable the offending theorem
     7.7 -@{thm[source]split_if},
     7.8 +@{thm[source]if_split},
     7.9  as shown in \S\ref{sec:AutoCaseSplits}.  However, we do not recommend this
    7.10  approach: you will often have to invoke the rule explicitly when
    7.11  @{text "if"} is involved.
     8.1 --- a/src/Doc/Tutorial/Types/Setup.thy	Tue Feb 23 16:50:10 2016 +0100
     8.2 +++ b/src/Doc/Tutorial/Types/Setup.thy	Tue Feb 23 18:04:31 2016 +0100
     8.3 @@ -5,4 +5,4 @@
     8.4  ML_file "../../antiquote_setup.ML"
     8.5  ML_file "../../more_antiquote.ML"
     8.6  
     8.7 -end
     8.8 \ No newline at end of file
     8.9 +end
     9.1 --- a/src/HOL/Auth/Guard/Extensions.thy	Tue Feb 23 16:50:10 2016 +0100
     9.2 +++ b/src/HOL/Auth/Guard/Extensions.thy	Tue Feb 23 18:04:31 2016 +0100
     9.3 @@ -39,7 +39,7 @@
     9.4  declare analz_subset_parts [THEN subsetD, dest]
     9.5  declare parts_insert2 [simp]
     9.6  declare analz_cut [dest]
     9.7 -declare split_if_asm [split]
     9.8 +declare if_split_asm [split]
     9.9  declare analz_insertI [intro]
    9.10  declare Un_Diff [simp]
    9.11  
    10.1 --- a/src/HOL/Auth/Guard/Guard.thy	Tue Feb 23 16:50:10 2016 +0100
    10.2 +++ b/src/HOL/Auth/Guard/Guard.thy	Tue Feb 23 18:04:31 2016 +0100
    10.3 @@ -304,4 +304,4 @@
    10.4  apply (drule_tac G="G Un (H Int keysfor G)" in Guard_invKey_finite)
    10.5  by (auto simp: Guard_def intro: analz_sub)
    10.6  
    10.7 -end
    10.8 \ No newline at end of file
    10.9 +end
    11.1 --- a/src/HOL/Auth/Guard/GuardK.thy	Tue Feb 23 16:50:10 2016 +0100
    11.2 +++ b/src/HOL/Auth/Guard/GuardK.thy	Tue Feb 23 18:04:31 2016 +0100
    11.3 @@ -299,4 +299,4 @@
    11.4  apply (auto simp: GuardK_def intro: analz_sub)
    11.5  by (drule keyset_in, auto)
    11.6  
    11.7 -end
    11.8 \ No newline at end of file
    11.9 +end
    12.1 --- a/src/HOL/Auth/Guard/Guard_Shared.thy	Tue Feb 23 16:50:10 2016 +0100
    12.2 +++ b/src/HOL/Auth/Guard/Guard_Shared.thy	Tue Feb 23 18:04:31 2016 +0100
    12.3 @@ -198,4 +198,4 @@
    12.4    with \<open>agt K \<notin> bad\<close> show False by simp
    12.5  qed
    12.6  
    12.7 -end
    12.8 \ No newline at end of file
    12.9 +end
    13.1 --- a/src/HOL/Auth/Guard/P1.thy	Tue Feb 23 16:50:10 2016 +0100
    13.2 +++ b/src/HOL/Auth/Guard/P1.thy	Tue Feb 23 18:04:31 2016 +0100
    13.3 @@ -634,4 +634,4 @@
    13.4  apply (blast dest: Crypt_Hash_imp_sign [unfolded sign_def])
    13.5  done
    13.6  
    13.7 -end
    13.8 \ No newline at end of file
    13.9 +end
    14.1 --- a/src/HOL/Auth/Guard/P2.thy	Tue Feb 23 16:50:10 2016 +0100
    14.2 +++ b/src/HOL/Auth/Guard/P2.thy	Tue Feb 23 18:04:31 2016 +0100
    14.3 @@ -558,4 +558,4 @@
    14.4  apply (blast dest: Crypt_Hash_imp_sign [unfolded sign_def])
    14.5  done
    14.6  
    14.7 -end
    14.8 \ No newline at end of file
    14.9 +end
    15.1 --- a/src/HOL/Auth/Message.thy	Tue Feb 23 16:50:10 2016 +0100
    15.2 +++ b/src/HOL/Auth/Message.thy	Tue Feb 23 18:04:31 2016 +0100
    15.3 @@ -468,7 +468,7 @@
    15.4  by (intro equalityI lemma1 lemma2)
    15.5  
    15.6  text\<open>Case analysis: either the message is secure, or it is not! Effective,
    15.7 -but can cause subgoals to blow up! Use with \<open>split_if\<close>; apparently
    15.8 +but can cause subgoals to blow up! Use with \<open>if_split\<close>; apparently
    15.9  \<open>split_tac\<close> does not cope with patterns such as @{term"analz (insert
   15.10  (Crypt K X) H)"}\<close> 
   15.11  lemma analz_Crypt_if [simp]:
    16.1 --- a/src/HOL/BNF_Cardinal_Order_Relation.thy	Tue Feb 23 16:50:10 2016 +0100
    16.2 +++ b/src/HOL/BNF_Cardinal_Order_Relation.thy	Tue Feb 23 18:04:31 2016 +0100
    16.3 @@ -1631,7 +1631,7 @@
    16.4    have "bij_betw F (Pow A) (Func A (UNIV::bool set))"
    16.5    unfolding bij_betw_def inj_on_def proof (intro ballI impI conjI)
    16.6      fix A1 A2 assume "A1 \<in> Pow A" "A2 \<in> Pow A" "F A1 = F A2"
    16.7 -    thus "A1 = A2" unfolding F_def Pow_def fun_eq_iff by (auto split: split_if_asm)
    16.8 +    thus "A1 = A2" unfolding F_def Pow_def fun_eq_iff by (auto split: if_split_asm)
    16.9    next
   16.10      show "F ` Pow A = Func A UNIV"
   16.11      proof safe
    17.1 --- a/src/HOL/Bali/AxCompl.thy	Tue Feb 23 16:50:10 2016 +0100
    17.2 +++ b/src/HOL/Bali/AxCompl.thy	Tue Feb 23 18:04:31 2016 +0100
    17.3 @@ -56,7 +56,7 @@
    17.4  
    17.5  lemma nyinitcls_init_lvars [simp]: 
    17.6    "nyinitcls G ((init_lvars G C sig mode a' pvs) s) = nyinitcls G s"
    17.7 -  by (induct s) (simp add: init_lvars_def2 split add: split_if)
    17.8 +  by (induct s) (simp add: init_lvars_def2 split add: if_split)
    17.9  
   17.10  lemma nyinitcls_emptyD: "\<lbrakk>nyinitcls G s = {}; is_class G C\<rbrakk> \<Longrightarrow> initd C s"
   17.11    unfolding nyinitcls_def by fast
   17.12 @@ -74,7 +74,7 @@
   17.13  apply  (erule_tac V="nyinitcls G (x, s) = rhs" for rhs in thin_rl)
   17.14  apply  (rule card_Suc_lemma [OF _ _ finite_nyinitcls])
   17.15  apply   (auto dest!: not_initedD elim!: 
   17.16 -              simp add: nyinitcls_def inited_def split add: split_if_asm)
   17.17 +              simp add: nyinitcls_def inited_def split add: if_split_asm)
   17.18  done
   17.19  
   17.20  lemma inited_gext': "\<lbrakk>s\<le>|s';inited C (globs s)\<rbrakk> \<Longrightarrow> inited C (globs s')"
   17.21 @@ -597,7 +597,7 @@
   17.22          with abrupt_s' have "G\<turnstile>s' \<midarrow>c\<rightarrow> s'" by auto
   17.23          moreover from abrupt_s' no_cont 
   17.24          have no_absorb: "(abupd (absorb (Cont l)) s')=s'"
   17.25 -          by (cases s') (simp add: absorb_def split: split_if)
   17.26 +          by (cases s') (simp add: absorb_def split: if_split)
   17.27          moreover
   17.28          from no_absorb abrupt_s'
   17.29          have "G\<turnstile>(abupd (absorb (Cont l)) s') \<midarrow>l\<bullet> While(e) c\<rightarrow> s'"
   17.30 @@ -1072,7 +1072,7 @@
   17.31          apply (rule ax_derivs.NewA 
   17.32                 [where ?Q = "(\<lambda>Y' s' s. normal s \<and> G\<turnstile>s \<midarrow>In1r (init_comp_ty T) 
   17.33                                \<succ>\<rightarrow> (Y',s')) \<and>. G\<turnstile>init\<le>n"])
   17.34 -        apply  (simp add: init_comp_ty_def split add: split_if)
   17.35 +        apply  (simp add: init_comp_ty_def split add: if_split)
   17.36          apply  (rule conjI, clarsimp)
   17.37          apply   (rule MGFn_InitD [OF hyp, THEN conseq2])
   17.38          apply   (clarsimp intro: eval.Init)
    18.1 --- a/src/HOL/Bali/AxExample.thy	Tue Feb 23 16:50:10 2016 +0100
    18.2 +++ b/src/HOL/Bali/AxExample.thy	Tue Feb 23 18:04:31 2016 +0100
    18.3 @@ -37,7 +37,7 @@
    18.4  done
    18.5  
    18.6  
    18.7 -declare split_if_asm [split del]
    18.8 +declare if_split_asm [split del]
    18.9  declare lvar_def [simp]
   18.10  
   18.11  ML \<open>
   18.12 @@ -202,7 +202,7 @@
   18.13  apply      (tactic "ax_tac @{context} 2" (* StatRef *))
   18.14  apply     (rule ax_derivs.Done [THEN conseq1])
   18.15  apply     (tactic \<open>inst1_tac @{context} "Q" "\<lambda>vf. Normal ((\<lambda>Y s Z. vf=lvar (VName e) (snd s)) \<and>. heap_free four \<and>. initd Base \<and>. initd Ext)" []\<close>)
   18.16 -apply     (clarsimp split del: split_if)
   18.17 +apply     (clarsimp split del: if_split)
   18.18  apply     (frule atleast_free_weaken [THEN atleast_free_weaken])
   18.19  apply     (drule initedD)
   18.20  apply     (clarsimp elim!: atleast_free_SucD simp add: arr_inv_def)
    19.1 --- a/src/HOL/Bali/AxSem.thy	Tue Feb 23 16:50:10 2016 +0100
    19.2 +++ b/src/HOL/Bali/AxSem.thy	Tue Feb 23 18:04:31 2016 +0100
    19.3 @@ -462,7 +462,7 @@
    19.4  
    19.5  
    19.6  declare split_paired_All [simp del] split_paired_Ex [simp del] 
    19.7 -declare split_if     [split del] split_if_asm     [split del] 
    19.8 +declare if_split     [split del] if_split_asm     [split del] 
    19.9          option.split [split del] option.split_asm [split del]
   19.10  setup \<open>map_theory_simpset (fn ctxt => ctxt delloop "split_all_tac")\<close>
   19.11  setup \<open>map_theory_claset (fn ctxt => ctxt delSWrapper "split_all_tac")\<close>
    20.1 --- a/src/HOL/Bali/AxSound.thy	Tue Feb 23 16:50:10 2016 +0100
    20.2 +++ b/src/HOL/Bali/AxSound.thy	Tue Feb 23 18:04:31 2016 +0100
    20.3 @@ -1356,12 +1356,12 @@
    20.4            proof -
    20.5              from s2_no_return s3
    20.6              have "abrupt s3 \<noteq> Some (Jump Ret)"
    20.7 -              by (cases s2) (auto simp add: init_lvars_def2 split: split_if_asm)
    20.8 +              by (cases s2) (auto simp add: init_lvars_def2 split: if_split_asm)
    20.9              moreover
   20.10              obtain abr2 str2 where s2: "s2=(abr2,str2)"
   20.11                by (cases s2)
   20.12              from s3 s2 conf_s2 have "(abrupt s3,str2)\<Colon>\<preceq>(G, L)"
   20.13 -              by (auto simp add: init_lvars_def2 split: split_if_asm)
   20.14 +              by (auto simp add: init_lvars_def2 split: if_split_asm)
   20.15              ultimately show ?thesis
   20.16                using s3 s2 eq_s3'_s3
   20.17                apply (simp add: init_lvars_def2)
   20.18 @@ -1661,7 +1661,7 @@
   20.19            by (rule jumpNestingOk_evalE) (auto intro: jmpOk simp add: s1_no_jmp)
   20.20          moreover note s3
   20.21          ultimately show ?thesis 
   20.22 -          by (force split: split_if)
   20.23 +          by (force split: if_split)
   20.24        qed
   20.25        with R v s4 
   20.26        have "R \<lfloor>v\<rfloor>\<^sub>e s4 Z"
   20.27 @@ -1923,7 +1923,7 @@
   20.28        from wt obtain  
   20.29          wt_e: "\<lparr>prg=G, cls=accC, lcl=L\<rparr>\<turnstile>e\<Colon>-PrimT Boolean" and
   20.30          wt_then_else: "\<lparr>prg=G,cls=accC,lcl=L\<rparr>\<turnstile>(if the_Bool b then c1 else c2)\<Colon>\<surd>"
   20.31 -        by cases (simp split: split_if)
   20.32 +        by cases (simp split: if_split)
   20.33        from da obtain E S where
   20.34          da_e: "\<lparr>prg=G,cls=accC,lcl=L\<rparr>\<turnstile> dom (locals (store s0)) \<guillemotright>\<langle>e\<rangle>\<^sub>e\<guillemotright> E" and
   20.35          da_then_else: 
   20.36 @@ -2587,7 +2587,7 @@
   20.37          from this wt_super wf
   20.38          have s1_no_ret: "\<And> j. abrupt s1 \<noteq> Some (Jump j)"
   20.39            by - (rule eval_statement_no_jump 
   20.40 -                 [where ?Env="\<lparr>prg=G,cls=accC,lcl=L\<rparr>"], auto split: split_if)
   20.41 +                 [where ?Env="\<lparr>prg=G,cls=accC,lcl=L\<rparr>"], auto split: if_split)
   20.42          with conf_s1
   20.43          show ?thesis
   20.44            by (cases s1) (auto intro: conforms_set_locals)
    21.1 --- a/src/HOL/Bali/Basis.thy	Tue Feb 23 16:50:10 2016 +0100
    21.2 +++ b/src/HOL/Bali/Basis.thy	Tue Feb 23 18:04:31 2016 +0100
    21.3 @@ -11,7 +11,7 @@
    21.4  
    21.5  ML \<open>fun strip_tac ctxt i = REPEAT (resolve_tac ctxt [impI, allI] i)\<close>
    21.6  
    21.7 -declare split_if_asm  [split] option.split [split] option.split_asm [split]
    21.8 +declare if_split_asm  [split] option.split [split] option.split_asm [split]
    21.9  setup \<open>map_theory_simpset (fn ctxt => ctxt addloop ("split_all_tac", split_all_tac))\<close>
   21.10  declare if_weak_cong [cong del] option.case_cong_weak [cong del]
   21.11  declare length_Suc_conv [iff]
    22.1 --- a/src/HOL/Bali/Eval.thy	Tue Feb 23 16:50:10 2016 +0100
    22.2 +++ b/src/HOL/Bali/Eval.thy	Tue Feb 23 18:04:31 2016 +0100
    22.3 @@ -753,7 +753,7 @@
    22.4  \<close>
    22.5  
    22.6  
    22.7 -declare split_if     [split del] split_if_asm     [split del] 
    22.8 +declare if_split     [split del] if_split_asm     [split del] 
    22.9          option.split [split del] option.split_asm [split del]
   22.10  inductive_cases halloc_elim_cases: 
   22.11    "G\<turnstile>(Some xc,s) \<midarrow>halloc oi\<succ>a\<rightarrow> s'"
   22.12 @@ -819,7 +819,7 @@
   22.13  declare not_None_eq [simp]  (* IntDef.Zero_def [simp] *)
   22.14  declare split_paired_All [simp] split_paired_Ex [simp]
   22.15  declaration \<open>K (Simplifier.map_ss (fn ss => ss addloop ("split_all_tac", split_all_tac)))\<close>
   22.16 -declare split_if     [split] split_if_asm     [split] 
   22.17 +declare if_split     [split] if_split_asm     [split] 
   22.18          option.split [split] option.split_asm [split]
   22.19  
   22.20  lemma eval_Inj_elim: 
   22.21 @@ -1062,7 +1062,7 @@
   22.22  lemma init_retains_locals [rule_format (no_asm)]: "G\<turnstile>s \<midarrow>t\<succ>\<rightarrow> (w,s') \<Longrightarrow>  
   22.23    (\<forall>C. t=In1r (Init C) \<longrightarrow> locals (store s) = locals (store s'))"
   22.24  apply (erule eval.induct)
   22.25 -apply (simp (no_asm_use) split del: split_if_asm option.split_asm)+
   22.26 +apply (simp (no_asm_use) split del: if_split_asm option.split_asm)+
   22.27  apply auto
   22.28  done
   22.29  
   22.30 @@ -1128,7 +1128,7 @@
   22.31  lemma unique_halloc [rule_format (no_asm)]: 
   22.32    "G\<turnstile>s \<midarrow>halloc oi\<succ>a \<rightarrow> s' \<Longrightarrow> G\<turnstile>s \<midarrow>halloc oi\<succ>a' \<rightarrow> s'' \<longrightarrow> a' = a \<and> s'' = s'"
   22.33  apply (erule halloc.induct)
   22.34 -apply  (auto elim!: halloc_elim_cases split del: split_if split_if_asm)
   22.35 +apply  (auto elim!: halloc_elim_cases split del: if_split if_split_asm)
   22.36  apply (drule trans [THEN sym], erule sym) 
   22.37  defer
   22.38  apply (drule trans [THEN sym], erule sym)
   22.39 @@ -1146,7 +1146,7 @@
   22.40    "G\<turnstile>s \<midarrow>sxalloc\<rightarrow> s' \<Longrightarrow> G\<turnstile>s \<midarrow>sxalloc\<rightarrow> s'' \<longrightarrow> s'' = s'"
   22.41  apply (erule sxalloc.induct)
   22.42  apply   (auto dest: unique_halloc elim!: sxalloc_elim_cases 
   22.43 -              split del: split_if split_if_asm)
   22.44 +              split del: if_split if_split_asm)
   22.45  done
   22.46  
   22.47  lemma single_valued_sxalloc: "single_valued {(s,s'). G\<turnstile>s \<midarrow>sxalloc\<rightarrow> s'}"
   22.48 @@ -1166,12 +1166,12 @@
   22.49        [strip_tac @{context}, rotate_tac ~1, eresolve_tac @{context} @{thms eval_elim_cases}])\<close>)
   22.50  (* 31 subgoals *)
   22.51  prefer 28 (* Try *) 
   22.52 -apply (simp (no_asm_use) only: split add: split_if_asm)
   22.53 +apply (simp (no_asm_use) only: split add: if_split_asm)
   22.54  (* 34 subgoals *)
   22.55  prefer 30 (* Init *)
   22.56  apply (case_tac "inited C (globs s0)", (simp only: if_True if_False simp_thms)+)
   22.57  prefer 26 (* While *)
   22.58 -apply (simp (no_asm_use) only: split add: split_if_asm, blast)
   22.59 +apply (simp (no_asm_use) only: split add: if_split_asm, blast)
   22.60  (* 36 subgoals *)
   22.61  apply (blast dest: unique_sxalloc unique_halloc split_pairD)+
   22.62  done
    23.1 --- a/src/HOL/Bali/Evaln.thy	Tue Feb 23 16:50:10 2016 +0100
    23.2 +++ b/src/HOL/Bali/Evaln.thy	Tue Feb 23 18:04:31 2016 +0100
    23.3 @@ -193,7 +193,7 @@
    23.4    if_bool_eq_conj
    23.5  
    23.6  
    23.7 -declare split_if     [split del] split_if_asm     [split del]
    23.8 +declare if_split     [split del] if_split_asm     [split del]
    23.9          option.split [split del] option.split_asm [split del]
   23.10          not_None_eq [simp del] 
   23.11          split_paired_All [simp del] split_paired_Ex [simp del]
   23.12 @@ -234,7 +234,7 @@
   23.13          "G\<turnstile>Norm s \<midarrow>In1l ({accC,statT,mode}e\<cdot>mn({pT}p)) \<succ>\<midarrow>n\<rightarrow> (v, s')"
   23.14          "G\<turnstile>Norm s \<midarrow>In1r (Init C)                  \<succ>\<midarrow>n\<rightarrow> (x, s')"
   23.15  
   23.16 -declare split_if     [split] split_if_asm     [split] 
   23.17 +declare if_split     [split] if_split_asm     [split] 
   23.18          option.split [split] option.split_asm [split]
   23.19          not_None_eq [simp] 
   23.20          split_paired_All [simp] split_paired_Ex [simp]
   23.21 @@ -453,7 +453,7 @@
   23.22    REPEAT o smp_tac @{context} 1, 
   23.23    resolve_tac @{context} @{thms evaln.intros} THEN_ALL_NEW TRY o assume_tac @{context}])\<close>)
   23.24  (* 3 subgoals *)
   23.25 -apply (auto split del: split_if)
   23.26 +apply (auto split del: if_split)
   23.27  done
   23.28  
   23.29  lemmas evaln_nonstrict_Suc = evaln_nonstrict [OF _ le_refl [THEN le_SucI]]
    24.1 --- a/src/HOL/Bali/Example.thy	Tue Feb 23 16:50:10 2016 +0100
    24.2 +++ b/src/HOL/Bali/Example.thy	Tue Feb 23 18:04:31 2016 +0100
    24.3 @@ -1347,7 +1347,7 @@
    24.4  apply         (rule eval_Is (* Acc *))
    24.5  apply         (rule eval_Is (* LVar *))
    24.6  apply        (simp)
    24.7 -apply       (simp split del: split_if)
    24.8 +apply       (simp split del: if_split)
    24.9  apply      (simp add: check_field_access_def Let_def)
   24.10  apply     (rule eval_Is (* XcptE *))
   24.11  apply    (simp)
   24.12 @@ -1362,7 +1362,7 @@
   24.13  apply   (erule alloc_one [THEN conjunct1])
   24.14  apply   (simp (no_asm_simp))
   24.15  apply  (simp (no_asm_simp))
   24.16 -apply (simp add: gupd_def lupd_def obj_ty_def split del: split_if)
   24.17 +apply (simp add: gupd_def lupd_def obj_ty_def split del: if_split)
   24.18  apply (drule alloc_one [THEN conjunct1])
   24.19  apply  (simp (no_asm_simp))
   24.20  apply (erule_tac V = "atleast_free _ two" in thin_rl)
    25.1 --- a/src/HOL/Bali/State.thy	Tue Feb 23 16:50:10 2016 +0100
    25.2 +++ b/src/HOL/Bali/State.thy	Tue Feb 23 18:04:31 2016 +0100
    25.3 @@ -501,7 +501,7 @@
    25.4  "P (abrupt_if c x' x) = 
    25.5        ((c \<and> x = None \<longrightarrow> P x') \<and> (\<not> (c \<and> x = None) \<longrightarrow> P x))"
    25.6  apply (unfold abrupt_if_def)
    25.7 -apply (split split_if)
    25.8 +apply (split if_split)
    25.9  apply auto
   25.10  done
   25.11  
   25.12 @@ -756,25 +756,25 @@
   25.13   "error_free s \<Longrightarrow> error_free (abupd (absorb j) s)"
   25.14  by (cases s) 
   25.15     (auto simp add: error_free_def absorb_def
   25.16 -         split: split_if_asm)
   25.17 +         split: if_split_asm)
   25.18  
   25.19  lemma error_free_absorb [simp,intro]: 
   25.20   "error_free (a,s) \<Longrightarrow> error_free (absorb j a, s)"
   25.21  by (auto simp add: error_free_def absorb_def
   25.22 -            split: split_if_asm)
   25.23 +            split: if_split_asm)
   25.24  
   25.25  lemma error_free_abrupt_if [simp,intro]:
   25.26  "\<lbrakk>error_free s; \<not> (\<exists> err. x=Error err)\<rbrakk>
   25.27   \<Longrightarrow> error_free (abupd (abrupt_if p (Some x)) s)"
   25.28  by (cases s)
   25.29     (auto simp add: abrupt_if_def
   25.30 -            split: split_if)
   25.31 +            split: if_split)
   25.32  
   25.33  lemma error_free_abrupt_if1 [simp,intro]:
   25.34  "\<lbrakk>error_free (a,s); \<not> (\<exists> err. x=Error err)\<rbrakk>
   25.35   \<Longrightarrow> error_free (abrupt_if p (Some x) a, s)"
   25.36  by  (auto simp add: abrupt_if_def
   25.37 -            split: split_if)
   25.38 +            split: if_split)
   25.39  
   25.40  lemma error_free_abrupt_if_Xcpt [simp,intro]:
   25.41   "error_free s 
    26.1 --- a/src/HOL/Bali/Term.thy	Tue Feb 23 16:50:10 2016 +0100
    26.2 +++ b/src/HOL/Bali/Term.thy	Tue Feb 23 18:04:31 2016 +0100
    26.3 @@ -482,4 +482,4 @@
    26.4   "\<lbrakk>binop\<noteq>CondAnd; binop\<noteq>CondOr\<rbrakk> \<Longrightarrow> need_second_arg binop b"
    26.5  by (cases binop) 
    26.6     (simp_all add: need_second_arg_def)
    26.7 -end
    26.8 \ No newline at end of file
    26.9 +end
    27.1 --- a/src/HOL/Bali/Trans.thy	Tue Feb 23 16:50:10 2016 +0100
    27.2 +++ b/src/HOL/Bali/Trans.thy	Tue Feb 23 18:04:31 2016 +0100
    27.3 @@ -370,4 +370,4 @@
    27.4  *)
    27.5  
    27.6  
    27.7 -end
    27.8 \ No newline at end of file
    27.9 +end
    28.1 --- a/src/HOL/Bali/TypeSafe.thy	Tue Feb 23 16:50:10 2016 +0100
    28.2 +++ b/src/HOL/Bali/TypeSafe.thy	Tue Feb 23 18:04:31 2016 +0100
    28.3 @@ -60,7 +60,7 @@
    28.4  apply (cases s)
    28.5  apply (auto simp add: check_field_access_def Let_def error_free_def 
    28.6                        abrupt_if_def 
    28.7 -            split: split_if_asm)
    28.8 +            split: if_split_asm)
    28.9  done
   28.10  
   28.11  lemma error_free_check_method_access_eq:
   28.12 @@ -213,7 +213,7 @@
   28.13  apply (auto del: conjI  dest!: not_initedD gext_new sxalloc_gext halloc_gext
   28.14   simp  add: lvar_def fvar_def2 avar_def2 init_lvars_def2 
   28.15              check_field_access_def check_method_access_def Let_def
   28.16 - split del: split_if_asm split add: sum3.split)
   28.17 + split del: if_split_asm split add: sum3.split)
   28.18  (* 6 subgoals *)
   28.19  apply force+
   28.20  done
   28.21 @@ -232,9 +232,9 @@
   28.22  done
   28.23  
   28.24  lemma init_yields_initd: "G\<turnstile>Norm s1 \<midarrow>Init C\<rightarrow> s2 \<Longrightarrow> initd C s2"
   28.25 -apply (erule eval_cases , auto split del: split_if_asm)
   28.26 +apply (erule eval_cases , auto split del: if_split_asm)
   28.27  apply (case_tac "inited C (globs s1)")
   28.28 -apply  (clarsimp split del: split_if_asm)+
   28.29 +apply  (clarsimp split del: if_split_asm)+
   28.30  apply (drule eval_gext')+
   28.31  apply (drule init_class_obj_inited)
   28.32  apply (erule inited_gext)
   28.33 @@ -724,7 +724,7 @@
   28.34  qed
   28.35  
   28.36  declare split_paired_All [simp del] split_paired_Ex [simp del] 
   28.37 -declare split_if     [split del] split_if_asm     [split del] 
   28.38 +declare if_split     [split del] if_split_asm     [split del] 
   28.39          option.split [split del] option.split_asm [split del]
   28.40  setup \<open>map_theory_simpset (fn ctxt => ctxt delloop "split_all_tac")\<close>
   28.41  setup \<open>map_theory_claset (fn ctxt => ctxt delSWrapper "split_all_tac")\<close>
   28.42 @@ -753,7 +753,7 @@
   28.43  apply   (blast intro: FVar_lemma2)
   28.44  done
   28.45  declare split_paired_All [simp] split_paired_Ex [simp] 
   28.46 -declare split_if     [split] split_if_asm     [split] 
   28.47 +declare if_split     [split] if_split_asm     [split] 
   28.48          option.split [split] option.split_asm [split]
   28.49  setup \<open>map_theory_claset (fn ctxt => ctxt addSbefore ("split_all_tac", split_all_tac))\<close>
   28.50  setup \<open>map_theory_simpset (fn ctxt => ctxt addloop ("split_all_tac", split_all_tac))\<close>
   28.51 @@ -869,7 +869,7 @@
   28.52  by (auto simp add: abrupt_if_def)
   28.53  
   28.54  declare split_paired_All [simp del] split_paired_Ex [simp del] 
   28.55 -declare split_if     [split del] split_if_asm     [split del] 
   28.56 +declare if_split     [split del] if_split_asm     [split del] 
   28.57          option.split [split del] option.split_asm [split del]
   28.58  setup \<open>map_theory_simpset (fn ctxt => ctxt delloop "split_all_tac")\<close>
   28.59  setup \<open>map_theory_claset (fn ctxt => ctxt delSWrapper "split_all_tac")\<close>
   28.60 @@ -902,7 +902,7 @@
   28.61                                then None else Some (Class declC)))"
   28.62  apply (simp add: init_lvars_def2)
   28.63  apply (rule conforms_set_locals)
   28.64 -apply  (simp (no_asm_simp) split add: split_if)
   28.65 +apply  (simp (no_asm_simp) split add: if_split)
   28.66  apply (drule  (4) DynT_conf)
   28.67  apply clarsimp
   28.68  (* apply intro *)
   28.69 @@ -922,7 +922,7 @@
   28.70  apply     (simp add: np_no_jump)
   28.71  done
   28.72  declare split_paired_All [simp] split_paired_Ex [simp] 
   28.73 -declare split_if     [split] split_if_asm     [split] 
   28.74 +declare if_split     [split] if_split_asm     [split] 
   28.75          option.split [split] option.split_asm [split]
   28.76  setup \<open>map_theory_claset (fn ctxt => ctxt addSbefore ("split_all_tac", split_all_tac))\<close>
   28.77  setup \<open>map_theory_simpset (fn ctxt => ctxt addloop ("split_all_tac", split_all_tac))\<close>
    29.1 --- a/src/HOL/Bali/WellForm.thy	Tue Feb 23 16:50:10 2016 +0100
    29.2 +++ b/src/HOL/Bali/WellForm.thy	Tue Feb 23 18:04:31 2016 +0100
    29.3 @@ -2410,7 +2410,7 @@
    29.4                     | Inr Ts \<Rightarrow> Ball (set Ts) (is_type (prg E)))"
    29.5  apply (unfold empty_dt_def)
    29.6  apply (erule wt.induct)
    29.7 -apply (auto split del: split_if_asm simp del: snd_conv 
    29.8 +apply (auto split del: if_split_asm simp del: snd_conv 
    29.9              simp add: is_acc_class_def is_acc_type_def)
   29.10  apply    (erule typeof_empty_is_type)
   29.11  apply   (frule (1) wf_prog_cdecl [THEN wf_cdecl_supD], 
    30.1 --- a/src/HOL/Bali/WellType.thy	Tue Feb 23 16:50:10 2016 +0100
    30.2 +++ b/src/HOL/Bali/WellType.thy	Tue Feb 23 18:04:31 2016 +0100
    30.3 @@ -456,7 +456,7 @@
    30.4    ty_exprs_syntax  ("_|-_:#_" [51,51,51] 50)
    30.5  
    30.6  declare not_None_eq [simp del] 
    30.7 -declare split_if [split del] split_if_asm [split del]
    30.8 +declare if_split [split del] if_split_asm [split del]
    30.9  declare split_paired_All [simp del] split_paired_Ex [simp del]
   30.10  setup \<open>map_theory_simpset (fn ctxt => ctxt delloop "split_all_tac")\<close>
   30.11  
   30.12 @@ -492,7 +492,7 @@
   30.13          "E,dt\<Turnstile>In1r (c1 Finally c2)         \<Colon>x"
   30.14          "E,dt\<Turnstile>In1r (Init C)                \<Colon>x"
   30.15  declare not_None_eq [simp] 
   30.16 -declare split_if [split] split_if_asm [split]
   30.17 +declare if_split [split] if_split_asm [split]
   30.18  declare split_paired_All [simp] split_paired_Ex [simp]
   30.19  setup \<open>map_theory_simpset (fn ctxt => ctxt addloop ("split_all_tac", split_all_tac))\<close>
   30.20  
   30.21 @@ -655,7 +655,7 @@
   30.22       G = prg E \<longrightarrow> (\<forall>T'. E,dt\<Turnstile>t\<Colon>T' \<longrightarrow> T  = T')"
   30.23  apply (cases "E", erule wt.induct)
   30.24  apply (safe del: disjE)
   30.25 -apply (simp_all (no_asm_use) split del: split_if_asm)
   30.26 +apply (simp_all (no_asm_use) split del: if_split_asm)
   30.27  apply (safe del: disjE)
   30.28  (* 17 subgoals *)
   30.29  apply (tactic \<open>ALLGOALS (fn i =>
   30.30 @@ -666,7 +666,7 @@
   30.31    else Rule_Insts.thin_tac @{context} "All P" [(@{binding P}, NONE, NoSyn)] i)\<close>)
   30.32  (*apply (safe del: disjE elim!: wt_elim_cases)*)
   30.33  apply (tactic \<open>ALLGOALS (eresolve_tac @{context} @{thms wt_elim_cases})\<close>)
   30.34 -apply (simp_all (no_asm_use) split del: split_if_asm)
   30.35 +apply (simp_all (no_asm_use) split del: if_split_asm)
   30.36  apply (erule_tac [12] V = "All P" for P in thin_rl) (* Call *)
   30.37  apply (blast del: equalityCE dest: sym [THEN trans])+
   30.38  done
    31.1 --- a/src/HOL/Cardinals/Cardinal_Arithmetic.thy	Tue Feb 23 16:50:10 2016 +0100
    31.2 +++ b/src/HOL/Cardinals/Cardinal_Arithmetic.thy	Tue Feb 23 18:04:31 2016 +0100
    31.3 @@ -226,7 +226,7 @@
    31.4    def f \<equiv> "\<lambda>y a. if y = x \<and> a \<in> A then x else undefined"
    31.5    have "Func A {x} \<subseteq> f ` {x}" unfolding f_def Func_def by (force simp: fun_eq_iff)
    31.6    hence "bij_betw f {x} (Func A {x})" unfolding bij_betw_def inj_on_def f_def Func_def
    31.7 -    by (auto split: split_if_asm)
    31.8 +    by (auto split: if_split_asm)
    31.9    thus "|{x}| =o |Func A {x}|" using card_of_ordIso by blast
   31.10  qed
   31.11  
   31.12 @@ -239,7 +239,7 @@
   31.13  proof (rule ordIso_symmetric)
   31.14    def f \<equiv> "\<lambda>(x::'a,y) b. if A = {} then undefined else if b then x else y"
   31.15    have "Func (UNIV :: bool set) A \<subseteq> f ` (A \<times> A)" unfolding f_def Func_def
   31.16 -    by (auto simp: image_iff fun_eq_iff split: option.splits split_if_asm) blast
   31.17 +    by (auto simp: image_iff fun_eq_iff split: option.splits if_split_asm) blast
   31.18    hence "bij_betw f (A \<times> A) (Func (UNIV :: bool set) A)"
   31.19      unfolding bij_betw_def inj_on_def f_def Func_def by (auto simp: fun_eq_iff)
   31.20    thus "|A \<times> A| =o |Func (UNIV :: bool set) A|" using card_of_ordIso by blast
    32.1 --- a/src/HOL/Cardinals/Ordinal_Arithmetic.thy	Tue Feb 23 16:50:10 2016 +0100
    32.2 +++ b/src/HOL/Cardinals/Ordinal_Arithmetic.thy	Tue Feb 23 18:04:31 2016 +0100
    32.3 @@ -1064,7 +1064,7 @@
    32.4  
    32.5  lemma FinFunc_singleton: "FinFunc {(z,z)} s = {\<lambda>x. if x \<in> Field s then z else undefined}"
    32.6    unfolding FinFunc_def Func_def fin_support_def support_def
    32.7 -  by (auto simp: fun_eq_iff split: split_if_asm intro!: finite_subset[of _ "{}"])
    32.8 +  by (auto simp: fun_eq_iff split: if_split_asm intro!: finite_subset[of _ "{}"])
    32.9  
   32.10  lemma oone_ordIso_oexp:
   32.11    assumes "r =o oone" and s: "Well_order s"
   32.12 @@ -1301,7 +1301,7 @@
   32.13      if z \<in> Field t then r.zero else undefined"
   32.14    from *(4) x(2) the_inv_into_f_eq[OF *(1)] have FLR: "F ` Field ?L \<subseteq> Field ?R"
   32.15      unfolding rt.Field_oexp rs.Field_oexp FinFunc_def Func_def fin_support_def support_def F_def
   32.16 -    by (fastforce split: option.splits split_if_asm elim!: finite_surj[of _ _ f])
   32.17 +    by (fastforce split: option.splits if_split_asm elim!: finite_surj[of _ _ f])
   32.18    have "inj_on F (Field ?L)" unfolding rs.Field_oexp inj_on_def fun_eq_iff
   32.19    proof safe
   32.20      fix g h x assume "g \<in> FinFunc r s" "h \<in> FinFunc r s" "\<forall>y. F g y = F h y"
    33.1 --- a/src/HOL/Complete_Lattices.thy	Tue Feb 23 16:50:10 2016 +0100
    33.2 +++ b/src/HOL/Complete_Lattices.thy	Tue Feb 23 18:04:31 2016 +0100
    33.3 @@ -1247,7 +1247,7 @@
    33.4    by blast
    33.5  
    33.6  lemma Un_eq_UN: "A \<union> B = (\<Union>b. if b then A else B)"
    33.7 -  by safe (auto simp add: split_if_mem2)
    33.8 +  by safe (auto simp add: if_split_mem2)
    33.9  
   33.10  lemma UN_bool_eq: "(\<Union>b. A b) = (A True \<union> A False)"
   33.11    by (fact SUP_UNIV_bool_expand)
    34.1 --- a/src/HOL/Data_Structures/AA_Set.thy	Tue Feb 23 16:50:10 2016 +0100
    34.2 +++ b/src/HOL/Data_Structures/AA_Set.thy	Tue Feb 23 18:04:31 2016 +0100
    34.3 @@ -135,4 +135,4 @@
    34.4    case 4 thus ?case by(simp add: inorder_delete)
    34.5  qed auto
    34.6  
    34.7 -end
    34.8 \ No newline at end of file
    34.9 +end
    35.1 --- a/src/HOL/Data_Structures/Isin2.thy	Tue Feb 23 16:50:10 2016 +0100
    35.2 +++ b/src/HOL/Data_Structures/Isin2.thy	Tue Feb 23 18:04:31 2016 +0100
    35.3 @@ -23,4 +23,4 @@
    35.4  lemma isin_set: "sorted(inorder t) \<Longrightarrow> isin t x = (x \<in> elems(inorder t))"
    35.5  by (induction t) (auto simp: elems_simps2)
    35.6  
    35.7 -end
    35.8 \ No newline at end of file
    35.9 +end
    36.1 --- a/src/HOL/Data_Structures/Lookup2.thy	Tue Feb 23 16:50:10 2016 +0100
    36.2 +++ b/src/HOL/Data_Structures/Lookup2.thy	Tue Feb 23 18:04:31 2016 +0100
    36.3 @@ -18,4 +18,4 @@
    36.4    "sorted1(inorder t) \<Longrightarrow> lookup t x = map_of (inorder t) x"
    36.5  by(induction t) (auto simp: map_of_simps split: option.split)
    36.6  
    36.7 -end
    36.8 \ No newline at end of file
    36.9 +end
    37.1 --- a/src/HOL/Data_Structures/Tree2.thy	Tue Feb 23 16:50:10 2016 +0100
    37.2 +++ b/src/HOL/Data_Structures/Tree2.thy	Tue Feb 23 18:04:31 2016 +0100
    37.3 @@ -14,4 +14,4 @@
    37.4  "height Leaf = 0" |
    37.5  "height (Node _ l a r) = max (height l) (height r) + 1"
    37.6  
    37.7 -end
    37.8 \ No newline at end of file
    37.9 +end
    38.1 --- a/src/HOL/Datatype_Examples/Derivation_Trees/Prelim.thy	Tue Feb 23 16:50:10 2016 +0100
    38.2 +++ b/src/HOL/Datatype_Examples/Derivation_Trees/Prelim.thy	Tue Feb 23 18:04:31 2016 +0100
    38.3 @@ -61,4 +61,4 @@
    38.4  shows "A = B"
    38.5  apply safe using assms apply(case_tac x, auto) by(case_tac x, auto)
    38.6  
    38.7 -end
    38.8 \ No newline at end of file
    38.9 +end
    39.1 --- a/src/HOL/Decision_Procs/Approximation.thy	Tue Feb 23 16:50:10 2016 +0100
    39.2 +++ b/src/HOL/Decision_Procs/Approximation.thy	Tue Feb 23 18:04:31 2016 +0100
    39.3 @@ -182,7 +182,7 @@
    39.4    "(l1, u1) = float_power_bnds prec n l u \<Longrightarrow> x \<in> {l .. u} \<Longrightarrow> (x::real) ^ n \<in> {l1..u1}"
    39.5    by (auto
    39.6      simp: float_power_bnds_def max_def real_power_up_fl real_power_down_fl minus_le_iff
    39.7 -    split: split_if_asm
    39.8 +    split: if_split_asm
    39.9      intro!: power_up_le power_down_le le_minus_power_downI
   39.10      intro: power_mono_odd power_mono power_mono_even zero_le_even_power)
   39.11  
   39.12 @@ -2771,14 +2771,14 @@
   39.13                                     del: lb_ln.simps ub_ln.simps)
   39.14    next
   39.15      assume "l1 \<le> 0" "\<not>(l1 = 0 \<and> (u1 = 0 \<or> l2 \<ge> 1))"
   39.16 -    with lu show ?thesis by (simp add: bnds_powr_def split: split_if_asm)
   39.17 +    with lu show ?thesis by (simp add: bnds_powr_def split: if_split_asm)
   39.18    next
   39.19      assume l1: "l1 > 0"
   39.20      obtain lm um where lmum:
   39.21        "(lm, um) = bnds_mult prec (the (lb_ln prec l1)) (the (ub_ln prec u1)) l2 u2"
   39.22        by (cases "bnds_mult prec (the (lb_ln prec l1)) (the (ub_ln prec u1)) l2 u2") simp
   39.23      with l1 have "(l, u) = map_bnds lb_exp ub_exp prec (lm, um)"
   39.24 -      using lu by (simp add: bnds_powr_def del: lb_ln.simps ub_ln.simps split: split_if_asm)
   39.25 +      using lu by (simp add: bnds_powr_def del: lb_ln.simps ub_ln.simps split: if_split_asm)
   39.26      hence "exp (ln x * y) \<in> {real_of_float l..real_of_float u}"
   39.27      proof (rule map_bnds[OF _ mono_exp_real], goal_cases)
   39.28        case 1
   39.29 @@ -4229,7 +4229,7 @@
   39.30        with f_def a b assms
   39.31        have "approx_tse_form' prec t (Add rt (Minus x)) s l u' (\<lambda> l u. 0 \<le> l)"
   39.32          and "approx_tse_form' prec t (Add x (Minus lf)) s l u' (\<lambda> l u. 0 \<le> l)"
   39.33 -        unfolding approx_tse_form_def lazy_conj by (auto split: split_if_asm)
   39.34 +        unfolding approx_tse_form_def lazy_conj by (auto split: if_split_asm)
   39.35        from approx_tse_form'_le[OF this(1) bnd] approx_tse_form'_le[OF this(2) bnd]
   39.36        show ?case using AtLeastAtMost by auto
   39.37      qed (auto simp: f_def approx_tse_form_def elim!: case_optionE)
    40.1 --- a/src/HOL/Decision_Procs/Polynomial_List.thy	Tue Feb 23 16:50:10 2016 +0100
    40.2 +++ b/src/HOL/Decision_Procs/Polynomial_List.thy	Tue Feb 23 18:04:31 2016 +0100
    40.3 @@ -908,16 +908,16 @@
    40.4    unfolding pnormal_def by simp
    40.5  
    40.6  lemma (in semiring_0) pnormal_tail: "p \<noteq> [] \<Longrightarrow> pnormal (c # p) \<Longrightarrow> pnormal p"
    40.7 -  unfolding pnormal_def by (auto split: split_if_asm)
    40.8 +  unfolding pnormal_def by (auto split: if_split_asm)
    40.9  
   40.10  lemma (in semiring_0) pnormal_last_nonzero: "pnormal p \<Longrightarrow> last p \<noteq> 0"
   40.11 -  by (induct p) (simp_all add: pnormal_def split: split_if_asm)
   40.12 +  by (induct p) (simp_all add: pnormal_def split: if_split_asm)
   40.13  
   40.14  lemma (in semiring_0) pnormal_length: "pnormal p \<Longrightarrow> 0 < length p"
   40.15    unfolding pnormal_def length_greater_0_conv by blast
   40.16  
   40.17  lemma (in semiring_0) pnormal_last_length: "0 < length p \<Longrightarrow> last p \<noteq> 0 \<Longrightarrow> pnormal p"
   40.18 -  by (induct p) (auto simp: pnormal_def  split: split_if_asm)
   40.19 +  by (induct p) (auto simp: pnormal_def  split: if_split_asm)
   40.20  
   40.21  lemma (in semiring_0) pnormal_id: "pnormal p \<longleftrightarrow> 0 < length p \<and> last p \<noteq> 0"
   40.22    using pnormal_last_length pnormal_length pnormal_last_nonzero by blast
   40.23 @@ -1010,7 +1010,7 @@
   40.24  qed
   40.25  
   40.26  lemma (in semiring_0) pnormalize_eq: "last p \<noteq> 0 \<Longrightarrow> pnormalize p = p"
   40.27 -  by (induct p) (auto split: split_if_asm)
   40.28 +  by (induct p) (auto split: if_split_asm)
   40.29  
   40.30  lemma (in semiring_0) last_pnormalize: "pnormalize p \<noteq> [] \<Longrightarrow> last (pnormalize p) \<noteq> 0"
   40.31    by (induct p) auto
    41.1 --- a/src/HOL/Decision_Procs/Rat_Pair.thy	Tue Feb 23 16:50:10 2016 +0100
    41.2 +++ b/src/HOL/Decision_Procs/Rat_Pair.thy	Tue Feb 23 18:04:31 2016 +0100
    41.3 @@ -188,7 +188,7 @@
    41.4    proof cases
    41.5      case 1
    41.6      then show ?thesis
    41.7 -      using na nb H by (simp add: x y INum_def split_def isnormNum_def split: split_if_asm)
    41.8 +      using na nb H by (simp add: x y INum_def split_def isnormNum_def split: if_split_asm)
    41.9    next
   41.10      case 2
   41.11      with na nb have pos: "b > 0" "b' > 0"
   41.12 @@ -599,7 +599,7 @@
   41.13    show ?thesis using nx ny
   41.14      apply (simp only: isnormNum_unique[where ?'a = 'a, OF  Nmul_normN[OF nx ny] n0, symmetric]
   41.15        Nmul[where ?'a = 'a])
   41.16 -    apply (simp add: x y INum_def split_def isnormNum_def split: split_if_asm)
   41.17 +    apply (simp add: x y INum_def split_def isnormNum_def split: if_split_asm)
   41.18      done
   41.19  qed
   41.20  
    42.1 --- a/src/HOL/Decision_Procs/Reflected_Multivariate_Polynomial.thy	Tue Feb 23 16:50:10 2016 +0100
    42.2 +++ b/src/HOL/Decision_Procs/Reflected_Multivariate_Polynomial.thy	Tue Feb 23 18:04:31 2016 +0100
    42.3 @@ -2127,4 +2127,4 @@
    42.4  lemma swap_isweanpoly: "isweaknpoly p \<Longrightarrow> isweaknpoly (swap n m p)"
    42.5    by (induct p) auto
    42.6  
    42.7 -end
    42.8 \ No newline at end of file
    42.9 +end
    43.1 --- a/src/HOL/Decision_Procs/approximation.ML	Tue Feb 23 16:50:10 2016 +0100
    43.2 +++ b/src/HOL/Decision_Procs/approximation.ML	Tue Feb 23 18:04:31 2016 +0100
    43.3 @@ -261,4 +261,4 @@
    43.4    THEN rewrite_interpret_form_tac ctxt prec splitting taylor i
    43.5    THEN gen_eval_tac (approximation_conv ctxt) ctxt i
    43.6      
    43.7 -end;
    43.8 \ No newline at end of file
    43.9 +end;
    44.1 --- a/src/HOL/Decision_Procs/langford.ML	Tue Feb 23 16:50:10 2016 +0100
    44.2 +++ b/src/HOL/Decision_Procs/langford.ML	Tue Feb 23 18:04:31 2016 +0100
    44.3 @@ -260,4 +260,4 @@
    44.4        THEN Object_Logic.full_atomize_tac ctxt i
    44.5        THEN CONVERSION (Object_Logic.judgment_conv ctxt (raw_dlo_conv ctxt ss instance)) i
    44.6        THEN (simp_tac (put_simpset ss ctxt) i)));
    44.7 -end;
    44.8 \ No newline at end of file
    44.9 +end;
    45.1 --- a/src/HOL/Deriv.thy	Tue Feb 23 16:50:10 2016 +0100
    45.2 +++ b/src/HOL/Deriv.thy	Tue Feb 23 18:04:31 2016 +0100
    45.3 @@ -962,7 +962,7 @@
    45.4      fix h::real
    45.5      assume "0 < h" "h < s"
    45.6      with all [of h] show "f x < f (x+h)"
    45.7 -    proof (simp add: abs_if pos_less_divide_eq split add: split_if_asm)
    45.8 +    proof (simp add: abs_if pos_less_divide_eq split add: if_split_asm)
    45.9        assume "~ (f (x+h) - f x) / h < l" and h: "0 < h"
   45.10        with l
   45.11        have "0 < (f (x+h) - f x) / h" by arith
   45.12 @@ -991,7 +991,7 @@
   45.13      fix h::real
   45.14      assume "0 < h" "h < s"
   45.15      with all [of "-h"] show "f x < f (x-h)"
   45.16 -    proof (simp add: abs_if pos_less_divide_eq split add: split_if_asm)
   45.17 +    proof (simp add: abs_if pos_less_divide_eq split add: if_split_asm)
   45.18        assume " - ((f (x-h) - f x) / h) < l" and h: "0 < h"
   45.19        with l
   45.20        have "0 < (f (x-h) - f x) / h" by arith
    46.1 --- a/src/HOL/Divides.thy	Tue Feb 23 16:50:10 2016 +0100
    46.2 +++ b/src/HOL/Divides.thy	Tue Feb 23 18:04:31 2016 +0100
    46.3 @@ -1002,7 +1002,7 @@
    46.4    assume "m \<noteq> 0"
    46.5    hence "\<And>a b. divmod_nat_rel n q (a, b) \<Longrightarrow> divmod_nat_rel (m * n) (m * q) (a, m * b)"
    46.6      unfolding divmod_nat_rel_def
    46.7 -    by (auto split: split_if_asm, simp_all add: algebra_simps)
    46.8 +    by (auto split: if_split_asm, simp_all add: algebra_simps)
    46.9    moreover from divmod_nat_rel have "divmod_nat_rel n q (n div q, n mod q)" .
   46.10    ultimately have "divmod_nat_rel (m * n) (m * q) (n div q, m * (n mod q))" .
   46.11    thus "(m * n) div (m * q) = n div q" by (rule div_nat_unique)
   46.12 @@ -1660,7 +1660,7 @@
   46.13  
   46.14  lemma unique_quotient:
   46.15    "divmod_int_rel a b (q, r) \<Longrightarrow> divmod_int_rel a b (q', r') \<Longrightarrow> q = q'"
   46.16 -apply (simp add: divmod_int_rel_def linorder_neq_iff split: split_if_asm)
   46.17 +apply (simp add: divmod_int_rel_def linorder_neq_iff split: if_split_asm)
   46.18  apply (blast intro: order_antisym
   46.19               dest: order_eq_refl [THEN unique_quotient_lemma]
   46.20               order_eq_refl [THEN unique_quotient_lemma_neg] sym)+
   46.21 @@ -2072,7 +2072,7 @@
   46.22        ==> divmod_int_rel a (b * c) (q div c, b*(q mod c) + r)"
   46.23  by (auto simp add: mult.assoc divmod_int_rel_def linorder_neq_iff
   46.24                     zero_less_mult_iff distrib_left [symmetric]
   46.25 -                   zmult2_lemma_aux1 zmult2_lemma_aux2 zmult2_lemma_aux3 zmult2_lemma_aux4 mult_less_0_iff split: split_if_asm)
   46.26 +                   zmult2_lemma_aux1 zmult2_lemma_aux2 zmult2_lemma_aux3 zmult2_lemma_aux4 mult_less_0_iff split: if_split_asm)
   46.27  
   46.28  lemma zdiv_zmult2_eq:
   46.29    fixes a b c :: int
    47.1 --- a/src/HOL/Enum.thy	Tue Feb 23 16:50:10 2016 +0100
    47.2 +++ b/src/HOL/Enum.thy	Tue Feb 23 18:04:31 2016 +0100
    47.3 @@ -795,13 +795,13 @@
    47.4    proof(cases a "\<Sqinter>B" rule: finite_3.exhaust[case_product finite_3.exhaust])
    47.5      case a\<^sub>2_a\<^sub>3
    47.6      then have "\<And>x. x \<in> B \<Longrightarrow> x = a\<^sub>3"
    47.7 -      by(case_tac x)(auto simp add: Inf_finite_3_def split: split_if_asm)
    47.8 +      by(case_tac x)(auto simp add: Inf_finite_3_def split: if_split_asm)
    47.9      then show ?thesis using a\<^sub>2_a\<^sub>3
   47.10 -      by(auto simp add: Inf_finite_3_def max_def less_eq_finite_3_def less_finite_3_def split: split_if_asm)
   47.11 -  qed (auto simp add: Inf_finite_3_def max_def less_finite_3_def less_eq_finite_3_def split: split_if_asm)
   47.12 +      by(auto simp add: Inf_finite_3_def max_def less_eq_finite_3_def less_finite_3_def split: if_split_asm)
   47.13 +  qed (auto simp add: Inf_finite_3_def max_def less_finite_3_def less_eq_finite_3_def split: if_split_asm)
   47.14    show "a \<sqinter> \<Squnion>B = (\<Squnion>b\<in>B. a \<sqinter> b)"
   47.15      by (cases a "\<Squnion>B" rule: finite_3.exhaust[case_product finite_3.exhaust])
   47.16 -      (auto simp add: Sup_finite_3_def min_def less_finite_3_def less_eq_finite_3_def split: split_if_asm)
   47.17 +      (auto simp add: Sup_finite_3_def min_def less_finite_3_def less_eq_finite_3_def split: if_split_asm)
   47.18  qed
   47.19  
   47.20  instance finite_3 :: complete_linorder ..
   47.21 @@ -920,10 +920,10 @@
   47.22    fix a :: finite_4 and B
   47.23    show "a \<squnion> \<Sqinter>B = (\<Sqinter>b\<in>B. a \<squnion> b)"
   47.24      by(cases a "\<Sqinter>B" rule: finite_4.exhaust[case_product finite_4.exhaust])
   47.25 -      (auto simp add: sup_finite_4_def Inf_finite_4_def split: finite_4.splits split_if_asm)
   47.26 +      (auto simp add: sup_finite_4_def Inf_finite_4_def split: finite_4.splits if_split_asm)
   47.27    show "a \<sqinter> \<Squnion>B = (\<Squnion>b\<in>B. a \<sqinter> b)"
   47.28      by(cases a "\<Squnion>B" rule: finite_4.exhaust[case_product finite_4.exhaust])
   47.29 -      (auto simp add: inf_finite_4_def Sup_finite_4_def split: finite_4.splits split_if_asm)
   47.30 +      (auto simp add: inf_finite_4_def Sup_finite_4_def split: finite_4.splits if_split_asm)
   47.31  qed
   47.32  
   47.33  instantiation finite_4 :: complete_boolean_algebra begin
   47.34 @@ -1022,13 +1022,13 @@
   47.35    fix A and z :: finite_5
   47.36    assume *: "\<And>x. x \<in> A \<Longrightarrow> z \<le> x"
   47.37    show "z \<le> \<Sqinter>A"
   47.38 -    by(auto simp add: less_eq_finite_5_def Inf_finite_5_def split: finite_5.splits split_if_asm dest!: *)
   47.39 +    by(auto simp add: less_eq_finite_5_def Inf_finite_5_def split: finite_5.splits if_split_asm dest!: *)
   47.40  next
   47.41    fix A and z :: finite_5
   47.42    assume *: "\<And>x. x \<in> A \<Longrightarrow> x \<le> z"
   47.43    show "\<Squnion>A \<le> z"
   47.44 -    by(auto simp add: less_eq_finite_5_def Sup_finite_5_def split: finite_5.splits split_if_asm dest!: *)
   47.45 -qed(auto simp add: less_eq_finite_5_def less_finite_5_def inf_finite_5_def sup_finite_5_def Inf_finite_5_def Sup_finite_5_def split: finite_5.splits split_if_asm)
   47.46 +    by(auto simp add: less_eq_finite_5_def Sup_finite_5_def split: finite_5.splits if_split_asm dest!: *)
   47.47 +qed(auto simp add: less_eq_finite_5_def less_finite_5_def inf_finite_5_def sup_finite_5_def Inf_finite_5_def Sup_finite_5_def split: finite_5.splits if_split_asm)
   47.48  
   47.49  end
   47.50  
    48.1 --- a/src/HOL/Finite_Set.thy	Tue Feb 23 16:50:10 2016 +0100
    48.2 +++ b/src/HOL/Finite_Set.thy	Tue Feb 23 18:04:31 2016 +0100
    48.3 @@ -1312,7 +1312,7 @@
    48.4  apply (subgoal_tac "finite A & A - {x} <= F")
    48.5   prefer 2 apply (blast intro: finite_subset, atomize)
    48.6  apply (drule_tac x = "A - {x}" in spec)
    48.7 -apply (simp add: card_Diff_singleton_if split add: split_if_asm)
    48.8 +apply (simp add: card_Diff_singleton_if split add: if_split_asm)
    48.9  apply (case_tac "card A", auto)
   48.10  done
   48.11  
    49.1 --- a/src/HOL/Fun.thy	Tue Feb 23 16:50:10 2016 +0100
    49.2 +++ b/src/HOL/Fun.thy	Tue Feb 23 18:04:31 2016 +0100
    49.3 @@ -667,7 +667,7 @@
    49.4    by auto
    49.5  
    49.6  lemma fun_upd_eqD: "f(x := y) = g(x := z) \<Longrightarrow> y = z"
    49.7 -by(simp add: fun_eq_iff split: split_if_asm)
    49.8 +by(simp add: fun_eq_iff split: if_split_asm)
    49.9  
   49.10  subsection \<open>\<open>override_on\<close>\<close>
   49.11  
    50.1 --- a/src/HOL/HOL.thy	Tue Feb 23 16:50:10 2016 +0100
    50.2 +++ b/src/HOL/HOL.thy	Tue Feb 23 18:04:31 2016 +0100
    50.3 @@ -988,7 +988,7 @@
    50.4  
    50.5  
    50.6  lemma cases_simp: "((P \<longrightarrow> Q) \<and> (\<not> P \<longrightarrow> Q)) = Q"
    50.7 -  \<comment> \<open>Avoids duplication of subgoals after \<open>split_if\<close>, when the true and false\<close>
    50.8 +  \<comment> \<open>Avoids duplication of subgoals after \<open>if_split\<close>, when the true and false\<close>
    50.9    \<comment> \<open>cases boil down to the same thing.\<close>
   50.10    by blast
   50.11  
   50.12 @@ -1036,30 +1036,30 @@
   50.13  lemma if_not_P: "\<not> P \<Longrightarrow> (if P then x else y) = y"
   50.14    by (unfold If_def) blast
   50.15  
   50.16 -lemma split_if: "P (if Q then x else y) = ((Q \<longrightarrow> P x) \<and> (\<not> Q \<longrightarrow> P y))"
   50.17 +lemma if_split: "P (if Q then x else y) = ((Q \<longrightarrow> P x) \<and> (\<not> Q \<longrightarrow> P y))"
   50.18    apply (rule case_split [of Q])
   50.19     apply (simplesubst if_P)
   50.20      prefer 3 apply (simplesubst if_not_P, blast+)
   50.21    done
   50.22  
   50.23 -lemma split_if_asm: "P (if Q then x else y) = (\<not> ((Q \<and> \<not> P x) \<or> (\<not> Q \<and> \<not> P y)))"
   50.24 -by (simplesubst split_if, blast)
   50.25 +lemma if_split_asm: "P (if Q then x else y) = (\<not> ((Q \<and> \<not> P x) \<or> (\<not> Q \<and> \<not> P y)))"
   50.26 +by (simplesubst if_split, blast)
   50.27  
   50.28 -lemmas if_splits [no_atp] = split_if split_if_asm
   50.29 +lemmas if_splits [no_atp] = if_split if_split_asm
   50.30  
   50.31  lemma if_cancel: "(if c then x else x) = x"
   50.32 -by (simplesubst split_if, blast)
   50.33 +by (simplesubst if_split, blast)
   50.34  
   50.35  lemma if_eq_cancel: "(if x = y then y else x) = x"
   50.36 -by (simplesubst split_if, blast)
   50.37 +by (simplesubst if_split, blast)
   50.38  
   50.39  lemma if_bool_eq_conj: "(if P then Q else R) = ((P \<longrightarrow> Q) \<and> (\<not> P \<longrightarrow> R))"
   50.40    \<comment> \<open>This form is useful for expanding \<open>if\<close>s on the RIGHT of the \<open>\<Longrightarrow>\<close> symbol.\<close>
   50.41 -  by (rule split_if)
   50.42 +  by (rule if_split)
   50.43  
   50.44  lemma if_bool_eq_disj: "(if P then Q else R) = ((P \<and> Q) \<or> (\<not> P \<and> R))"
   50.45    \<comment> \<open>And this form is useful for expanding \<open>if\<close>s on the LEFT.\<close>
   50.46 -  by (simplesubst split_if) blast
   50.47 +  by (simplesubst if_split) blast
   50.48  
   50.49  lemma Eq_TrueI: "P \<Longrightarrow> P \<equiv> True" by (unfold atomize_eq) iprover
   50.50  lemma Eq_FalseI: "\<not> P \<Longrightarrow> P \<equiv> False" by (unfold atomize_eq) iprover
   50.51 @@ -1303,7 +1303,7 @@
   50.52    simp_thms
   50.53  
   50.54  lemmas [cong] = imp_cong simp_implies_cong
   50.55 -lemmas [split] = split_if
   50.56 +lemmas [split] = if_split
   50.57  
   50.58  ML \<open>val HOL_ss = simpset_of @{context}\<close>
   50.59  
    51.1 --- a/src/HOL/HOLCF/Bifinite.thy	Tue Feb 23 16:50:10 2016 +0100
    51.2 +++ b/src/HOL/HOLCF/Bifinite.thy	Tue Feb 23 18:04:31 2016 +0100
    51.3 @@ -142,7 +142,7 @@
    51.4      let ?S = "insert (\<bottom>::'a discr u) ((\<lambda>x. up\<cdot>x) ` undiscr -` to_nat -` {..<i})"
    51.5      show "{x::'a discr u. discr_approx i\<cdot>x = x} \<subseteq> ?S"
    51.6        unfolding discr_approx_def
    51.7 -      by (rule subsetI, case_tac x, simp, simp split: split_if_asm)
    51.8 +      by (rule subsetI, case_tac x, simp, simp split: if_split_asm)
    51.9      show "finite ?S"
   51.10        by (simp add: finite_vimageI)
   51.11    qed
    52.1 --- a/src/HOL/HOLCF/IOA/ABP/Correctness.thy	Tue Feb 23 16:50:10 2016 +0100
    52.2 +++ b/src/HOL/HOLCF/IOA/ABP/Correctness.thy	Tue Feb 23 18:04:31 2016 +0100
    52.3 @@ -94,7 +94,7 @@
    52.4     "if x=hd(reverse(reduce(l))) & reduce(l)~=[] then
    52.5         reduce(l@[x])=reduce(l) else
    52.6         reduce(l@[x])=reduce(l)@[x]"
    52.7 -apply (simplesubst split_if)
    52.8 +apply (simplesubst if_split)
    52.9  apply (rule conjI)
   52.10  txt \<open>\<open>-->\<close>\<close>
   52.11  apply (induct_tac "l")
   52.12 @@ -115,7 +115,7 @@
   52.13  apply (case_tac "list=[]")
   52.14  apply (cut_tac [2] l = "list" in cons_not_nil)
   52.15  apply simp
   52.16 -apply (auto simp del: reduce_Cons simp add: last_ind_on_first l_iff_red_nil split: split_if)
   52.17 +apply (auto simp del: reduce_Cons simp add: last_ind_on_first l_iff_red_nil split: if_split)
   52.18  apply simp
   52.19  done
   52.20  
   52.21 @@ -134,7 +134,7 @@
   52.22  
   52.23  subsection \<open>Channel Abstraction\<close>
   52.24  
   52.25 -declare split_if [split del]
   52.26 +declare if_split [split del]
   52.27  
   52.28  lemma channel_abstraction: "is_weak_ref_map reduce ch_ioa ch_fin_ioa"
   52.29  apply (simp (no_asm) add: is_weak_ref_map_def)
   52.30 @@ -161,7 +161,7 @@
   52.31  apply (erule reduce_tl)
   52.32  done
   52.33  
   52.34 -declare split_if [split]
   52.35 +declare if_split [split]
   52.36  
   52.37  lemma sender_abstraction: "is_weak_ref_map reduce srch_ioa srch_fin_ioa"
   52.38  apply (tactic \<open>
    53.1 --- a/src/HOL/HOLCF/IOA/Deadlock.thy	Tue Feb 23 16:50:10 2016 +0100
    53.2 +++ b/src/HOL/HOLCF/IOA/Deadlock.thy	Tue Feb 23 18:04:31 2016 +0100
    53.3 @@ -64,7 +64,7 @@
    53.4      and "compatible A B"
    53.5      and "input_enabled B"
    53.6    shows "(sch @@ a \<leadsto> nil) \<in> schedules (A \<parallel> B)"
    53.7 -  supply split_if [split del]
    53.8 +  supply if_split [split del]
    53.9    apply (insert assms)
   53.10    apply (simp add: compositionality_sch locals_def)
   53.11    apply (rule conjI)
    54.1 --- a/src/HOL/HOLCF/IOA/NTP/Correctness.thy	Tue Feb 23 16:50:10 2016 +0100
    54.2 +++ b/src/HOL/HOLCF/IOA/NTP/Correctness.thy	Tue Feb 23 18:04:31 2016 +0100
    54.3 @@ -61,7 +61,7 @@
    54.4  lemma ntp_correct:
    54.5    "is_weak_ref_map hom (Automata.restrict impl_ioa (externals spec_sig)) spec_ioa"
    54.6  apply (unfold Spec.ioa_def is_weak_ref_map_def)
    54.7 -apply (simp (no_asm) cong del: if_weak_cong split del: split_if add: Correctness.hom_def
    54.8 +apply (simp (no_asm) cong del: if_weak_cong split del: if_split add: Correctness.hom_def
    54.9    cancel_restrict externals_lemma)
   54.10  apply (rule conjI)
   54.11   apply (simp (no_asm) add: hom_ioas)
    55.1 --- a/src/HOL/HOLCF/IOA/NTP/Impl.thy	Tue Feb 23 16:50:10 2016 +0100
    55.2 +++ b/src/HOL/HOLCF/IOA/NTP/Impl.thy	Tue Feb 23 18:04:31 2016 +0100
    55.3 @@ -107,10 +107,10 @@
    55.4  
    55.5  fun tac ctxt =
    55.6    asm_simp_tac (put_simpset ss ctxt
    55.7 -    |> Simplifier.add_cong @{thm conj_cong} |> Splitter.add_split @{thm split_if})
    55.8 +    |> Simplifier.add_cong @{thm conj_cong} |> Splitter.add_split @{thm if_split})
    55.9  fun tac_ren ctxt =
   55.10    asm_simp_tac (put_simpset rename_ss ctxt
   55.11 -    |> Simplifier.add_cong @{thm conj_cong} |> Splitter.add_split @{thm split_if})
   55.12 +    |> Simplifier.add_cong @{thm conj_cong} |> Splitter.add_split @{thm if_split})
   55.13  \<close>
   55.14  
   55.15  
   55.16 @@ -128,7 +128,7 @@
   55.17  apply (rule conjI)
   55.18  
   55.19  (* First half *)
   55.20 -apply (simp add: Impl.inv1_def split del: split_if)
   55.21 +apply (simp add: Impl.inv1_def split del: if_split)
   55.22  apply (induct_tac a)
   55.23  
   55.24  apply (tactic "EVERY1[tac @{context}, tac @{context}, tac @{context}, tac @{context}]")
   55.25 @@ -145,7 +145,7 @@
   55.26  
   55.27  
   55.28  txt \<open>Now the other half\<close>
   55.29 -apply (simp add: Impl.inv1_def split del: split_if)
   55.30 +apply (simp add: Impl.inv1_def split del: if_split)
   55.31  apply (induct_tac a)
   55.32  apply (tactic "EVERY1 [tac @{context}, tac @{context}]")
   55.33  
   55.34 @@ -155,14 +155,14 @@
   55.35  apply (rule impI)
   55.36  apply (erule conjE)+
   55.37  apply (simp (no_asm_simp) add: hdr_sum_def Multiset.count_def Multiset.countm_nonempty_def
   55.38 -  split add: split_if)
   55.39 +  split add: if_split)
   55.40  txt \<open>detour 2\<close>
   55.41  apply (tactic "tac @{context} 1")
   55.42  apply (tactic "tac_ren @{context} 1")
   55.43  apply (rule impI)
   55.44  apply (erule conjE)+
   55.45  apply (simp add: Impl.hdr_sum_def Multiset.count_def Multiset.countm_nonempty_def
   55.46 -  Multiset.delm_nonempty_def split add: split_if)
   55.47 +  Multiset.delm_nonempty_def split add: if_split)
   55.48  apply (rule allI)
   55.49  apply (rule conjI)
   55.50  apply (rule impI)
   55.51 @@ -198,7 +198,7 @@
   55.52    txt \<open>Base case\<close>
   55.53    apply (simp add: inv2_def receiver_projections sender_projections impl_ioas)
   55.54  
   55.55 -  apply (simp (no_asm_simp) add: impl_ioas split del: split_if)
   55.56 +  apply (simp (no_asm_simp) add: impl_ioas split del: if_split)
   55.57    apply (induct_tac "a")
   55.58  
   55.59    txt \<open>10 cases. First 4 are simple, since state doesn't change\<close>
   55.60 @@ -257,7 +257,7 @@
   55.61    txt \<open>Base case\<close>
   55.62    apply (simp add: Impl.inv3_def receiver_projections sender_projections impl_ioas)
   55.63  
   55.64 -  apply (simp (no_asm_simp) add: impl_ioas split del: split_if)
   55.65 +  apply (simp (no_asm_simp) add: impl_ioas split del: if_split)
   55.66    apply (induct_tac "a")
   55.67  
   55.68    ML_prf \<open>val tac3 = asm_full_simp_tac (put_simpset ss @{context} addsimps [@{thm inv3_def}])\<close>
   55.69 @@ -322,7 +322,7 @@
   55.70    txt \<open>Base case\<close>
   55.71    apply (simp add: Impl.inv4_def receiver_projections sender_projections impl_ioas)
   55.72  
   55.73 -  apply (simp (no_asm_simp) add: impl_ioas split del: split_if)
   55.74 +  apply (simp (no_asm_simp) add: impl_ioas split del: if_split)
   55.75    apply (induct_tac "a")
   55.76  
   55.77    ML_prf \<open>val tac4 =  asm_full_simp_tac (put_simpset ss @{context} addsimps [@{thm inv4_def}])\<close>
    56.1 --- a/src/HOL/HOLCF/IOA/RefCorrectness.thy	Tue Feb 23 16:50:10 2016 +0100
    56.2 +++ b/src/HOL/HOLCF/IOA/RefCorrectness.thy	Tue Feb 23 18:04:31 2016 +0100
    56.3 @@ -182,14 +182,14 @@
    56.4    "is_ref_map f C A \<Longrightarrow> ext C = ext A \<Longrightarrow>
    56.5      \<forall>s. reachable C s \<and> is_exec_frag C (s, xs) \<longrightarrow>
    56.6        mk_trace C $ xs = mk_trace A $ (snd (corresp_ex A f (s, xs)))"
    56.7 -  supply split_if [split del]
    56.8 +  supply if_split [split del]
    56.9    apply (unfold corresp_ex_def)
   56.10    apply (pair_induct xs simp: is_exec_frag_def)
   56.11    text \<open>cons case\<close>
   56.12    apply (auto simp add: mk_traceConc)
   56.13    apply (frule reachable.reachable_n)
   56.14    apply assumption
   56.15 -  apply (auto simp add: move_subprop4 split add: split_if)
   56.16 +  apply (auto simp add: move_subprop4 split add: if_split)
   56.17    done
   56.18  
   56.19  
    57.1 --- a/src/HOL/HOLCF/IOA/RefMappings.thy	Tue Feb 23 16:50:10 2016 +0100
    57.2 +++ b/src/HOL/HOLCF/IOA/RefMappings.thy	Tue Feb 23 18:04:31 2016 +0100
    57.3 @@ -66,7 +66,7 @@
    57.4  lemma imp_conj_lemma: "(P \<Longrightarrow> Q \<longrightarrow> R) \<Longrightarrow> P \<and> Q \<longrightarrow> R"
    57.5    by blast
    57.6  
    57.7 -declare split_if [split del]
    57.8 +declare if_split [split del]
    57.9  declare if_weak_cong [cong del]
   57.10  
   57.11  lemma rename_through_pmap:
   57.12 @@ -81,7 +81,7 @@
   57.13    apply (simp (no_asm) add: rename_def rename_set_def)
   57.14    apply (simp add: externals_def asig_inputs_def asig_outputs_def asig_of_def trans_of_def)
   57.15    apply safe
   57.16 -  apply (simplesubst split_if)
   57.17 +  apply (simplesubst if_split)
   57.18     apply (rule conjI)
   57.19     apply (rule impI)
   57.20     apply (erule disjE)
   57.21 @@ -108,7 +108,7 @@
   57.22    apply auto
   57.23    done
   57.24  
   57.25 -declare split_if [split]
   57.26 +declare if_split [split]
   57.27  declare if_weak_cong [cong]
   57.28  
   57.29  end
    58.1 --- a/src/HOL/HOLCF/IOA/SimCorrectness.thy	Tue Feb 23 16:50:10 2016 +0100
    58.2 +++ b/src/HOL/HOLCF/IOA/SimCorrectness.thy	Tue Feb 23 18:04:31 2016 +0100
    58.3 @@ -162,7 +162,7 @@
    58.4    "is_simulation R C A \<Longrightarrow> ext C = ext A \<Longrightarrow>
    58.5      \<forall>s s'. reachable C s \<and> is_exec_frag C (s, ex) \<and> (s, s') \<in> R \<longrightarrow>
    58.6        mk_trace C $ ex = mk_trace A $ ((corresp_ex_simC A R $ ex) s')"
    58.7 -  supply split_if [split del]
    58.8 +  supply if_split [split del]
    58.9    apply (pair_induct ex simp: is_exec_frag_def)
   58.10    text \<open>cons case\<close>
   58.11    apply auto
   58.12 @@ -173,7 +173,7 @@
   58.13    apply (erule_tac x = "t" in allE)
   58.14    apply (erule_tac x = "SOME t'. \<exists>ex1. (t, t') \<in> R \<and> move A ex1 s' a t'" in allE)
   58.15    apply (simp add: move_subprop5_sim [unfolded Let_def]
   58.16 -    move_subprop4_sim [unfolded Let_def] split add: split_if)
   58.17 +    move_subprop4_sim [unfolded Let_def] split add: if_split)
   58.18    done
   58.19  
   58.20  text \<open>Lemma 2: \<open>corresp_ex_sim\<close> is execution\<close>
    59.1 --- a/src/HOL/HOLCF/IOA/TL.thy	Tue Feb 23 16:50:10 2016 +0100
    59.2 +++ b/src/HOL/HOLCF/IOA/TL.thy	Tue Feb 23 18:04:31 2016 +0100
    59.3 @@ -121,14 +121,14 @@
    59.4  lemmas tsuffix_TL2 = conjI [THEN tsuffix_TL]
    59.5  
    59.6  lemma LTL1: "s \<noteq> UU \<and> s \<noteq> nil \<longrightarrow> (s \<Turnstile> \<box>F \<^bold>\<longrightarrow> (F \<^bold>\<and> (Next (\<box>F))))"
    59.7 -  supply split_if [split del] 
    59.8 +  supply if_split [split del] 
    59.9    apply (unfold Next_def satisfies_def NOT_def IMPLIES_def AND_def Box_def)
   59.10    apply auto
   59.11    text \<open>\<open>\<box>F \<^bold>\<longrightarrow> F\<close>\<close>
   59.12    apply (erule_tac x = "s" in allE)
   59.13    apply (simp add: tsuffix_def suffix_refl)
   59.14    text \<open>\<open>\<box>F \<^bold>\<longrightarrow> Next \<box>F\<close>\<close>
   59.15 -  apply (simp split add: split_if)
   59.16 +  apply (simp split add: if_split)
   59.17    apply auto
   59.18    apply (drule tsuffix_TL2)
   59.19    apply assumption+
    60.1 --- a/src/HOL/HOLCF/IOA/TLS.thy	Tue Feb 23 16:50:10 2016 +0100
    60.2 +++ b/src/HOL/HOLCF/IOA/TLS.thy	Tue Feb 23 18:04:31 2016 +0100
    60.3 @@ -140,7 +140,7 @@
    60.4                \<^bold>\<longrightarrow> (Next (Init (\<lambda>(s, a, t). Q s))))"
    60.5    apply (unfold Init_def Next_def temp_sat_def satisfies_def IMPLIES_def AND_def)
    60.6    apply clarify
    60.7 -  apply (simp split add: split_if)
    60.8 +  apply (simp split add: if_split)
    60.9    text \<open>\<open>TL = UU\<close>\<close>
   60.10    apply (rule conjI)
   60.11    apply (pair ex)
    61.1 --- a/src/HOL/HOLCF/Universal.thy	Tue Feb 23 16:50:10 2016 +0100
    61.2 +++ b/src/HOL/HOLCF/Universal.thy	Tue Feb 23 18:04:31 2016 +0100
    61.3 @@ -377,7 +377,7 @@
    61.4   apply (rule inj_onI)
    61.5   apply (drule_tac x="A - {choose A}" in meta_spec, simp)
    61.6   apply (simp add: choose_pos.simps)
    61.7 - apply (simp split: split_if_asm)
    61.8 + apply (simp split: if_split_asm)
    61.9   apply (erule (1) inj_onD, simp, simp)
   61.10  done
   61.11  
    62.1 --- a/src/HOL/Hahn_Banach/Hahn_Banach_Lemmas.thy	Tue Feb 23 16:50:10 2016 +0100
    62.2 +++ b/src/HOL/Hahn_Banach/Hahn_Banach_Lemmas.thy	Tue Feb 23 18:04:31 2016 +0100
    62.3 @@ -1,4 +1,4 @@
    62.4  (*<*)
    62.5  theory Hahn_Banach_Lemmas imports Hahn_Banach_Sup_Lemmas Hahn_Banach_Ext_Lemmas begin
    62.6  end
    62.7 -(*>*)
    62.8 \ No newline at end of file
    62.9 +(*>*)
    63.1 --- a/src/HOL/Hoare/Examples.thy	Tue Feb 23 16:50:10 2016 +0100
    63.2 +++ b/src/HOL/Hoare/Examples.thy	Tue Feb 23 18:04:31 2016 +0100
    63.3 @@ -233,4 +233,4 @@
    63.4  apply (force simp: nth_list_update)
    63.5  done
    63.6  
    63.7 -end
    63.8 \ No newline at end of file
    63.9 +end
    64.1 --- a/src/HOL/Hoare_Parallel/OG_Com.thy	Tue Feb 23 16:50:10 2016 +0100
    64.2 +++ b/src/HOL/Hoare_Parallel/OG_Com.thy	Tue Feb 23 18:04:31 2016 +0100
    64.3 @@ -47,4 +47,4 @@
    64.4  | "atom_com (Cond b c1 c2) = (atom_com c1 \<and> atom_com c2)"
    64.5  | "atom_com (While b i c) = atom_com c"
    64.6  
    64.7 -end
    64.8 \ No newline at end of file
    64.9 +end
    65.1 --- a/src/HOL/Hoare_Parallel/OG_Hoare.thy	Tue Feb 23 16:50:10 2016 +0100
    65.2 +++ b/src/HOL/Hoare_Parallel/OG_Hoare.thy	Tue Feb 23 18:04:31 2016 +0100
    65.3 @@ -408,13 +408,13 @@
    65.4  apply(rule conjI)
    65.5   apply clarify
    65.6   apply(case_tac "i=j")
    65.7 -  apply(simp split del:split_if)
    65.8 +  apply(simp split del:if_split)
    65.9    apply(erule Strong_Soundness_aux_aux,simp+)
   65.10     apply force
   65.11    apply force
   65.12 - apply(simp split del: split_if)
   65.13 + apply(simp split del: if_split)
   65.14   apply(erule Parallel_Strong_Soundness_aux_aux)
   65.15 - apply(simp_all add: split del:split_if)
   65.16 + apply(simp_all add: split del:if_split)
   65.17   apply force
   65.18  apply(rule interfree_lemma)
   65.19  apply simp_all
    66.1 --- a/src/HOL/Hoare_Parallel/OG_Syntax.thy	Tue Feb 23 16:50:10 2016 +0100
    66.2 +++ b/src/HOL/Hoare_Parallel/OG_Syntax.thy	Tue Feb 23 18:04:31 2016 +0100
    66.3 @@ -125,4 +125,4 @@
    66.4    end;
    66.5  \<close>
    66.6  
    66.7 -end
    66.8 \ No newline at end of file
    66.9 +end
    67.1 --- a/src/HOL/Hoare_Parallel/OG_Tran.thy	Tue Feb 23 16:50:10 2016 +0100
    67.2 +++ b/src/HOL/Hoare_Parallel/OG_Tran.thy	Tue Feb 23 18:04:31 2016 +0100
    67.3 @@ -300,4 +300,4 @@
    67.4  definition ann_com_validity :: "'a ann_com \<Rightarrow> 'a assn \<Rightarrow> bool" ("\<Turnstile> _ _" [60,90] 45) where
    67.5    "\<Turnstile> c q \<equiv> ann_SEM c (pre c) \<subseteq> q"
    67.6  
    67.7 -end
    67.8 \ No newline at end of file
    67.9 +end
    68.1 --- a/src/HOL/Hoare_Parallel/Quote_Antiquote.thy	Tue Feb 23 16:50:10 2016 +0100
    68.2 +++ b/src/HOL/Hoare_Parallel/Quote_Antiquote.thy	Tue Feb 23 18:04:31 2016 +0100
    68.3 @@ -17,4 +17,4 @@
    68.4    in [(@{syntax_const "_quote"}, K quote_tr)] end
    68.5  \<close>
    68.6  
    68.7 -end
    68.8 \ No newline at end of file
    68.9 +end
    69.1 --- a/src/HOL/Hoare_Parallel/RG_Com.thy	Tue Feb 23 16:50:10 2016 +0100
    69.2 +++ b/src/HOL/Hoare_Parallel/RG_Com.thy	Tue Feb 23 18:04:31 2016 +0100
    69.3 @@ -19,4 +19,4 @@
    69.4  
    69.5  type_synonym 'a par_com = "'a com option list"
    69.6  
    69.7 -end
    69.8 \ No newline at end of file
    69.9 +end
    70.1 --- a/src/HOL/Hoare_Parallel/RG_Syntax.thy	Tue Feb 23 16:50:10 2016 +0100
    70.2 +++ b/src/HOL/Hoare_Parallel/RG_Syntax.thy	Tue Feb 23 18:04:31 2016 +0100
    70.3 @@ -79,4 +79,4 @@
    70.4    end
    70.5  \<close>
    70.6  
    70.7 -end
    70.8 \ No newline at end of file
    70.9 +end
    71.1 --- a/src/HOL/Hoare_Parallel/RG_Tran.thy	Tue Feb 23 16:50:10 2016 +0100
    71.2 +++ b/src/HOL/Hoare_Parallel/RG_Tran.thy	Tue Feb 23 18:04:31 2016 +0100
    71.3 @@ -320,7 +320,7 @@
    71.4    apply(drule_tac P=P1 in lift_is_cptn)
    71.5    apply(simp add:lift_def)
    71.6   apply simp
    71.7 -apply(simp split: split_if_asm)
    71.8 +apply(simp split: if_split_asm)
    71.9  apply(frule_tac P=P1 in last_lift)
   71.10   apply(rule last_fst_esp)
   71.11   apply (simp add:last_length)
   71.12 @@ -337,7 +337,7 @@
   71.13    apply(drule_tac P="While b P" in lift_is_cptn)
   71.14    apply(simp add:lift_def)
   71.15   apply simp
   71.16 -apply(simp split: split_if_asm)
   71.17 +apply(simp split: if_split_asm)
   71.18  apply(frule_tac P="While b P" in last_lift)
   71.19   apply(rule last_fst_esp,simp add:last_length)
   71.20  apply(simp add:Cons_lift lift_def split_def last_conv_nth)
    72.1 --- a/src/HOL/IMP/Compiler2.thy	Tue Feb 23 16:50:10 2016 +0100
    72.2 +++ b/src/HOL/IMP/Compiler2.thy	Tue Feb 23 18:04:31 2016 +0100
    72.3 @@ -465,7 +465,7 @@
    72.4           s' = s \<and> stk' = stk"
    72.5  using assms proof (induction b arbitrary: f j i n s' stk')
    72.6    case Bc thus ?case 
    72.7 -    by (simp split: split_if_asm add: exec_n_simps exec1_def)
    72.8 +    by (simp split: if_split_asm add: exec_n_simps exec1_def)
    72.9  next
   72.10    case (Not b) 
   72.11    from Not.prems show ?case
   72.12 @@ -490,7 +490,7 @@
   72.13      by (auto dest!: And.IH)
   72.14    with b2 j
   72.15    show ?case 
   72.16 -    by (fastforce dest!: And.IH simp: exec_n_end split: split_if_asm)
   72.17 +    by (fastforce dest!: And.IH simp: exec_n_end split: if_split_asm)
   72.18  next
   72.19    case Less
   72.20    thus ?case by (auto dest!: exec_n_split_full simp: exec_n_simps exec1_def) (* takes time *) 
   72.21 @@ -547,7 +547,7 @@
   72.22      show ?thesis
   72.23        by simp
   72.24           (fastforce dest: exec_n_drop_right 
   72.25 -                   split: split_if_asm
   72.26 +                   split: if_split_asm
   72.27                     simp: exec_n_simps exec1_def)
   72.28    next
   72.29      case False with cs'
    73.1 --- a/src/HOL/IMP/Finite_Reachable.thy	Tue Feb 23 16:50:10 2016 +0100
    73.2 +++ b/src/HOL/IMP/Finite_Reachable.thy	Tue Feb 23 18:04:31 2016 +0100
    73.3 @@ -158,4 +158,4 @@
    73.4  done
    73.5  
    73.6  
    73.7 -end
    73.8 \ No newline at end of file
    73.9 +end
    74.1 --- a/src/HOL/IOA/Solve.thy	Tue Feb 23 16:50:10 2016 +0100
    74.2 +++ b/src/HOL/IOA/Solve.thy	Tue Feb 23 18:04:31 2016 +0100
    74.3 @@ -106,7 +106,7 @@
    74.4      split add: option.split)
    74.5    done
    74.6  
    74.7 -declare split_if [split del] if_weak_cong [cong del]
    74.8 +declare if_split [split del] if_weak_cong [cong del]
    74.9  
   74.10  (*Composition of possibility-mappings *)
   74.11  lemma fxg_is_weak_pmap_of_product_IOA: 
   74.12 @@ -126,7 +126,7 @@
   74.13    apply (simp (no_asm) add: externals_of_par_extra)
   74.14    apply (simp (no_asm) add: par_def)
   74.15    apply (simp add: trans_of_def)
   74.16 -  apply (simplesubst split_if)
   74.17 +  apply (simplesubst if_split)
   74.18    apply (rule conjI)
   74.19    apply (rule impI)
   74.20    apply (erule disjE)
   74.21 @@ -143,7 +143,7 @@
   74.22  (* delete auxiliary subgoal *)
   74.23    prefer 2
   74.24    apply force
   74.25 -  apply (simp (no_asm) add: conj_disj_distribR cong add: conj_cong split add: split_if)
   74.26 +  apply (simp (no_asm) add: conj_disj_distribR cong add: conj_cong split add: if_split)
   74.27    apply (tactic {*
   74.28      REPEAT((resolve_tac @{context} [conjI, impI] 1 ORELSE eresolve_tac @{context} [conjE] 1) THEN
   74.29        asm_full_simp_tac(@{context} addsimps [@{thm comp1_reachable}, @{thm comp2_reachable}]) 1) *})
   74.30 @@ -172,7 +172,7 @@
   74.31    apply (simp (no_asm) add: rename_def)
   74.32    apply (simp add: externals_def asig_inputs_def asig_outputs_def asig_of_def trans_of_def)
   74.33    apply safe
   74.34 -  apply (simplesubst split_if)
   74.35 +  apply (simplesubst if_split)
   74.36    apply (rule conjI)
   74.37    apply (rule impI)
   74.38    apply (erule disjE)
   74.39 @@ -204,6 +204,6 @@
   74.40    apply auto
   74.41    done
   74.42  
   74.43 -declare split_if [split] if_weak_cong [cong]
   74.44 +declare if_split [split] if_weak_cong [cong]
   74.45  
   74.46  end
    75.1 --- a/src/HOL/Imperative_HOL/Overview.thy	Tue Feb 23 16:50:10 2016 +0100
    75.2 +++ b/src/HOL/Imperative_HOL/Overview.thy	Tue Feb 23 18:04:31 2016 +0100
    75.3 @@ -240,4 +240,4 @@
    75.4    \end{itemize}
    75.5  *}
    75.6  
    75.7 -end
    75.8 \ No newline at end of file
    75.9 +end
    76.1 --- a/src/HOL/Imperative_HOL/ex/Sorted_List.thy	Tue Feb 23 16:50:10 2016 +0100
    76.2 +++ b/src/HOL/Imperative_HOL/ex/Sorted_List.thy	Tue Feb 23 18:04:31 2016 +0100
    76.3 @@ -95,4 +95,4 @@
    76.4  lemma "sorted xs \<Longrightarrow> smember xs x \<longleftrightarrow> (x \<in> set xs)" 
    76.5    by (induct xs) (auto simp add: sorted_Cons)
    76.6  
    76.7 -end
    76.8 \ No newline at end of file
    76.9 +end
    77.1 --- a/src/HOL/Imperative_HOL/ex/Subarray.thy	Tue Feb 23 16:50:10 2016 +0100
    77.2 +++ b/src/HOL/Imperative_HOL/ex/Subarray.thy	Tue Feb 23 18:04:31 2016 +0100
    77.3 @@ -68,4 +68,4 @@
    77.4  lemma ball_in_set_subarray_conv: "(\<forall>j \<in> set (subarray l r a h). P j) = (\<forall>k. l \<le> k \<and> k < r \<and> k < Array.length h a \<longrightarrow> P (Array.get h a ! k))"
    77.5  unfolding subarray_def Array.length_def by (rule ball_in_set_sublist'_conv)
    77.6  
    77.7 -end
    77.8 \ No newline at end of file
    77.9 +end
    78.1 --- a/src/HOL/Induct/Common_Patterns.thy	Tue Feb 23 16:50:10 2016 +0100
    78.2 +++ b/src/HOL/Induct/Common_Patterns.thy	Tue Feb 23 18:04:31 2016 +0100
    78.3 @@ -402,4 +402,4 @@
    78.4    with step.r show ?case by (rule star.step)
    78.5  qed
    78.6  
    78.7 -end
    78.8 \ No newline at end of file
    78.9 +end
    79.1 --- a/src/HOL/Int.thy	Tue Feb 23 16:50:10 2016 +0100
    79.2 +++ b/src/HOL/Int.thy	Tue Feb 23 18:04:31 2016 +0100
    79.3 @@ -1190,7 +1190,7 @@
    79.4  apply (case_tac "k = f (Suc n)")
    79.5  apply force
    79.6  apply (erule impE)
    79.7 - apply (simp add: abs_if split add: split_if_asm)
    79.8 + apply (simp add: abs_if split add: if_split_asm)
    79.9  apply (blast intro: le_SucI)
   79.10  done
   79.11  
    80.1 --- a/src/HOL/Isar_Examples/Group.thy	Tue Feb 23 16:50:10 2016 +0100
    80.2 +++ b/src/HOL/Isar_Examples/Group.thy	Tue Feb 23 18:04:31 2016 +0100
    80.3 @@ -254,4 +254,4 @@
    80.4    finally show ?thesis .
    80.5  qed
    80.6  
    80.7 -end
    80.8 \ No newline at end of file
    80.9 +end
    81.1 --- a/src/HOL/Library/AList.thy	Tue Feb 23 16:50:10 2016 +0100
    81.2 +++ b/src/HOL/Library/AList.thy	Tue Feb 23 18:04:31 2016 +0100
    81.3 @@ -58,11 +58,11 @@
    81.4  proof (induct al arbitrary: al')
    81.5    case Nil
    81.6    then show ?case
    81.7 -    by (cases al') (auto split: split_if_asm)
    81.8 +    by (cases al') (auto split: if_split_asm)
    81.9  next
   81.10    case Cons
   81.11    then show ?case
   81.12 -    by (cases al') (auto split: split_if_asm)
   81.13 +    by (cases al') (auto split: if_split_asm)
   81.14  qed
   81.15  
   81.16  lemma update_last [simp]: "update k v (update k v' al) = update k v al"
   81.17 @@ -293,7 +293,7 @@
   81.18  by(simp add: map_of_delete_aux')
   81.19  
   81.20  lemma delete_aux_eq_Nil_conv: "delete_aux k ts = [] \<longleftrightarrow> ts = [] \<or> (\<exists>v. ts = [(k, v)])"
   81.21 -by(cases ts)(auto split: split_if_asm)
   81.22 +by(cases ts)(auto split: if_split_asm)
   81.23  
   81.24  
   81.25  subsection \<open>\<open>restrict\<close>\<close>
   81.26 @@ -574,7 +574,7 @@
   81.27  lemma compose_first_None [simp]:
   81.28    assumes "map_of xs k = None"
   81.29    shows "map_of (compose xs ys) k = None"
   81.30 -  using assms by (induct xs ys rule: compose.induct) (auto split: option.splits split_if_asm)
   81.31 +  using assms by (induct xs ys rule: compose.induct) (auto split: option.splits if_split_asm)
   81.32  
   81.33  lemma compose_conv: "map_of (compose xs ys) k = (map_of ys \<circ>\<^sub>m map_of xs) k"
   81.34  proof (induct xs ys rule: compose.induct)
    82.1 --- a/src/HOL/Library/Bourbaki_Witt_Fixpoint.thy	Tue Feb 23 16:50:10 2016 +0100
    82.2 +++ b/src/HOL/Library/Bourbaki_Witt_Fixpoint.thy	Tue Feb 23 18:04:31 2016 +0100
    82.3 @@ -253,4 +253,4 @@
    82.4  
    82.5  end
    82.6  
    82.7 -end
    82.8 \ No newline at end of file
    82.9 +end
    83.1 --- a/src/HOL/Library/Cardinality.thy	Tue Feb 23 16:50:10 2016 +0100
    83.2 +++ b/src/HOL/Library/Cardinality.thy	Tue Feb 23 18:04:31 2016 +0100
    83.3 @@ -495,7 +495,7 @@
    83.4          with that show ?thesis
    83.5            by (auto simp add: rhs_def Let_def List.card_set[symmetric]
    83.6              card_UNIV card_gt_0_iff card_Un_Int[where A="set xs" and B="set ys"]
    83.7 -            dest: card_eq_UNIV_imp_eq_UNIV split: split_if_asm)
    83.8 +            dest: card_eq_UNIV_imp_eq_UNIV split: if_split_asm)
    83.9        qed
   83.10      qed
   83.11    }
    84.1 --- a/src/HOL/Library/Countable_Complete_Lattices.thy	Tue Feb 23 16:50:10 2016 +0100
    84.2 +++ b/src/HOL/Library/Countable_Complete_Lattices.thy	Tue Feb 23 18:04:31 2016 +0100
    84.3 @@ -274,4 +274,4 @@
    84.4  subclass (in complete_distrib_lattice) countable_complete_distrib_lattice
    84.5    by standard (auto intro: sup_Inf inf_Sup)
    84.6  
    84.7 -end
    84.8 \ No newline at end of file
    84.9 +end
    85.1 --- a/src/HOL/Library/Countable_Set.thy	Tue Feb 23 16:50:10 2016 +0100
    85.2 +++ b/src/HOL/Library/Countable_Set.thy	Tue Feb 23 18:04:31 2016 +0100
    85.3 @@ -94,7 +94,7 @@
    85.4    unfolding from_nat_into_def[abs_def]
    85.5    using to_nat_on_finite[of S]
    85.6    apply (subst bij_betw_cong)
    85.7 -  apply (split split_if)
    85.8 +  apply (split if_split)
    85.9    apply (simp add: bij_betw_def)
   85.10    apply (auto cong: bij_betw_cong
   85.11                intro: bij_betw_inv_into to_nat_on_finite)
   85.12 @@ -303,7 +303,7 @@
   85.13     assumes "countable X" obtains F where "\<And>i. F i \<subseteq> X" "\<And>i. F i \<subseteq> F (Suc i)" "\<And>i. finite (F i)" "(\<Union>i. F i) = X"
   85.14  proof -  show thesis
   85.15      apply (rule that[of "\<lambda>i. if X = {} then {} else from_nat_into X ` {..i}"])
   85.16 -    apply (auto simp: image_iff Ball_def intro: from_nat_into split: split_if_asm)
   85.17 +    apply (auto simp: image_iff Ball_def intro: from_nat_into split: if_split_asm)
   85.18    proof -
   85.19      fix x n assume "x \<in> X" "\<forall>i m. m \<le> i \<longrightarrow> x \<noteq> from_nat_into X m"
   85.20      with from_nat_into_surj[OF \<open>countable X\<close> \<open>x \<in> X\<close>]
    86.1 --- a/src/HOL/Library/Countable_Set_Type.thy	Tue Feb 23 16:50:10 2016 +0100
    86.2 +++ b/src/HOL/Library/Countable_Set_Type.thy	Tue Feb 23 18:04:31 2016 +0100
    86.3 @@ -219,8 +219,8 @@
    86.4  lemmas cimage_csubset_iff[no_atp] = image_subset_iff[Transfer.transferred]
    86.5  lemmas cimage_csubsetI = image_subsetI[Transfer.transferred]
    86.6  lemmas cimage_ident[simp] = image_ident[Transfer.transferred]
    86.7 -lemmas split_if_cin1 = split_if_mem1[Transfer.transferred]
    86.8 -lemmas split_if_cin2 = split_if_mem2[Transfer.transferred]
    86.9 +lemmas if_split_cin1 = if_split_mem1[Transfer.transferred]
   86.10 +lemmas if_split_cin2 = if_split_mem2[Transfer.transferred]
   86.11  lemmas cpsubsetI[intro!,no_atp] = psubsetI[Transfer.transferred]
   86.12  lemmas cpsubsetE[elim!,no_atp] = psubsetE[Transfer.transferred]
   86.13  lemmas cpsubset_finsert_iff = psubset_insert_iff[Transfer.transferred]
    87.1 --- a/src/HOL/Library/Discrete.thy	Tue Feb 23 16:50:10 2016 +0100
    87.2 +++ b/src/HOL/Library/Discrete.thy	Tue Feb 23 18:04:31 2016 +0100
    87.3 @@ -219,4 +219,4 @@
    87.4  
    87.5  end
    87.6  
    87.7 -end
    87.8 \ No newline at end of file
    87.9 +end
    88.1 --- a/src/HOL/Library/Disjoint_Sets.thy	Tue Feb 23 16:50:10 2016 +0100
    88.2 +++ b/src/HOL/Library/Disjoint_Sets.thy	Tue Feb 23 18:04:31 2016 +0100
    88.3 @@ -153,4 +153,4 @@
    88.4  lemma disjointed_mono: "mono A \<Longrightarrow> disjointed A (Suc n) = A (Suc n) - A n"
    88.5    using mono_Un[of A] by (simp add: disjointed_def atLeastLessThanSuc_atLeastAtMost atLeast0AtMost)
    88.6  
    88.7 -end
    88.8 \ No newline at end of file
    88.9 +end
    89.1 --- a/src/HOL/Library/Dlist.thy	Tue Feb 23 16:50:10 2016 +0100
    89.2 +++ b/src/HOL/Library/Dlist.thy	Tue Feb 23 18:04:31 2016 +0100
    89.3 @@ -241,7 +241,7 @@
    89.4  proof(induction xs ys rule: wpull.induct)
    89.5    case 1 thus ?case by(simp add: Nil)
    89.6  next
    89.7 -  case 2 thus ?case by(simp split: split_if_asm)
    89.8 +  case 2 thus ?case by(simp split: if_split_asm)
    89.9  next
   89.10    case Cons: (3 a b xs b' c ys)
   89.11    let ?xs = "(a, b) # xs" and ?ys = "(b', c) # ys"
   89.12 @@ -254,7 +254,7 @@
   89.13      from xs eq have "b \<in> fst ` set ?ys" by (metis list.set_map set_remdups)
   89.14      hence "map_of (rev ?ys) b \<noteq> None" unfolding map_of_eq_None_iff by auto
   89.15      then obtain c' where "map_of (rev ?ys) b = Some c'" by blast
   89.16 -    then have "(b, the (map_of (rev ?ys) b)) \<in> set ?ys" by(auto dest: map_of_SomeD split: split_if_asm)
   89.17 +    then have "(b, the (map_of (rev ?ys) b)) \<in> set ?ys" by(auto dest: map_of_SomeD split: if_split_asm)
   89.18      from xs eq this Cons.IH(1)[OF xs eq] show ?thesis by(rule left)
   89.19    next
   89.20      case ys
   89.21 @@ -264,7 +264,7 @@
   89.22        unfolding map_of_eq_None_iff by(auto simp add: image_image)
   89.23      then obtain a' where "map_of (map prod.swap (rev ?xs)) b' = Some a'" by blast
   89.24      then have "(the (map_of (map prod.swap (rev ?xs)) b'), b') \<in> set ?xs"
   89.25 -      by(auto dest: map_of_SomeD split: split_if_asm)
   89.26 +      by(auto dest: map_of_SomeD split: if_split_asm)
   89.27      from ys eq this Cons.IH(2)[OF ys eq] show ?thesis by(rule right)
   89.28    next
   89.29      case *: step
   89.30 @@ -334,4 +334,4 @@
   89.31  
   89.32  end
   89.33  
   89.34 -end
   89.35 \ No newline at end of file
   89.36 +end
    90.1 --- a/src/HOL/Library/Extended_Real.thy	Tue Feb 23 16:50:10 2016 +0100
    90.2 +++ b/src/HOL/Library/Extended_Real.thy	Tue Feb 23 18:04:31 2016 +0100
    90.3 @@ -1592,7 +1592,7 @@
    90.4    shows "b < c"
    90.5    using assms
    90.6    by (cases rule: ereal3_cases[of a b c])
    90.7 -     (auto split: split_if_asm simp: zero_less_mult_iff zero_le_mult_iff)
    90.8 +     (auto split: if_split_asm simp: zero_less_mult_iff zero_le_mult_iff)
    90.9  
   90.10  lemma ereal_mult_divide: fixes a b :: ereal shows "0 < b \<Longrightarrow> b < \<infinity> \<Longrightarrow> b * (a / b) = a"
   90.11    by (cases a b rule: ereal2_cases) auto
   90.12 @@ -1646,7 +1646,7 @@
   90.13    shows "z / x \<le> z / y"
   90.14    using assms
   90.15    by (cases x y z rule: ereal3_cases)
   90.16 -     (auto intro: divide_left_mono simp: field_simps zero_less_mult_iff mult_less_0_iff split: split_if_asm)
   90.17 +     (auto intro: divide_left_mono simp: field_simps zero_less_mult_iff mult_less_0_iff split: if_split_asm)
   90.18  
   90.19  lemma ereal_divide_zero_left[simp]:
   90.20    fixes a :: ereal
   90.21 @@ -2852,7 +2852,7 @@
   90.22        by (auto simp: dist_real_def abs_diff_less_iff field_simps)
   90.23      from dist[OF this] show "u N \<in> S"
   90.24        using \<open>u N  \<notin> {\<infinity>, -\<infinity>}\<close>
   90.25 -      by (auto simp: ereal_real split: split_if_asm)
   90.26 +      by (auto simp: ereal_real split: if_split_asm)
   90.27    qed
   90.28  qed
   90.29  
    91.1 --- a/src/HOL/Library/FSet.thy	Tue Feb 23 16:50:10 2016 +0100
    91.2 +++ b/src/HOL/Library/FSet.thy	Tue Feb 23 18:04:31 2016 +0100
    91.3 @@ -300,8 +300,8 @@
    91.4  lemmas fimage_fsubset_iff[no_atp] = image_subset_iff[Transfer.transferred]
    91.5  lemmas fimage_fsubsetI = image_subsetI[Transfer.transferred]
    91.6  lemmas fimage_ident[simp] = image_ident[Transfer.transferred]
    91.7 -lemmas split_if_fmem1 = split_if_mem1[Transfer.transferred]
    91.8 -lemmas split_if_fmem2 = split_if_mem2[Transfer.transferred]
    91.9 +lemmas if_split_fmem1 = if_split_mem1[Transfer.transferred]
   91.10 +lemmas if_split_fmem2 = if_split_mem2[Transfer.transferred]
   91.11  lemmas pfsubsetI[intro!,no_atp] = psubsetI[Transfer.transferred]
   91.12  lemmas pfsubsetE[elim!,no_atp] = psubsetE[Transfer.transferred]
   91.13  lemmas pfsubset_finsert_iff = psubset_insert_iff[Transfer.transferred]
    92.1 --- a/src/HOL/Library/FinFun.thy	Tue Feb 23 16:50:10 2016 +0100
    92.2 +++ b/src/HOL/Library/FinFun.thy	Tue Feb 23 18:04:31 2016 +0100
    92.3 @@ -578,7 +578,7 @@
    92.4    have gg: "g = ?g" unfolding g
    92.5    proof(rule the_equality)
    92.6      from f y bfin show "?the f ?g"
    92.7 -      by(auto)(simp add: restrict_map_def ran_def split: split_if_asm)
    92.8 +      by(auto)(simp add: restrict_map_def ran_def split: if_split_asm)
    92.9    next
   92.10      fix g'
   92.11      assume "?the f g'"
   92.12 @@ -1308,7 +1308,7 @@
   92.13    case (update f a b)
   92.14    have "{x. finfun_dom f(a $:= b) $ x} =
   92.15      (if b = finfun_default f then {x. finfun_dom f $ x} - {a} else insert a {x. finfun_dom f $ x})"
   92.16 -    by (auto simp add: finfun_upd_apply split: split_if_asm)
   92.17 +    by (auto simp add: finfun_upd_apply split: if_split_asm)
   92.18    thus ?case using update by simp
   92.19  qed
   92.20  
   92.21 @@ -1372,7 +1372,7 @@
   92.22          have "set (insort_insert a xs) = insert a (set xs)" by(simp add: set_insort_insert)
   92.23          also note eq also
   92.24          have "insert a {x. finfun_dom f(a $:= b) $ x} = {x. finfun_dom f $ x}" using True
   92.25 -          by(auto simp add: finfun_upd_apply split: split_if_asm)
   92.26 +          by(auto simp add: finfun_upd_apply split: if_split_asm)
   92.27          finally show 1: "set (insort_insert a xs) = {x. finfun_dom f $ x} \<and> sorted (insort_insert a xs) \<and> distinct (insort_insert a xs)"
   92.28            by(simp add: sorted_insort_insert distinct_insort_insert)
   92.29  
   92.30 @@ -1415,7 +1415,7 @@
   92.31          have "set (remove1 a xs) = set xs - {a}" by simp
   92.32          also note eq also
   92.33          have "{x. finfun_dom f(a $:= b) $ x} - {a} = {x. finfun_dom f $ x}" using False
   92.34 -          by(auto simp add: finfun_upd_apply split: split_if_asm)
   92.35 +          by(auto simp add: finfun_upd_apply split: if_split_asm)
   92.36          finally show 1: "set (remove1 a xs) = {x. finfun_dom f $ x} \<and> sorted (remove1 a xs) \<and> distinct (remove1 a xs)"
   92.37            by(simp add: sorted_remove1)
   92.38          
   92.39 @@ -1427,7 +1427,7 @@
   92.40          by (simp add: insort_insert_insort insort_remove1)
   92.41      qed
   92.42    qed
   92.43 -qed (auto simp add: distinct_finfun_to_list sorted_finfun_to_list sorted_remove1 set_insort_insert sorted_insort_insert distinct_insort_insert finfun_upd_apply split: split_if_asm)
   92.44 +qed (auto simp add: distinct_finfun_to_list sorted_finfun_to_list sorted_remove1 set_insort_insert sorted_insort_insert distinct_insort_insert finfun_upd_apply split: if_split_asm)
   92.45  
   92.46  lemma finfun_to_list_update_code [code]:
   92.47    "finfun_to_list (finfun_update_code f a b) = 
   92.48 @@ -1489,7 +1489,7 @@
   92.49      hence "finite (range ?f)" 
   92.50        by(rule finite_subset[rotated 1])(auto simp add: F_def finfun_def \<open>b1 \<noteq> b2\<close> intro!: exI[where x=b2])
   92.51      thus "finite (UNIV :: 'a set)"
   92.52 -      by(rule finite_imageD)(auto intro: inj_onI simp add: fun_eq_iff \<open>b1 \<noteq> b2\<close> split: split_if_asm)
   92.53 +      by(rule finite_imageD)(auto intro: inj_onI simp add: fun_eq_iff \<open>b1 \<noteq> b2\<close> split: if_split_asm)
   92.54      
   92.55      from finite have "finite (range (\<lambda>b. ((K$ b) :: 'a \<Rightarrow>f 'b)))"
   92.56        by(rule finite_subset[rotated 1]) simp
    93.1 --- a/src/HOL/Library/FinFun_Syntax.thy	Tue Feb 23 16:50:10 2016 +0100
    93.2 +++ b/src/HOL/Library/FinFun_Syntax.thy	Tue Feb 23 18:04:31 2016 +0100
    93.3 @@ -21,4 +21,4 @@
    93.4    finfun_comp (infixr "o$" 55) and
    93.5    finfun_comp2 (infixr "$o" 55)
    93.6  
    93.7 -end
    93.8 \ No newline at end of file
    93.9 +end
    94.1 --- a/src/HOL/Library/Float.thy	Tue Feb 23 16:50:10 2016 +0100
    94.2 +++ b/src/HOL/Library/Float.thy	Tue Feb 23 18:04:31 2016 +0100
    94.3 @@ -1612,7 +1612,7 @@
    94.4      then have floor_eq: "\<lfloor>b * 2 powr (real_of_int p + 1)\<rfloor> = -1"
    94.5        using b_le_1
    94.6        by (auto simp: floor_eq_iff algebra_simps pos_divide_le_eq[symmetric] abs_if divide_powr_uminus
    94.7 -        intro!: mult_neg_pos split: split_if_asm)
    94.8 +        intro!: mult_neg_pos split: if_split_asm)
    94.9      have "\<lfloor>(a + b) * 2 powr q\<rfloor> = \<lfloor>(2*a + 2*b) * 2 powr p * 2 powr (q - p - 1)\<rfloor>"
   94.10        by (simp add: algebra_simps powr_realpow[symmetric] powr_add[symmetric] powr_mult_base)
   94.11      also have "\<dots> = \<lfloor>(2 * (a * 2 powr p) + 2 * b * 2 powr p) * 2 powr (q - p - 1)\<rfloor>"
   94.12 @@ -1667,10 +1667,10 @@
   94.13    have pos: "\<bar>b\<bar> < 1 \<Longrightarrow> 0 < 2 powr k + (r + b)" for b :: real
   94.14      using \<open>0 \<le> k\<close> \<open>ai \<noteq> 0\<close>
   94.15      by (auto simp add: r_def powr_realpow[symmetric] abs_if sgn_if algebra_simps
   94.16 -      split: split_if_asm)
   94.17 +      split: if_split_asm)
   94.18    have less: "\<bar>sgn ai * b\<bar> < 1"
   94.19      and less': "\<bar>sgn (sgn ai * b) / 2\<bar> < 1"
   94.20 -    using \<open>\<bar>b\<bar> \<le> _\<close> by (auto simp: abs_if sgn_if split: split_if_asm)
   94.21 +    using \<open>\<bar>b\<bar> \<le> _\<close> by (auto simp: abs_if sgn_if split: if_split_asm)
   94.22  
   94.23    have floor_eq: "\<And>b::real. \<bar>b\<bar> \<le> 1 / 2 \<Longrightarrow>
   94.24        \<lfloor>log 2 (1 + (r + b) / 2 powr k)\<rfloor> = (if r = 0 \<and> b < 0 then -1 else 0)"
   94.25 @@ -1751,7 +1751,7 @@
   94.26    finally have b_less_half_a: "\<bar>?b\<bar> < 1/2 * \<bar>?a\<bar>"
   94.27      by (simp add: algebra_simps powr_mult_base abs_mult)
   94.28    then have a_half_less_sum: "\<bar>?a\<bar> / 2 < \<bar>?sum\<bar>"
   94.29 -    by (auto simp: field_simps abs_if split: split_if_asm)
   94.30 +    by (auto simp: field_simps abs_if split: if_split_asm)
   94.31  
   94.32    from b_less_half_a have "\<bar>?b\<bar> < \<bar>?a\<bar>" "\<bar>?b\<bar> \<le> \<bar>?a\<bar>"
   94.33      by simp_all
    95.1 --- a/src/HOL/Library/Formal_Power_Series.thy	Tue Feb 23 16:50:10 2016 +0100
    95.2 +++ b/src/HOL/Library/Formal_Power_Series.thy	Tue Feb 23 18:04:31 2016 +0100
    95.3 @@ -472,7 +472,7 @@
    95.4  proof
    95.5    assume "(X :: 'a fps) ^ m = X ^ n"
    95.6    hence "(X :: 'a fps) ^ m $ m = X ^ n $ m" by (simp only:)
    95.7 -  thus "m = n" by (simp split: split_if_asm)
    95.8 +  thus "m = n" by (simp split: if_split_asm)
    95.9  qed simp_all
   95.10  
   95.11  
   95.12 @@ -767,7 +767,7 @@
   95.13    proof (cases "f = 0")
   95.14      assume "f \<noteq> 0"
   95.15      with A have "n \<le> subdegree f"
   95.16 -      by (intro subdegree_geI) (auto simp: fps_eq_iff split: split_if_asm)
   95.17 +      by (intro subdegree_geI) (auto simp: fps_eq_iff split: if_split_asm)
   95.18      thus ?thesis ..
   95.19    qed simp
   95.20  qed (auto simp: fps_eq_iff intro: nth_less_subdegree_zero)
   95.21 @@ -824,7 +824,7 @@
   95.22  instance
   95.23  proof
   95.24    show th: "dist a b = 0 \<longleftrightarrow> a = b" for a b :: "'a fps"
   95.25 -    by (simp add: dist_fps_def split: split_if_asm)
   95.26 +    by (simp add: dist_fps_def split: if_split_asm)
   95.27    then have th'[simp]: "dist a a = 0" for a :: "'a fps" by simp
   95.28  
   95.29    fix a b c :: "'a fps"
   95.30 @@ -4376,7 +4376,7 @@
   95.31    assume "f $ j \<noteq> g $ j"
   95.32    hence "f \<noteq> g" by auto
   95.33    with assms have "i < subdegree (f - g)"
   95.34 -    by (simp add: split_if_asm dist_fps_def)
   95.35 +    by (simp add: if_split_asm dist_fps_def)
   95.36    also have "\<dots> \<le> j"
   95.37      using \<open>f $ j \<noteq> g $ j\<close> by (intro subdegree_leI) simp_all
   95.38    finally show False using \<open>j \<le> i\<close> by simp
   95.39 @@ -4391,7 +4391,7 @@
   95.40  next
   95.41    case False
   95.42    with assms have "dist f g = inverse (2 ^ subdegree (f - g))"
   95.43 -    by (simp add: split_if_asm dist_fps_def)
   95.44 +    by (simp add: if_split_asm dist_fps_def)
   95.45    moreover
   95.46    from assms and False have "i < subdegree (f - g)"
   95.47      by (intro subdegree_greaterI) simp_all
    96.1 --- a/src/HOL/Library/FuncSet.thy	Tue Feb 23 16:50:10 2016 +0100
    96.2 +++ b/src/HOL/Library/FuncSet.thy	Tue Feb 23 18:04:31 2016 +0100
    96.3 @@ -151,7 +151,7 @@
    96.4  lemma Pi_fupd_iff: "i \<in> I \<Longrightarrow> f \<in> Pi I (B(i := A)) \<longleftrightarrow> f \<in> Pi (I - {i}) B \<and> f i \<in> A"
    96.5    apply auto
    96.6    apply (drule_tac x=x in Pi_mem)
    96.7 -  apply (simp_all split: split_if_asm)
    96.8 +  apply (simp_all split: if_split_asm)
    96.9    apply (drule_tac x=i in Pi_mem)
   96.10    apply (auto dest!: Pi_mem)
   96.11    done
   96.12 @@ -527,7 +527,7 @@
   96.13    apply (auto intro: PiE_mem del: PiE_I PiE_E)
   96.14    apply (rule_tac x="xa(x := undefined)" in exI)
   96.15    apply (auto intro!: extensional_funcset_fun_upd_restricts_rangeI)
   96.16 -  apply (auto dest!: PiE_mem split: split_if_asm)
   96.17 +  apply (auto dest!: PiE_mem split: if_split_asm)
   96.18    done
   96.19  
   96.20  lemma extensional_funcset_extend_domain_inj_onI:
   96.21 @@ -555,7 +555,7 @@
   96.22      unfolding fun_eq_iff by auto
   96.23    from this[of x] show "y = z" by simp
   96.24    fix i from *[of i] \<open>x \<notin> S\<close> fg show "f i = g i"
   96.25 -    by (auto split: split_if_asm simp: PiE_def extensional_def)
   96.26 +    by (auto split: if_split_asm simp: PiE_def extensional_def)
   96.27  qed
   96.28  
   96.29  lemma card_PiE: "finite S \<Longrightarrow> card (\<Pi>\<^sub>E i \<in> S. T i) = (\<Prod> i\<in>S. card (T i))"
    97.1 --- a/src/HOL/Library/Indicator_Function.thy	Tue Feb 23 16:50:10 2016 +0100
    97.2 +++ b/src/HOL/Library/Indicator_Function.thy	Tue Feb 23 18:04:31 2016 +0100
    97.3 @@ -68,7 +68,7 @@
    97.4    shows setsum_mult_indicator[simp]: "(\<Sum>x \<in> A. f x * indicator B x) = (\<Sum>x \<in> A \<inter> B. f x)"
    97.5    and setsum_indicator_mult[simp]: "(\<Sum>x \<in> A. indicator B x * f x) = (\<Sum>x \<in> A \<inter> B. f x)"
    97.6    unfolding indicator_def
    97.7 -  using assms by (auto intro!: setsum.mono_neutral_cong_right split: split_if_asm)
    97.8 +  using assms by (auto intro!: setsum.mono_neutral_cong_right split: if_split_asm)
    97.9  
   97.10  lemma setsum_indicator_eq_card:
   97.11    assumes "finite A"
   97.12 @@ -79,7 +79,7 @@
   97.13  lemma setsum_indicator_scaleR[simp]:
   97.14    "finite A \<Longrightarrow>
   97.15      (\<Sum>x \<in> A. indicator (B x) (g x) *\<^sub>R f x) = (\<Sum>x \<in> {x\<in>A. g x \<in> B x}. f x::'a::real_vector)"
   97.16 -  using assms by (auto intro!: setsum.mono_neutral_cong_right split: split_if_asm simp: indicator_def)
   97.17 +  using assms by (auto intro!: setsum.mono_neutral_cong_right split: if_split_asm simp: indicator_def)
   97.18  
   97.19  lemma LIMSEQ_indicator_incseq:
   97.20    assumes "incseq A"
    98.1 --- a/src/HOL/Library/Lattice_Constructions.thy	Tue Feb 23 16:50:10 2016 +0100
    98.2 +++ b/src/HOL/Library/Lattice_Constructions.thy	Tue Feb 23 18:04:31 2016 +0100
    98.3 @@ -485,4 +485,4 @@
    98.4  
    98.5  end
    98.6  
    98.7 -end
    98.8 \ No newline at end of file
    98.9 +end
    99.1 --- a/src/HOL/Library/Linear_Temporal_Logic_on_Streams.thy	Tue Feb 23 16:50:10 2016 +0100
    99.2 +++ b/src/HOL/Library/Linear_Temporal_Logic_on_Streams.thy	Tue Feb 23 18:04:31 2016 +0100
    99.3 @@ -767,4 +767,4 @@
    99.4  lemma hld_smap': "HLD x (smap f s) = HLD (f -` x) s"
    99.5    by (simp add: HLD_def)
    99.6  
    99.7 -end
    99.8 \ No newline at end of file
    99.9 +end
   100.1 --- a/src/HOL/Library/Multiset.thy	Tue Feb 23 16:50:10 2016 +0100
   100.2 +++ b/src/HOL/Library/Multiset.thy	Tue Feb 23 18:04:31 2016 +0100
   100.3 @@ -357,13 +357,13 @@
   100.4  apply (clarsimp simp: subset_mset_def subseteq_mset_def)
   100.5  apply safe
   100.6   apply (erule_tac x = a in allE)
   100.7 - apply (auto split: split_if_asm)
   100.8 + apply (auto split: if_split_asm)
   100.9  done
  100.10  
  100.11  lemma mset_le_insertD: "(A + {#x#} \<le># B) \<Longrightarrow> (x \<in># B \<and> A \<le># B)"
  100.12  apply (rule conjI)
  100.13   apply (simp add: mset_leD)
  100.14 -apply (force simp: subset_mset_def subseteq_mset_def split: split_if_asm)
  100.15 +apply (force simp: subset_mset_def subseteq_mset_def split: if_split_asm)
  100.16  done
  100.17  
  100.18  lemma mset_less_of_empty[simp]: "A <# {#} \<longleftrightarrow> False"
   101.1 --- a/src/HOL/Library/Nonpos_Ints.thy	Tue Feb 23 16:50:10 2016 +0100
   101.2 +++ b/src/HOL/Library/Nonpos_Ints.thy	Tue Feb 23 18:04:31 2016 +0100
   101.3 @@ -301,4 +301,4 @@
   101.4  lemma ii_not_nonpos_Reals [iff]: "\<i> \<notin> \<real>\<^sub>\<le>\<^sub>0"
   101.5    by (simp add: complex_nonpos_Reals_iff)
   101.6  
   101.7 -end
   101.8 \ No newline at end of file
   101.9 +end
   102.1 --- a/src/HOL/Library/Periodic_Fun.thy	Tue Feb 23 16:50:10 2016 +0100
   102.2 +++ b/src/HOL/Library/Periodic_Fun.thy	Tue Feb 23 18:04:31 2016 +0100
   102.3 @@ -129,4 +129,4 @@
   102.4  interpretation cot: periodic_fun_simple cot "2 * of_real pi :: 'a :: {real_normed_field,banach}"
   102.5    by standard (simp only: cot_def [abs_def] sin.plus_1 cos.plus_1)
   102.6    
   102.7 -end
   102.8 \ No newline at end of file
   102.9 +end
   103.1 --- a/src/HOL/Library/Permutations.thy	Tue Feb 23 16:50:10 2016 +0100
   103.2 +++ b/src/HOL/Library/Permutations.thy	Tue Feb 23 18:04:31 2016 +0100
   103.3 @@ -1033,7 +1033,7 @@
   103.4          by simp
   103.5        then have bc: "b = c"
   103.6          by (simp add: permutes_def pa qa o_def fun_upd_def Fun.swap_def id_def
   103.7 -            cong del: if_weak_cong split: split_if_asm)
   103.8 +            cong del: if_weak_cong split: if_split_asm)
   103.9        from eq[unfolded bc] have "(\<lambda>p. Fun.swap a c id \<circ> p) (Fun.swap a c id \<circ> p) =
  103.10          (\<lambda>p. Fun.swap a c id \<circ> p) (Fun.swap a c id \<circ> q)" by simp
  103.11        then have "p = q"
   104.1 --- a/src/HOL/Library/RBT_Impl.thy	Tue Feb 23 16:50:10 2016 +0100
   104.2 +++ b/src/HOL/Library/RBT_Impl.thy	Tue Feb 23 18:04:31 2016 +0100
   104.3 @@ -155,7 +155,7 @@
   104.4  next
   104.5    case (Branch color t1 a b t2)
   104.6    let ?A = "Set.insert a (dom (rbt_lookup t1) \<union> dom (rbt_lookup t2))"
   104.7 -  have "dom (rbt_lookup (Branch color t1 a b t2)) \<subseteq> ?A" by (auto split: split_if_asm)
   104.8 +  have "dom (rbt_lookup (Branch color t1 a b t2)) \<subseteq> ?A" by (auto split: if_split_asm)
   104.9    moreover from Branch have "finite (insert a (dom (rbt_lookup t1) \<union> dom (rbt_lookup t2)))" by simp
  104.10    ultimately show ?case by (rule finite_subset)
  104.11  qed 
   105.1 --- a/src/HOL/Library/RBT_Mapping.thy	Tue Feb 23 16:50:10 2016 +0100
   105.2 +++ b/src/HOL/Library/RBT_Mapping.thy	Tue Feb 23 18:04:31 2016 +0100
   105.3 @@ -206,4 +206,4 @@
   105.4    \vspace{1ex}
   105.5  \<close>
   105.6  
   105.7 -end
   105.8 \ No newline at end of file
   105.9 +end
   106.1 --- a/src/HOL/Library/Transitive_Closure_Table.thy	Tue Feb 23 16:50:10 2016 +0100
   106.2 +++ b/src/HOL/Library/Transitive_Closure_Table.thy	Tue Feb 23 18:04:31 2016 +0100
   106.3 @@ -226,4 +226,4 @@
   106.4    "\<lbrakk> rtrancl_path R x p y; \<And>x y. R x y \<Longrightarrow> S x y \<rbrakk> \<Longrightarrow> rtrancl_path S x p y"
   106.5  by(induction rule: rtrancl_path.induct)(auto intro: rtrancl_path.intros)
   106.6  
   106.7 -end
   106.8 \ No newline at end of file
   106.9 +end
   107.1 --- a/src/HOL/Limits.thy	Tue Feb 23 16:50:10 2016 +0100
   107.2 +++ b/src/HOL/Limits.thy	Tue Feb 23 18:04:31 2016 +0100
   107.3 @@ -1354,7 +1354,7 @@
   107.4    fix Z :: real assume "0 < Z"
   107.5    from f \<open>0 < c\<close> have "eventually (\<lambda>x. c / 2 < f x) F"
   107.6      by (auto dest!: tendstoD[where e="c / 2"] elim!: eventually_mono
   107.7 -             simp: dist_real_def abs_real_def split: split_if_asm)
   107.8 +             simp: dist_real_def abs_real_def split: if_split_asm)
   107.9    moreover from g have "eventually (\<lambda>x. (Z / c * 2) \<le> g x) F"
  107.10      unfolding filterlim_at_top by auto
  107.11    ultimately show "eventually (\<lambda>x. Z \<le> f x * g x) F"
   108.1 --- a/src/HOL/List.thy	Tue Feb 23 16:50:10 2016 +0100
   108.2 +++ b/src/HOL/List.thy	Tue Feb 23 18:04:31 2016 +0100
   108.3 @@ -620,7 +620,7 @@
   108.4        resolve_tac ctxt [set_singleton] 1 ORELSE
   108.5        resolve_tac ctxt [inst_Collect_mem_eq] 1
   108.6    | tac ctxt (If :: cont) =
   108.7 -      Splitter.split_tac ctxt @{thms split_if} 1
   108.8 +      Splitter.split_tac ctxt @{thms if_split} 1
   108.9        THEN resolve_tac ctxt @{thms conjI} 1
  108.10        THEN resolve_tac ctxt @{thms impI} 1
  108.11        THEN Subgoal.FOCUS (fn {prems, context = ctxt', ...} =>
  108.12 @@ -1469,7 +1469,7 @@
  108.13    case Nil thus ?case by simp
  108.14  next
  108.15    case (Cons x xs) thus ?case
  108.16 -    apply (auto split:split_if_asm)
  108.17 +    apply (auto split:if_split_asm)
  108.18      using length_filter_le[of P xs] apply arith
  108.19    done
  108.20  qed
  108.21 @@ -1918,7 +1918,7 @@
  108.22  by (induct xs) auto
  108.23  
  108.24  lemma in_set_butlastD: "x : set (butlast xs) ==> x : set xs"
  108.25 -by (induct xs) (auto split: split_if_asm)
  108.26 +by (induct xs) (auto split: if_split_asm)
  108.27  
  108.28  lemma in_set_butlast_appendI:
  108.29    "x : set (butlast xs) | x : set (butlast ys) ==> x : set (butlast (xs @ ys))"
  108.30 @@ -2261,10 +2261,10 @@
  108.31  by (auto simp add: dropWhile_append3 in_set_conv_decomp)
  108.32  
  108.33  lemma set_dropWhileD: "x \<in> set (dropWhile P xs) \<Longrightarrow> x \<in> set xs"
  108.34 -by (induct xs) (auto split: split_if_asm)
  108.35 +by (induct xs) (auto split: if_split_asm)
  108.36  
  108.37  lemma set_takeWhileD: "x : set (takeWhile P xs) ==> x : set xs \<and> P x"
  108.38 -by (induct xs) (auto split: split_if_asm)
  108.39 +by (induct xs) (auto split: if_split_asm)
  108.40  
  108.41  lemma takeWhile_eq_all_conv[simp]:
  108.42    "(takeWhile P xs = xs) = (\<forall>x \<in> set xs. P x)"
  108.43 @@ -3322,7 +3322,7 @@
  108.44    next
  108.45      case True with Cons.prems
  108.46      have "card (set xs) = Suc (length xs)"
  108.47 -      by (simp add: card_insert_if split: split_if_asm)
  108.48 +      by (simp add: card_insert_if split: if_split_asm)
  108.49      moreover have "card (set xs) \<le> length xs" by (rule card_length)
  108.50      ultimately have False by simp
  108.51      thus ?thesis ..
  108.52 @@ -3335,7 +3335,7 @@
  108.53  lemma not_distinct_decomp: "~ distinct ws ==> EX xs ys zs y. ws = xs@[y]@ys@[y]@zs"
  108.54  apply (induct n == "length ws" arbitrary:ws) apply simp
  108.55  apply(case_tac ws) apply simp
  108.56 -apply (simp split:split_if_asm)
  108.57 +apply (simp split:if_split_asm)
  108.58  apply (metis Cons_eq_appendI eq_Nil_appendI split_list)
  108.59  done
  108.60  
  108.61 @@ -3657,7 +3657,7 @@
  108.62  
  108.63  lemma remdups_adj_singleton:
  108.64    "remdups_adj xs = [x] \<Longrightarrow> xs = replicate (length xs) x"
  108.65 -by (induct xs rule: remdups_adj.induct, auto split: split_if_asm)
  108.66 +by (induct xs rule: remdups_adj.induct, auto split: if_split_asm)
  108.67  
  108.68  lemma remdups_adj_map_injective:
  108.69    assumes "inj f"
  108.70 @@ -4814,7 +4814,7 @@
  108.71  
  108.72  lemma sorted_remdups_adj[simp]:
  108.73    "sorted xs \<Longrightarrow> sorted (remdups_adj xs)"
  108.74 -by (induct xs rule: remdups_adj.induct, simp_all split: split_if_asm add: sorted_Cons)
  108.75 +by (induct xs rule: remdups_adj.induct, simp_all split: if_split_asm add: sorted_Cons)
  108.76  
  108.77  lemma sorted_distinct_set_unique:
  108.78  assumes "sorted xs" "distinct xs" "sorted ys" "distinct ys" "set xs = set ys"
  108.79 @@ -6766,7 +6766,7 @@
  108.80  
  108.81  lemma [code]:
  108.82    "R `` S = List.map_project (%(x, y). if x : S then Some y else None) R"
  108.83 -unfolding map_project_def by (auto split: prod.split split_if_asm)
  108.84 +unfolding map_project_def by (auto split: prod.split if_split_asm)
  108.85  
  108.86  lemma trancl_set_ntrancl [code]:
  108.87    "trancl (set xs) = ntrancl (card (set xs) - 1) (set xs)"
   109.1 --- a/src/HOL/Map.thy	Tue Feb 23 16:50:10 2016 +0100
   109.2 +++ b/src/HOL/Map.thy	Tue Feb 23 18:04:31 2016 +0100
   109.3 @@ -358,10 +358,10 @@
   109.4  by (simp add: restrict_map_def)
   109.5  
   109.6  lemma ran_restrictD: "y \<in> ran (m|`A) \<Longrightarrow> \<exists>x\<in>A. m x = Some y"
   109.7 -by (auto simp: restrict_map_def ran_def split: split_if_asm)
   109.8 +by (auto simp: restrict_map_def ran_def split: if_split_asm)
   109.9  
  109.10  lemma dom_restrict [simp]: "dom (m|`A) = dom m \<inter> A"
  109.11 -by (auto simp: restrict_map_def dom_def split: split_if_asm)
  109.12 +by (auto simp: restrict_map_def dom_def split: if_split_asm)
  109.13  
  109.14  lemma restrict_upd_same [simp]: "m(x\<mapsto>y)|`(-{x}) = m|`(-{x})"
  109.15  by (rule ext) (auto simp: restrict_map_def)
  109.16 @@ -429,7 +429,7 @@
  109.17  apply (induct xs arbitrary: x y ys f)
  109.18   apply simp
  109.19  apply (case_tac ys)
  109.20 - apply (auto split: split_if simp: fun_upd_twist)
  109.21 + apply (auto split: if_split simp: fun_upd_twist)
  109.22  done
  109.23  
  109.24  lemma map_upds_twist [simp]:
  109.25 @@ -691,7 +691,7 @@
  109.26  lemma dom_eq_singleton_conv: "dom f = {x} \<longleftrightarrow> (\<exists>v. f = [x \<mapsto> v])"
  109.27  proof(rule iffI)
  109.28    assume "\<exists>v. f = [x \<mapsto> v]"
  109.29 -  thus "dom f = {x}" by(auto split: split_if_asm)
  109.30 +  thus "dom f = {x}" by(auto split: if_split_asm)
  109.31  next
  109.32    assume "dom f = {x}"
  109.33    then obtain v where "f x = Some v" by auto
   110.1 --- a/src/HOL/Matrix_LP/Compute_Oracle/Compute_Oracle.thy	Tue Feb 23 16:50:10 2016 +0100
   110.2 +++ b/src/HOL/Matrix_LP/Compute_Oracle/Compute_Oracle.thy	Tue Feb 23 18:04:31 2016 +0100
   110.3 @@ -16,4 +16,4 @@
   110.4  ML_file "compute.ML"
   110.5  ML_file "linker.ML"
   110.6  
   110.7 -end
   110.8 \ No newline at end of file
   110.9 +end
   111.1 --- a/src/HOL/Matrix_LP/Compute_Oracle/report.ML	Tue Feb 23 16:50:10 2016 +0100
   111.2 +++ b/src/HOL/Matrix_LP/Compute_Oracle/report.ML	Tue Feb 23 18:04:31 2016 +0100
   111.3 @@ -30,4 +30,4 @@
   111.4  end
   111.5  
   111.6  end
   111.7 -end
   111.8 \ No newline at end of file
   111.9 +end
   112.1 --- a/src/HOL/Matrix_LP/LP.thy	Tue Feb 23 16:50:10 2016 +0100
   112.2 +++ b/src/HOL/Matrix_LP/LP.thy	Tue Feb 23 18:04:31 2016 +0100
   112.3 @@ -160,4 +160,4 @@
   112.4      by(simp only:)
   112.5  qed
   112.6  
   112.7 -end
   112.8 \ No newline at end of file
   112.9 +end
   113.1 --- a/src/HOL/Matrix_LP/Matrix.thy	Tue Feb 23 16:50:10 2016 +0100
   113.2 +++ b/src/HOL/Matrix_LP/Matrix.thy	Tue Feb 23 18:04:31 2016 +0100
   113.3 @@ -1653,8 +1653,8 @@
   113.4  lemma Rep_one_matrix[simp]: "Rep_matrix (one_matrix n) j i = (if (j = i & j < n) then 1 else 0)"
   113.5  apply (simp add: one_matrix_def)
   113.6  apply (simplesubst RepAbs_matrix)
   113.7 -apply (rule exI[of _ n], simp add: split_if)+
   113.8 -by (simp add: split_if)
   113.9 +apply (rule exI[of _ n], simp add: if_split)+
  113.10 +by (simp add: if_split)
  113.11  
  113.12  lemma nrows_one_matrix[simp]: "nrows ((one_matrix n) :: ('a::zero_neq_one)matrix) = n" (is "?r = _")
  113.13  proof -
   114.1 --- a/src/HOL/Metis_Examples/Message.thy	Tue Feb 23 16:50:10 2016 +0100
   114.2 +++ b/src/HOL/Metis_Examples/Message.thy	Tue Feb 23 18:04:31 2016 +0100
   114.3 @@ -460,7 +460,7 @@
   114.4  by (intro equalityI lemma1 lemma2)
   114.5  
   114.6  text{*Case analysis: either the message is secure, or it is not! Effective,
   114.7 -but can cause subgoals to blow up! Use with @{text "split_if"}; apparently
   114.8 +but can cause subgoals to blow up! Use with @{text "if_split"}; apparently
   114.9  @{text "split_tac"} does not cope with patterns such as @{term"analz (insert
  114.10  (Crypt K X) H)"} *}
  114.11  lemma analz_Crypt_if [simp]:
   115.1 --- a/src/HOL/Metis_Examples/Tarski.thy	Tue Feb 23 16:50:10 2016 +0100
   115.2 +++ b/src/HOL/Metis_Examples/Tarski.thy	Tue Feb 23 18:04:31 2016 +0100
   115.3 @@ -711,7 +711,7 @@
   115.4  apply (erule exE)
   115.5  -- {* define the lub for the interval as *}
   115.6  apply (rule_tac x = "if S = {} then a else L" in exI)
   115.7 -apply (simp (no_asm_simp) add: isLub_def split del: split_if)
   115.8 +apply (simp (no_asm_simp) add: isLub_def split del: if_split)
   115.9  apply (intro impI conjI)
  115.10  -- {* @{text "(if S = {} then a else L) \<in> interval r a b"} *}
  115.11  apply (simp add: CL_imp_PO L_in_interval)
   116.1 --- a/src/HOL/MicroJava/BV/BVSpecTypeSafe.thy	Tue Feb 23 16:50:10 2016 +0100
   116.2 +++ b/src/HOL/MicroJava/BV/BVSpecTypeSafe.thy	Tue Feb 23 18:04:31 2016 +0100
   116.3 @@ -50,7 +50,7 @@
   116.4    "(fst (exec_instr i G hp stk vars Cl sig pc frs) = Some xcp)
   116.5    = (\<exists>stk'. exec_instr i G hp stk vars Cl sig pc frs = 
   116.6              (Some xcp, hp, (stk', vars, Cl, sig, pc)#frs))"
   116.7 -  by (cases i, auto simp add: split_beta split: split_if_asm)
   116.8 +  by (cases i, auto simp add: split_beta split: if_split_asm)
   116.9  
  116.10  
  116.11  text \<open>
  116.12 @@ -120,7 +120,7 @@
  116.13    \<Longrightarrow> match G X pc et = [Xcpt X]"
  116.14    apply (simp add: match_some_entry)
  116.15    apply (induct et)
  116.16 -  apply (auto split: split_if_asm)
  116.17 +  apply (auto split: if_split_asm)
  116.18    done
  116.19  
  116.20  text \<open>
  116.21 @@ -257,7 +257,7 @@
  116.22    (is "\<lbrakk> ?xcpt; ?wt; ?correct \<rbrakk> \<Longrightarrow> ?thesis")
  116.23  proof -
  116.24    note [simp] = split_beta raise_system_xcpt_def
  116.25 -  note [split] = split_if_asm option.split_asm 
  116.26 +  note [split] = if_split_asm option.split_asm 
  116.27    
  116.28    assume wt: ?wt ?correct
  116.29    hence pre: "preallocated hp" by (simp add: correct_state_def)
  116.30 @@ -348,7 +348,7 @@
  116.31      have state': 
  116.32        "state' = (None, hp, ([xcp], loc, C, sig, handler)#frs)"
  116.33        by (cases "ins!pc") (auto simp add: raise_system_xcpt_def split_beta 
  116.34 -                               split: split_if_asm) (* takes long! *)
  116.35 +                               split: if_split_asm) (* takes long! *)
  116.36  
  116.37      let ?f' = "([xcp], loc, C, sig, handler)"
  116.38      from eff
  116.39 @@ -357,7 +357,7 @@
  116.40        frame': "correct_frame G hp (ST',LT') maxl ins ?f'" 
  116.41      proof (cases "ins!pc")
  116.42        case Return \<comment> "can't generate exceptions:"
  116.43 -      with xp' have False by (simp add: split_beta split: split_if_asm)
  116.44 +      with xp' have False by (simp add: split_beta split: if_split_asm)
  116.45        thus ?thesis ..
  116.46      next
  116.47        case New
  116.48 @@ -393,7 +393,7 @@
  116.49        case Getfield
  116.50        with some_handler xp'
  116.51        have xcp: "xcp = Addr (XcptRef NullPointer)"
  116.52 -        by (simp add: raise_system_xcpt_def split_beta split: split_if_asm)
  116.53 +        by (simp add: raise_system_xcpt_def split_beta split: if_split_asm)
  116.54        with prehp have "cname_of hp xcp = Xcpt NullPointer" ..
  116.55        with Getfield some_handler phi_pc eff 
  116.56        obtain ST' LT' where
  116.57 @@ -423,7 +423,7 @@
  116.58        case Putfield
  116.59        with some_handler xp'
  116.60        have xcp: "xcp = Addr (XcptRef NullPointer)"
  116.61 -        by (simp add: raise_system_xcpt_def split_beta split: split_if_asm)
  116.62 +        by (simp add: raise_system_xcpt_def split_beta split: if_split_asm)
  116.63        with prehp have "cname_of hp xcp = Xcpt NullPointer" ..
  116.64        with Putfield some_handler phi_pc eff 
  116.65        obtain ST' LT' where
  116.66 @@ -453,7 +453,7 @@
  116.67        case Checkcast
  116.68        with some_handler xp'
  116.69        have xcp: "xcp = Addr (XcptRef ClassCast)"
  116.70 -        by (simp add: raise_system_xcpt_def split_beta split: split_if_asm)
  116.71 +        by (simp add: raise_system_xcpt_def split_beta split: if_split_asm)
  116.72        with prehp have "cname_of hp xcp = Xcpt ClassCast" ..
  116.73        with Checkcast some_handler phi_pc eff 
  116.74        obtain ST' LT' where
  116.75 @@ -655,7 +655,7 @@
  116.76      G,phi \<turnstile>JVM (None, hp, (stk,loc,C,sig,pc)#frs)\<surd>;
  116.77      fst (exec_instr (ins!pc) G hp stk loc C sig pc frs) = None \<rbrakk> 
  116.78  \<Longrightarrow> G,phi \<turnstile>JVM state'\<surd>"
  116.79 -apply (clarsimp simp add: defs2 wt_jvm_prog_def split: split_if_asm)
  116.80 +apply (clarsimp simp add: defs2 wt_jvm_prog_def split: if_split_asm)
  116.81  apply (blast intro: Cast_conf2)
  116.82  done
  116.83  
  116.84 @@ -670,7 +670,7 @@
  116.85    fst (exec_instr (ins!pc) G hp stk loc C sig pc frs) = None \<rbrakk> 
  116.86  \<Longrightarrow> G,phi \<turnstile>JVM state'\<surd>"
  116.87  apply (clarsimp simp add: defs2 wt_jvm_prog_def split_beta
  116.88 -                split: option.split split_if_asm)
  116.89 +                split: option.split if_split_asm)
  116.90  apply (frule conf_widen)
  116.91  apply assumption+
  116.92  apply (drule conf_RefTD)
  116.93 @@ -702,7 +702,7 @@
  116.94    G,phi \<turnstile>JVM (None, hp, (stk,loc,C,sig,pc)#frs)\<surd>;
  116.95    fst (exec_instr (ins!pc) G hp stk loc C sig pc frs) = None \<rbrakk> 
  116.96  \<Longrightarrow> G,phi \<turnstile>JVM state'\<surd>"
  116.97 -apply (clarsimp simp add: defs2 split_beta split: option.split list.split split_if_asm)
  116.98 +apply (clarsimp simp add: defs2 split_beta split: option.split list.split if_split_asm)
  116.99  apply (frule conf_widen)
 116.100  prefer 2
 116.101    apply assumption
 116.102 @@ -1328,7 +1328,7 @@
 116.103    assumes wf: "wf_prog wf_mb \<Gamma>"
 116.104    shows hconf_start: "\<Gamma> \<turnstile>h (start_heap \<Gamma>) \<surd>"
 116.105    apply (unfold hconf_def start_heap_def)
 116.106 -  apply (auto simp add: fun_upd_apply blank_def oconf_def split: split_if_asm)
 116.107 +  apply (auto simp add: fun_upd_apply blank_def oconf_def split: if_split_asm)
 116.108    apply (simp add: fields_is_type 
 116.109            [OF _ wf [THEN wf_prog_ws_prog] 
 116.110                  is_class_xcpt [OF wf [THEN wf_prog_ws_prog]]])+
   117.1 --- a/src/HOL/MicroJava/BV/Effect.thy	Tue Feb 23 16:50:10 2016 +0100
   117.2 +++ b/src/HOL/MicroJava/BV/Effect.thy	Tue Feb 23 18:04:31 2016 +0100
   117.3 @@ -181,7 +181,7 @@
   117.4     apply simp
   117.5    apply simp
   117.6    apply clarify
   117.7 -  apply (simp split: split_if_asm)
   117.8 +  apply (simp split: if_split_asm)
   117.9    apply (auto simp add: match_exception_entry_def)
  117.10    done
  117.11  
  117.12 @@ -189,7 +189,7 @@
  117.13    "C \<in> set (match G X pc et) \<Longrightarrow> match_exception_table G C pc et \<noteq> None"
  117.14    apply (induct et)
  117.15     apply simp
  117.16 -  apply (simp split: split_if_asm)
  117.17 +  apply (simp split: if_split_asm)
  117.18    done
  117.19  
  117.20  lemma xcpt_names_in_et:
   118.1 --- a/src/HOL/MicroJava/BV/JType.thy	Tue Feb 23 16:50:10 2016 +0100
   118.2 +++ b/src/HOL/MicroJava/BV/JType.thy	Tue Feb 23 18:04:31 2016 +0100
   118.3 @@ -202,7 +202,7 @@
   118.4    thus ?thesis
   118.5      apply (unfold sup_def subtype_def) 
   118.6      apply (cases s)
   118.7 -    apply (auto split: ty.split_asm ref_ty.split_asm split_if_asm)
   118.8 +    apply (auto split: ty.split_asm ref_ty.split_asm if_split_asm)
   118.9      done
  118.10  qed
  118.11  
  118.12 @@ -248,7 +248,7 @@
  118.13           "subtype G a c" "subtype G b c" "sup G a b = OK d"
  118.14    thus ?thesis
  118.15      by (auto simp add: subtype_def sup_def 
  118.16 -             split: ty.split_asm ref_ty.split_asm split_if_asm)
  118.17 +             split: ty.split_asm ref_ty.split_asm if_split_asm)
  118.18  qed
  118.19  
  118.20  lemma sup_exists:
   119.1 --- a/src/HOL/MicroJava/Comp/AuxLemmas.thy	Tue Feb 23 16:50:10 2016 +0100
   119.2 +++ b/src/HOL/MicroJava/Comp/AuxLemmas.thy	Tue Feb 23 18:04:31 2016 +0100
   119.3 @@ -108,7 +108,7 @@
   119.4  
   119.5  lemma map_of_map_prop:
   119.6    "\<lbrakk>map_of (map f xs) k = Some v; \<forall>x \<in> set xs. P1 x; \<forall>x. P1 x \<longrightarrow> P2 (f x)\<rbrakk> \<Longrightarrow> P2 (k, v)"
   119.7 -  by (induct xs) (auto split: split_if_asm)
   119.8 +  by (induct xs) (auto split: if_split_asm)
   119.9  
  119.10  lemma map_of_map2: "\<forall>x \<in> set xs. (fst (f x)) = (fst x) \<Longrightarrow>
  119.11    map_of (map f xs) a = map_option (\<lambda> b. (snd (f (a, b)))) (map_of xs a)"
   120.1 --- a/src/HOL/MicroJava/Comp/CorrCompTp.thy	Tue Feb 23 16:50:10 2016 +0100
   120.2 +++ b/src/HOL/MicroJava/Comp/CorrCompTp.thy	Tue Feb 23 18:04:31 2016 +0100
   120.3 @@ -115,7 +115,7 @@
   120.4     apply (drule_tac x=kr in spec)
   120.5     apply (simp only: rev.simps)
   120.6     apply (subgoal_tac "(empty(rev kr @ [k'][\<mapsto>]rev xs @ [a])) = empty (rev kr[\<mapsto>]rev xs)([k'][\<mapsto>][a])")
   120.7 -    apply (simp split:split_if_asm)
   120.8 +    apply (simp split:if_split_asm)
   120.9     apply (simp add: map_upds_append [symmetric])
  120.10    apply (case_tac ks)
  120.11     apply auto
   121.1 --- a/src/HOL/MicroJava/DFA/Abstract_BV.thy	Tue Feb 23 16:50:10 2016 +0100
   121.2 +++ b/src/HOL/MicroJava/DFA/Abstract_BV.thy	Tue Feb 23 18:04:31 2016 +0100
   121.3 @@ -11,4 +11,4 @@
   121.4  begin
   121.5  
   121.6  end
   121.7 -(*>*)
   121.8 \ No newline at end of file
   121.9 +(*>*)
   122.1 --- a/src/HOL/MicroJava/DFA/LBVComplete.thy	Tue Feb 23 16:50:10 2016 +0100
   122.2 +++ b/src/HOL/MicroJava/DFA/LBVComplete.thy	Tue Feb 23 18:04:31 2016 +0100
   122.3 @@ -88,7 +88,7 @@
   122.4             (is "?app ss1") and
   122.5        sum: "(map snd [(p',t') \<leftarrow> ss1 . p' = pc+1] ++_f x) = ?s1" 
   122.6             (is "?map ss1 ++_f x = _" is "?sum ss1 = _")
   122.7 -      by (simp split: split_if_asm)
   122.8 +      by (simp split: if_split_asm)
   122.9      from app less 
  122.10      have "?app ss2" by (blast dest: trans_r lesub_step_typeD)
  122.11      moreover {
  122.12 @@ -159,7 +159,7 @@
  122.13    have "?s1' = \<top> \<Longrightarrow> ?thesis" by simp
  122.14    moreover {
  122.15      assume "?s1' \<noteq> \<top>" 
  122.16 -    with False have c: "s1 <=_r c!pc" by (simp add: wtc split: split_if_asm)
  122.17 +    with False have c: "s1 <=_r c!pc" by (simp add: wtc split: if_split_asm)
  122.18      with less have "s2 <=_r c!pc" ..
  122.19      with False c have ?thesis by (simp add: wtc)
  122.20    }
  122.21 @@ -310,7 +310,7 @@
  122.22    from suc_pc have pc: "pc < length \<phi>" by simp
  122.23    with stable have "?wtc \<noteq> \<top>" by (rule stable_wtc)
  122.24    with False have "?wtc = wti c pc (c!pc)" 
  122.25 -    by (unfold wtc) (simp split: split_if_asm)
  122.26 +    by (unfold wtc) (simp split: if_split_asm)
  122.27    also from pc False have "c!pc = \<phi>!pc" .. 
  122.28    finally have "?wtc = wti c pc (\<phi>!pc)" .
  122.29    also from stable suc_pc have "wti c pc (\<phi>!pc) <=_r \<phi>!Suc pc" by (rule wti_less)
   123.1 --- a/src/HOL/MicroJava/DFA/LBVCorrect.thy	Tue Feb 23 16:50:10 2016 +0100
   123.2 +++ b/src/HOL/MicroJava/DFA/LBVCorrect.thy	Tue Feb 23 18:04:31 2016 +0100
   123.3 @@ -42,7 +42,7 @@
   123.4  proof -
   123.5    from all pc
   123.6    have "wtc c (pc+1) (wtl (take (pc+1) ins) c 0 s0) \<noteq> T" by (rule wtl_all)
   123.7 -  with pc show ?thesis by (simp add: phi_def wtc split: split_if_asm)
   123.8 +  with pc show ?thesis by (simp add: phi_def wtc split: if_split_asm)
   123.9  qed
  123.10  
  123.11  
  123.12 @@ -68,7 +68,7 @@
  123.13  
  123.14    from wt_s1 pc c_None c_Some
  123.15    have inst: "wtc c pc ?s1  = wti c pc (\<phi>!pc)"
  123.16 -    by (simp add: wtc split: split_if_asm)
  123.17 +    by (simp add: wtc split: if_split_asm)
  123.18  
  123.19    from pres cert s0 wtl pc have "?s1 \<in> A" by (rule wtl_pres)
  123.20    with pc c_Some cert c_None
  123.21 @@ -175,7 +175,7 @@
  123.22    moreover 
  123.23    from wtl have "wtl (take 1 ins) c 0 s0 \<noteq> \<top>"  by (rule wtl_take)
  123.24    with 0 False 
  123.25 -  have "s0 <=_r c!0" by (auto simp add: neq_Nil_conv wtc split: split_if_asm)
  123.26 +  have "s0 <=_r c!0" by (auto simp add: neq_Nil_conv wtc split: if_split_asm)
  123.27    ultimately
  123.28    show ?thesis by simp
  123.29  qed
   124.1 --- a/src/HOL/MicroJava/DFA/LBVSpec.thy	Tue Feb 23 16:50:10 2016 +0100
   124.2 +++ b/src/HOL/MicroJava/DFA/LBVSpec.thy	Tue Feb 23 18:04:31 2016 +0100
   124.3 @@ -161,7 +161,7 @@
   124.4    assume "\<And>x. ?set ls \<Longrightarrow> ?merge ls x \<Longrightarrow> ?P ls" hence "?P ls" using set merge' .
   124.5    moreover
   124.6    from merge set
   124.7 -  have "pc' \<noteq> pc+1 \<longrightarrow> s' <=_r (c!pc')" by (simp add: l split: split_if_asm)
   124.8 +  have "pc' \<noteq> pc+1 \<longrightarrow> s' <=_r (c!pc')" by (simp add: l split: if_split_asm)
   124.9    ultimately
  124.10    show "?P (l#ls)" by (simp add: l)
  124.11  qed
  124.12 @@ -223,7 +223,7 @@
  124.13  proof -
  124.14    from ss m have "\<forall>(pc',s') \<in> set ss. (pc' \<noteq> pc+1 \<longrightarrow> s' <=_r c!pc')" 
  124.15      by (rule merge_not_top)
  124.16 -  with x ss m show ?thesis by - (drule merge_def, auto split: split_if_asm)
  124.17 +  with x ss m show ?thesis by - (drule merge_def, auto split: if_split_asm)
  124.18  qed
  124.19  
  124.20  subsection "wtl-inst-list"
   125.1 --- a/src/HOL/MicroJava/DFA/Semilattices.thy	Tue Feb 23 16:50:10 2016 +0100
   125.2 +++ b/src/HOL/MicroJava/DFA/Semilattices.thy	Tue Feb 23 18:04:31 2016 +0100
   125.3 @@ -11,4 +11,4 @@
   125.4  begin
   125.5  
   125.6  end
   125.7 -(*>*)
   125.8 \ No newline at end of file
   125.9 +(*>*)
   126.1 --- a/src/HOL/MicroJava/DFA/Typing_Framework_err.thy	Tue Feb 23 16:50:10 2016 +0100
   126.2 +++ b/src/HOL/MicroJava/DFA/Typing_Framework_err.thy	Tue Feb 23 18:04:31 2016 +0100
   126.3 @@ -70,7 +70,7 @@
   126.4    apply clarify
   126.5    apply (erule allE, erule impE, assumption)
   126.6    apply (case_tac s)
   126.7 -  apply (auto simp add: map_snd_def split: split_if_asm)
   126.8 +  apply (auto simp add: map_snd_def split: if_split_asm)
   126.9    done
  126.10  
  126.11  
  126.12 @@ -150,7 +150,7 @@
  126.13   apply simp
  126.14   apply (drule in_errorD)
  126.15   apply simp
  126.16 -apply (simp add: map_snd_def split: split_if_asm)
  126.17 +apply (simp add: map_snd_def split: if_split_asm)
  126.18   apply fast
  126.19  apply (drule in_errorD)
  126.20  apply simp
   127.1 --- a/src/HOL/MicroJava/J/Example.thy	Tue Feb 23 16:50:10 2016 +0100
   127.2 +++ b/src/HOL/MicroJava/J/Example.thy	Tue Feb 23 18:04:31 2016 +0100
   127.3 @@ -191,7 +191,7 @@
   127.4  lemma class_tprgD: 
   127.5  "class tprg C = Some z ==> C=Object \<or> C=Base \<or> C=Ext \<or> C=Xcpt NP \<or> C=Xcpt ClassCast \<or> C=Xcpt OutOfMemory"
   127.6  apply (unfold ObjectC_def ClassCastC_def NullPointerC_def OutOfMemoryC_def BaseC_def ExtC_def class_def)
   127.7 -apply (auto split add: split_if_asm simp add: map_of_Cons)
   127.8 +apply (auto split add: if_split_asm simp add: map_of_Cons)
   127.9  done
  127.10  
  127.11  lemma not_class_subcls_class [elim!]: "(C, C) \<in> (subcls1 tprg)^+ ==> R"
  127.12 @@ -402,7 +402,7 @@
  127.13  
  127.14  
  127.15  lemmas e = NewCI eval_evals_exec.intros
  127.16 -declare split_if [split del]
  127.17 +declare if_split [split del]
  127.18  declare init_vars_def [simp] c_hupd_def [simp] cast_ok_def [simp]
  127.19  schematic_goal exec_test: 
  127.20  " [|new_Addr (heap (snd s0)) = (a, None)|] ==>  
   128.1 --- a/src/HOL/MicroJava/J/Exceptions.thy	Tue Feb 23 16:50:10 2016 +0100
   128.2 +++ b/src/HOL/MicroJava/J/Exceptions.thy	Tue Feb 23 18:04:31 2016 +0100
   128.3 @@ -37,7 +37,7 @@
   128.4  proof -
   128.5    assume "raise_if b x None = Some xcp"
   128.6    hence "xcp = Addr (XcptRef x)"
   128.7 -    by (simp add: raise_if_def split: split_if_asm)
   128.8 +    by (simp add: raise_if_def split: if_split_asm)
   128.9    moreover
  128.10    assume "preallocated hp" 
  128.11    then obtain fs where "hp (XcptRef x) = Some (Xcpt x, fs)" ..
   129.1 --- a/src/HOL/MicroJava/J/JTypeSafe.thy	Tue Feb 23 16:50:10 2016 +0100
   129.2 +++ b/src/HOL/MicroJava/J/JTypeSafe.thy	Tue Feb 23 18:04:31 2016 +0100
   129.3 @@ -171,7 +171,7 @@
   129.4  
   129.5  
   129.6  
   129.7 -declare split_if [split del]
   129.8 +declare if_split [split del]
   129.9  declare fun_upd_apply [simp del]
  129.10  declare fun_upd_same [simp]
  129.11  declare wf_prog_ws_prog [simp]
   130.1 --- a/src/HOL/MicroJava/J/State.thy	Tue Feb 23 16:50:10 2016 +0100
   130.2 +++ b/src/HOL/MicroJava/J/State.thy	Tue Feb 23 18:04:31 2016 +0100
   130.3 @@ -84,7 +84,7 @@
   130.4    hp ref = None \<and> xcp = None \<or> xcp = Some (Addr (XcptRef OutOfMemory))"
   130.5  apply (drule sym)
   130.6  apply (unfold new_Addr_def)
   130.7 -apply (simp split: split_if_asm)
   130.8 +apply (simp split: if_split_asm)
   130.9  apply (erule LeastI)
  130.10  done
  130.11  
  130.12 @@ -164,7 +164,7 @@
  130.13  
  130.14  lemma new_Addr_code_code [code]:
  130.15    "new_Addr h = gen_new_Addr h 0"
  130.16 -by(simp only: new_Addr_def gen_new_Addr_def split: split_if) simp
  130.17 +by(simp only: new_Addr_def gen_new_Addr_def split: if_split) simp
  130.18  
  130.19  lemma gen_new_Addr_code [code]:
  130.20    "gen_new_Addr h n = (if h (Loc (nat_to_loc' n)) = None then (Loc (nat_to_loc' n), None) else gen_new_Addr h (Suc n))"
   131.1 --- a/src/HOL/MicroJava/J/TypeRel.thy	Tue Feb 23 16:50:10 2016 +0100
   131.2 +++ b/src/HOL/MicroJava/J/TypeRel.thy	Tue Feb 23 18:04:31 2016 +0100
   131.3 @@ -193,7 +193,7 @@
   131.4    method (G,C) = (if C = Object then empty else method (G,D)) ++  
   131.5    map_of (map (\<lambda>(s,m). (s,(C,m))) ms)"
   131.6  apply (unfold method_def)
   131.7 -apply (simp split del: split_if)
   131.8 +apply (simp split del: if_split)
   131.9  apply (erule (1) class_rec_lemma [THEN trans])
  131.10  apply auto
  131.11  done
  131.12 @@ -202,7 +202,7 @@
  131.13   fields (G,C) = 
  131.14    map (\<lambda>(fn,ft). ((fn,C),ft)) fs @ (if C = Object then [] else fields (G,D))"
  131.15  apply (unfold fields_def)
  131.16 -apply (simp split del: split_if)
  131.17 +apply (simp split del: if_split)
  131.18  apply (erule (1) class_rec_lemma [THEN trans])
  131.19  apply auto
  131.20  done
   132.1 --- a/src/HOL/MicroJava/J/WellForm.thy	Tue Feb 23 16:50:10 2016 +0100
   132.2 +++ b/src/HOL/MicroJava/J/WellForm.thy	Tue Feb 23 18:04:31 2016 +0100
   132.3 @@ -319,7 +319,7 @@
   132.4  apply( subst fields_rec)
   132.5  apply(   assumption)
   132.6  apply(  assumption)
   132.7 -apply( simp (no_asm) split del: split_if)
   132.8 +apply( simp (no_asm) split del: if_split)
   132.9  apply( rule ballI)
  132.10  apply( simp (no_asm_simp) only: split_tupled_all)
  132.11  apply( simp (no_asm))
   133.1 --- a/src/HOL/MicroJava/J/WellType.thy	Tue Feb 23 16:50:10 2016 +0100
   133.2 +++ b/src/HOL/MicroJava/J/WellType.thy	Tue Feb 23 18:04:31 2016 +0100
   133.3 @@ -215,7 +215,7 @@
   133.4  apply (rule ty_expr_ty_exprs_wt_stmt.induct)
   133.5  apply auto
   133.6  apply (   erule typeof_empty_is_type)
   133.7 -apply (  simp split add: split_if_asm)
   133.8 +apply (  simp split add: if_split_asm)
   133.9  apply ( drule field_fields)
  133.10  apply ( drule (1) fields_is_type)
  133.11  apply (  simp (no_asm_simp))
   134.1 --- a/src/HOL/MicroJava/JVM/JVMDefensive.thy	Tue Feb 23 16:50:10 2016 +0100
   134.2 +++ b/src/HOL/MicroJava/JVM/JVMDefensive.thy	Tue Feb 23 18:04:31 2016 +0100
   134.3 @@ -155,7 +155,7 @@
   134.4      apply (erule disjE, simp)
   134.5      apply (elim exE conjE)
   134.6      apply (erule allE, erule impE, assumption)
   134.7 -    apply (simp add: exec_all_def exec_d_def split: type_error.splits split_if_asm)
   134.8 +    apply (simp add: exec_all_def exec_d_def split: type_error.splits if_split_asm)
   134.9      apply (rule rtrancl_trans, assumption)
  134.10      apply blast
  134.11      done
  134.12 @@ -165,4 +165,4 @@
  134.13    show "G \<turnstile> s \<midarrow>jvm\<rightarrow> t" by blast
  134.14  qed
  134.15  
  134.16 -end
  134.17 \ No newline at end of file
  134.18 +end
   135.1 --- a/src/HOL/MicroJava/JVM/JVMExceptions.thy	Tue Feb 23 16:50:10 2016 +0100
   135.2 +++ b/src/HOL/MicroJava/JVM/JVMExceptions.thy	Tue Feb 23 18:04:31 2016 +0100
   135.3 @@ -52,7 +52,7 @@
   135.4  \<close>
   135.5  lemma match_exception_table_in_et:
   135.6    "match_exception_table G C pc et = Some pc' \<Longrightarrow> \<exists>e \<in> set et. pc' = fst (snd (snd e))"
   135.7 -  by (induct et) (auto split: split_if_asm)
   135.8 +  by (induct et) (auto split: if_split_asm)
   135.9  
  135.10  
  135.11  end
   136.1 --- a/src/HOL/MicroJava/JVM/JVMExecInstr.thy	Tue Feb 23 16:50:10 2016 +0100
   136.2 +++ b/src/HOL/MicroJava/JVM/JVMExecInstr.thy	Tue Feb 23 18:04:31 2016 +0100
   136.3 @@ -122,4 +122,4 @@
   136.4     in
   136.5        (xcpt', hp, (stk, vars, Cl, sig, pc)#frs))"
   136.6  
   136.7 -end
   136.8 \ No newline at end of file
   136.9 +end
   137.1 --- a/src/HOL/Multivariate_Analysis/Bounded_Linear_Function.thy	Tue Feb 23 16:50:10 2016 +0100
   137.2 +++ b/src/HOL/Multivariate_Analysis/Bounded_Linear_Function.thy	Tue Feb 23 18:04:31 2016 +0100
   137.3 @@ -387,7 +387,7 @@
   137.4    have "(\<Sum>j\<in>Basis. \<Sum>i\<in>Basis. (x \<bullet> i * (f i \<bullet> j)) *\<^sub>R j) \<bullet> b
   137.5      = (\<Sum>j\<in>Basis. if j = b then (\<Sum>i\<in>Basis. (x \<bullet> i * (f i \<bullet> j))) else 0)"
   137.6      using b
   137.7 -    by (auto simp add: algebra_simps inner_setsum_left inner_Basis split: split_if intro!: setsum.cong)
   137.8 +    by (auto simp add: algebra_simps inner_setsum_left inner_Basis split: if_split intro!: setsum.cong)
   137.9    also have "\<dots> = (\<Sum>i\<in>Basis. (x \<bullet> i * (f i \<bullet> b)))"
  137.10      using b by (simp add: setsum.delta)
  137.11    also have "\<dots> = f x \<bullet> b"
   138.1 --- a/src/HOL/Multivariate_Analysis/Brouwer_Fixpoint.thy	Tue Feb 23 16:50:10 2016 +0100
   138.2 +++ b/src/HOL/Multivariate_Analysis/Brouwer_Fixpoint.thy	Tue Feb 23 18:04:31 2016 +0100
   138.3 @@ -222,7 +222,7 @@
   138.4      proof cases
   138.5        assume *: "{..n} \<subseteq> rl ` s"
   138.6        with rl rl_bd[OF s] have rl_s: "rl ` s = {..n}"
   138.7 -        by (auto simp add: atMost_Suc subset_insert_iff split: split_if_asm)
   138.8 +        by (auto simp add: atMost_Suc subset_insert_iff split: if_split_asm)
   138.9        then have "\<not> inj_on rl s"
  138.10          by (intro pigeonhole) simp
  138.11        then obtain a b where ab: "a \<in> s" "b \<in> s" "rl a = rl b" "a \<noteq> b"
  138.12 @@ -320,7 +320,7 @@
  138.13    then have "\<And>i. i \<le> n \<Longrightarrow> enum i j = p'"
  138.14      unfolding s_eq by auto
  138.15    from this[of 0] this[of n] have "j \<notin> upd ` {..< n}"
  138.16 -    by (auto simp: enum_def fun_eq_iff split: split_if_asm)
  138.17 +    by (auto simp: enum_def fun_eq_iff split: if_split_asm)
  138.18    with upd \<open>j < n\<close> show False
  138.19      by (auto simp: bij_betw_def)
  138.20  qed
  138.21 @@ -479,7 +479,7 @@
  138.22      with enum_eq[of "Suc j"] enum_eq[of "Suc (Suc j)"]
  138.23      have "u_s (Suc j) = u_t (Suc j)"
  138.24        using s.enum_Suc[of "Suc j"] t.enum_Suc[of "Suc j"]
  138.25 -      by (auto simp: fun_eq_iff split: split_if_asm) }
  138.26 +      by (auto simp: fun_eq_iff split: if_split_asm) }
  138.27    then have "\<And>j. 0 < j \<Longrightarrow> j < n \<Longrightarrow> u_s j = u_t j"
  138.28      by (auto simp: gr0_conv_Suc)
  138.29    with \<open>n \<noteq> 0\<close> have "u_t 0 = u_s 0"
  138.30 @@ -518,7 +518,7 @@
  138.31      with enum_eq[of j] enum_eq[of "Suc j"]
  138.32      have "u_s j = u_t j"
  138.33        using s.enum_Suc[of j] t.enum_Suc[of j]
  138.34 -      by (auto simp: Suc fun_eq_iff split: split_if_asm) }
  138.35 +      by (auto simp: Suc fun_eq_iff split: if_split_asm) }
  138.36    then have "\<And>j. j < n' \<Longrightarrow> u_s j = u_t j"
  138.37      by (auto simp: gr0_conv_Suc)
  138.38    then have "u_t n' = u_s n'"
  138.39 @@ -541,7 +541,7 @@
  138.40      then interpret kuhn_simplex p n b u s .
  138.41      from s_space \<open>a \<in> s\<close> out_eq_p[OF \<open>a \<in> s\<close>]
  138.42      have "a \<in> (\<lambda>f x. if n \<le> x then p else f x) ` ({..< n} \<rightarrow>\<^sub>E {.. p})"
  138.43 -      by (auto simp: image_iff subset_eq Pi_iff split: split_if_asm
  138.44 +      by (auto simp: image_iff subset_eq Pi_iff split: if_split_asm
  138.45                 intro!: bexI[of _ "restrict a {..< n}"]) }
  138.46    then show "{s. ksimplex p n s} \<subseteq> Pow ((\<lambda>f x. if n \<le> x then p else f x) ` ({..< n} \<rightarrow>\<^sub>E {.. p}))"
  138.47      by auto
  138.48 @@ -577,7 +577,7 @@
  138.49        by auto
  138.50      then have "upd 0 = n"
  138.51        using \<open>a n < p\<close> \<open>a = enum 0\<close> na[rule_format, of "enum 1"]
  138.52 -      by (auto simp: fun_eq_iff enum_Suc split: split_if_asm)
  138.53 +      by (auto simp: fun_eq_iff enum_Suc split: if_split_asm)
  138.54      then have "bij_betw upd (Suc ` {..< n}) {..< n}"
  138.55        using upd
  138.56        by (subst notIn_Un_bij_betw3[where b=0])
  138.57 @@ -1006,7 +1006,7 @@
  138.58            using i by (simp add: k \<open>Suc l = k\<close> i'_def)
  138.59          then have False
  138.60            using \<open>l < k\<close> \<open>k \<le> n\<close> \<open>Suc i' < n\<close>
  138.61 -          by (auto simp: t.enum_Suc enum_Suc l upd_inj fun_eq_iff split: split_if_asm)
  138.62 +          by (auto simp: t.enum_Suc enum_Suc l upd_inj fun_eq_iff split: if_split_asm)
  138.63               (metis Suc_lessD n_not_Suc_n upd_inj) }
  138.64        with \<open>l < k\<close> have "Suc l < k"
  138.65          by arith
  138.66 @@ -1042,7 +1042,7 @@
  138.67          using \<open>Suc l < k\<close> \<open>k \<le> n\<close> by (simp add: t.enum_Suc l t.upd_inj)
  138.68        finally have "(u l = upd i' \<and> u (Suc l) = upd (Suc i')) \<or>
  138.69          (u l = upd (Suc i') \<and> u (Suc l) = upd i')"
  138.70 -        using \<open>Suc i' < n\<close> by (auto simp: enum_Suc fun_eq_iff split: split_if_asm)
  138.71 +        using \<open>Suc i' < n\<close> by (auto simp: enum_Suc fun_eq_iff split: if_split_asm)
  138.72  
  138.73        then have "t = s \<or> t = b.enum ` {..n}"
  138.74        proof (elim disjE conjE)
   139.1 --- a/src/HOL/Multivariate_Analysis/Cauchy_Integral_Thm.thy	Tue Feb 23 16:50:10 2016 +0100
   139.2 +++ b/src/HOL/Multivariate_Analysis/Cauchy_Integral_Thm.thy	Tue Feb 23 18:04:31 2016 +0100
   139.3 @@ -188,7 +188,7 @@
   139.4    apply (intro ballI)
   139.5    apply (rule_tac d="dist ((x+1)/2) (1/2)" and f = "(g1 +++ g2) o (\<lambda>x. (x+1)/2)"
   139.6            in differentiable_transform_within)
   139.7 -  apply (auto simp: dist_real_def joinpaths_def abs_if field_simps split: split_if_asm)
   139.8 +  apply (auto simp: dist_real_def joinpaths_def abs_if field_simps split: if_split_asm)
   139.9    apply (rule differentiable_chain_within derivative_intros | simp)+
  139.10    apply (rule differentiable_subset)
  139.11    apply (force simp: divide_simps)+
  139.12 @@ -765,7 +765,7 @@
  139.13              vector_derivative (\<lambda>x. if x*2 \<le> 1 then g1 (2*x) else g2 (2*x - 1)) (at z) =
  139.14              2 *\<^sub>R vector_derivative g1 (at (z*2))" for z
  139.15      apply (rule vector_derivative_at [OF has_vector_derivative_transform_within [where f = "(\<lambda>x. g1(2*x))" and d = "\<bar>z - 1/2\<bar>"]])
  139.16 -    apply (simp_all add: dist_real_def abs_if split: split_if_asm)
  139.17 +    apply (simp_all add: dist_real_def abs_if split: if_split_asm)
  139.18      apply (rule vector_diff_chain_at [of "\<lambda>x. 2*x" 2 _ g1, simplified o_def])
  139.19      apply (simp add: has_vector_derivative_def has_derivative_def bounded_linear_mult_left)
  139.20      using s1
  139.21 @@ -775,7 +775,7 @@
  139.22              vector_derivative (\<lambda>x. if x*2 \<le> 1 then g1 (2*x) else g2 (2*x - 1)) (at z) =
  139.23              2 *\<^sub>R vector_derivative g2 (at (z*2 - 1))" for z
  139.24      apply (rule vector_derivative_at [OF has_vector_derivative_transform_within [where f = "(\<lambda>x. g2 (2*x - 1))" and d = "\<bar>z - 1/2\<bar>"]])
  139.25 -    apply (simp_all add: dist_real_def abs_if split: split_if_asm)
  139.26 +    apply (simp_all add: dist_real_def abs_if split: if_split_asm)
  139.27      apply (rule vector_diff_chain_at [of "\<lambda>x. 2*x - 1" 2 _ g2, simplified o_def])
  139.28      apply (simp add: has_vector_derivative_def has_derivative_def bounded_linear_mult_left)
  139.29      using s2
  139.30 @@ -826,7 +826,7 @@
  139.31              vector_derivative (\<lambda>x. if x*2 \<le> 1 then g1 (2*x) else g2 (2*x - 1)) (at (z/2)) =
  139.32              2 *\<^sub>R vector_derivative g1 (at z)"  for z
  139.33      apply (rule vector_derivative_at [OF has_vector_derivative_transform_within [where f = "(\<lambda>x. g1(2*x))" and d = "\<bar>(z-1)/2\<bar>"]])
  139.34 -    apply (simp_all add: field_simps dist_real_def abs_if split: split_if_asm)
  139.35 +    apply (simp_all add: field_simps dist_real_def abs_if split: if_split_asm)
  139.36      apply (rule vector_diff_chain_at [of "\<lambda>x. x*2" 2 _ g1, simplified o_def])
  139.37      using s1
  139.38      apply (auto simp: vector_derivative_works has_vector_derivative_def has_derivative_def bounded_linear_mult_left)
  139.39 @@ -860,7 +860,7 @@
  139.40              vector_derivative (\<lambda>x. if x*2 \<le> 1 then g1 (2*x) else g2 (2*x - 1)) (at (z/2+1/2)) =
  139.41              2 *\<^sub>R vector_derivative g2 (at z)" for z
  139.42      apply (rule vector_derivative_at [OF has_vector_derivative_transform_within [where f = "(\<lambda>x. g2(2*x-1))" and d = "\<bar>z/2\<bar>"]])
  139.43 -    apply (simp_all add: field_simps dist_real_def abs_if split: split_if_asm)
  139.44 +    apply (simp_all add: field_simps dist_real_def abs_if split: if_split_asm)
  139.45      apply (rule vector_diff_chain_at [of "\<lambda>x. x*2-1" 2 _ g2, simplified o_def])
  139.46      using s2
  139.47      apply (auto simp: has_vector_derivative_def has_derivative_def bounded_linear_mult_left
  139.48 @@ -926,7 +926,7 @@
  139.49           vector_derivative (shiftpath a g) (at x) = vector_derivative g (at (x + a))"
  139.50        unfolding shiftpath_def
  139.51        apply (rule vector_derivative_at [OF has_vector_derivative_transform_within [where f = "(\<lambda>x. g(a+x))" and d = "dist(1-a) x"]])
  139.52 -        apply (auto simp: field_simps dist_real_def abs_if split: split_if_asm)
  139.53 +        apply (auto simp: field_simps dist_real_def abs_if split: if_split_asm)
  139.54        apply (rule vector_diff_chain_at [of "\<lambda>x. x+a" 1 _ g, simplified o_def scaleR_one])
  139.55         apply (intro derivative_eq_intros | simp)+
  139.56        using g
  139.57 @@ -939,7 +939,7 @@
  139.58            vector_derivative (shiftpath a g) (at x) = vector_derivative g (at (x + a - 1))"
  139.59        unfolding shiftpath_def
  139.60        apply (rule vector_derivative_at [OF has_vector_derivative_transform_within [where f = "(\<lambda>x. g(a+x-1))" and d = "dist (1-a) x"]])
  139.61 -        apply (auto simp: field_simps dist_real_def abs_if split: split_if_asm)
  139.62 +        apply (auto simp: field_simps dist_real_def abs_if split: if_split_asm)
  139.63        apply (rule vector_diff_chain_at [of "\<lambda>x. x+a-1" 1 _ g, simplified o_def scaleR_one])
  139.64         apply (intro derivative_eq_intros | simp)+
  139.65        using g
  139.66 @@ -1000,7 +1000,7 @@
  139.67        apply (auto simp: finite_imp_closed open_Diff shiftpath_shiftpath
  139.68                          vector_derivative_within_interior vector_derivative_works [symmetric])
  139.69        apply (rule differentiable_transform_within [OF gx, of "min x (1-x)"])
  139.70 -      apply (auto simp: dist_real_def shiftpath_shiftpath abs_if split: split_if_asm)
  139.71 +      apply (auto simp: dist_real_def shiftpath_shiftpath abs_if split: if_split_asm)
  139.72        done
  139.73    } note vd = this
  139.74    have fi: "(f has_contour_integral i) (shiftpath (1 - a) (shiftpath a g))"
  139.75 @@ -3071,7 +3071,7 @@
  139.76        } note ind = this
  139.77        have "contour_integral h f = contour_integral g f"
  139.78          using ind [OF order_refl] N joins
  139.79 -        by (simp add: linked_paths_def pathstart_def pathfinish_def split: split_if_asm)
  139.80 +        by (simp add: linked_paths_def pathstart_def pathfinish_def split: if_split_asm)
  139.81      }
  139.82      ultimately
  139.83      have "path_image g \<subseteq> s \<and> path_image h \<subseteq> s \<and> (\<forall>f. f holomorphic_on s \<longrightarrow> contour_integral h f = contour_integral g f)"
  139.84 @@ -3889,7 +3889,7 @@
  139.85    }
  139.86    then show ?thesis
  139.87      using assms
  139.88 -    by (simp add: Groups.abs_if_class.abs_if winding_number_pos_meets split: split_if_asm)
  139.89 +    by (simp add: Groups.abs_if_class.abs_if winding_number_pos_meets split: if_split_asm)
  139.90  qed
  139.91  
  139.92  lemma winding_number_less_1:
  139.93 @@ -4455,7 +4455,7 @@
  139.94        and ks: "k ` ({0..1} \<times> {0..1}) \<subseteq> s"
  139.95        and k [simp]: "\<forall>x. k (0, x) = g x" "\<forall>x. k (1, x) = h x"
  139.96        and ksf: "\<forall>t\<in>{0..1}. linked_paths atends g (\<lambda>x. k (t, x))"
  139.97 -      using hom pathsf by (auto simp: linked_paths_def homotopic_paths_def homotopic_loops_def homotopic_with_def split: split_if_asm)
  139.98 +      using hom pathsf by (auto simp: linked_paths_def homotopic_paths_def homotopic_loops_def homotopic_with_def split: if_split_asm)
  139.99    have ucontk: "uniformly_continuous_on ({0..1} \<times> {0..1}) k"
 139.100      by (blast intro: compact_Times compact_uniformly_continuous [OF contk])
 139.101    { fix t::real assume t: "t \<in> {0..1}"
   140.1 --- a/src/HOL/Multivariate_Analysis/Complex_Transcendental.thy	Tue Feb 23 16:50:10 2016 +0100
   140.2 +++ b/src/HOL/Multivariate_Analysis/Complex_Transcendental.thy	Tue Feb 23 18:04:31 2016 +0100
   140.3 @@ -608,7 +608,7 @@
   140.4  
   140.5  lemma e_less_3: "exp 1 < (3::real)"
   140.6    using e_approx_32
   140.7 -  by (simp add: abs_if split: split_if_asm)
   140.8 +  by (simp add: abs_if split: if_split_asm)
   140.9  
  140.10  lemma ln3_gt_1: "ln 3 > (1::real)"
  140.11    by (metis e_less_3 exp_less_cancel_iff exp_ln_iff less_trans ln_exp)
  140.12 @@ -1088,7 +1088,7 @@
  140.13      then have "\<bar>Im w\<bar> < pi/2 \<longleftrightarrow> 0 < Re(exp w)"
  140.14        apply (auto simp: Re_exp zero_less_mult_iff cos_gt_zero_pi)
  140.15        using cos_lt_zero_pi [of "-(Im w)"] cos_lt_zero_pi [of "(Im w)"]
  140.16 -      apply (simp add: abs_if split: split_if_asm)
  140.17 +      apply (simp add: abs_if split: if_split_asm)
  140.18        apply (metis (no_types) cos_minus cos_pi_half eq_divide_eq_numeral1(1) eq_numeral_simps(4)
  140.19                 less_numeral_extra(3) linorder_neqE_linordered_idom minus_mult_minus minus_mult_right
  140.20                 mult_numeral_1_right)
  140.21 @@ -1110,7 +1110,7 @@
  140.22      then have "\<bar>Im w\<bar> \<le> pi/2 \<longleftrightarrow> 0 \<le> Re(exp w)"
  140.23        apply (auto simp: Re_exp zero_le_mult_iff cos_ge_zero)
  140.24        using cos_lt_zero_pi [of "- (Im w)"] cos_lt_zero_pi [of "(Im w)"] not_le
  140.25 -      apply (auto simp: abs_if split: split_if_asm)
  140.26 +      apply (auto simp: abs_if split: if_split_asm)
  140.27        done
  140.28    }
  140.29    then show ?thesis using assms
  140.30 @@ -1176,7 +1176,7 @@
  140.31  lemma cnj_Ln: "z \<notin> \<real>\<^sub>\<le>\<^sub>0 \<Longrightarrow> cnj(Ln z) = Ln(cnj z)"
  140.32    apply (cases "z=0", auto)
  140.33    apply (rule exp_complex_eqI)
  140.34 -  apply (auto simp: abs_if split: split_if_asm)
  140.35 +  apply (auto simp: abs_if split: if_split_asm)
  140.36    using Im_Ln_less_pi Im_Ln_le_pi apply force
  140.37    apply (metis complex_cnj_zero_iff diff_minus_eq_add diff_strict_mono minus_less_iff 
  140.38            mpi_less_Im_Ln mult.commute mult_2_right)
  140.39 @@ -1186,7 +1186,7 @@
  140.40    apply (cases "z=0", auto)
  140.41    apply (rule exp_complex_eqI)
  140.42    using mpi_less_Im_Ln [of z] mpi_less_Im_Ln [of "inverse z"]
  140.43 -  apply (auto simp: abs_if exp_minus split: split_if_asm)
  140.44 +  apply (auto simp: abs_if exp_minus split: if_split_asm)
  140.45    apply (metis Im_Ln_less_pi Im_Ln_le_pi add.commute add_mono_thms_linordered_field(3) inverse_nonzero_iff_nonzero mult_2)
  140.46    done
  140.47  
  140.48 @@ -1990,7 +1990,7 @@
  140.49      using nz1 nz2 by auto
  140.50    have "Im ((1 - \<i>*z) / (1 + \<i>*z)) = 0 \<Longrightarrow> 0 < Re ((1 - \<i>*z) / (1 + \<i>*z))"
  140.51      apply (simp add: divide_complex_def)
  140.52 -    apply (simp add: divide_simps split: split_if_asm)
  140.53 +    apply (simp add: divide_simps split: if_split_asm)
  140.54      using assms
  140.55      apply (auto simp: algebra_simps abs_square_less_1 [unfolded power2_eq_square])
  140.56      done
  140.57 @@ -2400,7 +2400,7 @@
  140.58    also have "... = z"
  140.59      apply (subst Complex_Transcendental.Ln_exp)
  140.60      using assms
  140.61 -    apply (auto simp: abs_if simp del: eq_divide_eq_numeral1 split: split_if_asm)
  140.62 +    apply (auto simp: abs_if simp del: eq_divide_eq_numeral1 split: if_split_asm)
  140.63      done
  140.64    finally show ?thesis .
  140.65  qed
   141.1 --- a/src/HOL/Multivariate_Analysis/Convex_Euclidean_Space.thy	Tue Feb 23 16:50:10 2016 +0100
   141.2 +++ b/src/HOL/Multivariate_Analysis/Convex_Euclidean_Space.thy	Tue Feb 23 18:04:31 2016 +0100
   141.3 @@ -3481,7 +3481,7 @@
   141.4      by (auto intro!: exI[of _ "(a + b) / 2"] simp: box_def)
   141.5    then show ?thesis
   141.6      using interior_rel_interior_gen[of "cbox a b", symmetric]
   141.7 -    by (simp split: split_if_asm del: box_real add: box_real[symmetric] interior_cbox)
   141.8 +    by (simp split: if_split_asm del: box_real add: box_real[symmetric] interior_cbox)
   141.9  qed
  141.10  
  141.11  lemma rel_interior_real_semiline:
  141.12 @@ -3491,7 +3491,7 @@
  141.13    have *: "{a<..} \<noteq> {}"
  141.14      unfolding set_eq_iff by (auto intro!: exI[of _ "a + 1"])
  141.15    then show ?thesis using interior_real_semiline interior_rel_interior_gen[of "{a..}"]
  141.16 -    by (auto split: split_if_asm)
  141.17 +    by (auto split: if_split_asm)
  141.18  qed
  141.19  
  141.20  subsubsection \<open>Relative open sets\<close>
  141.21 @@ -6583,7 +6583,7 @@
  141.22    shows "norm (x - a) < norm (b - a)"
  141.23  proof -
  141.24    obtain u where "x = (1 - u) *\<^sub>R a + u *\<^sub>R b" "0 < u" "u < 1" "a \<noteq> b"
  141.25 -    using assms by (auto simp add: open_segment_eq split: split_if_asm)
  141.26 +    using assms by (auto simp add: open_segment_eq split: if_split_asm)
  141.27    then show "norm (x - a) < norm (b - a)"
  141.28      apply clarify
  141.29      apply (auto simp: algebra_simps)
   142.1 --- a/src/HOL/Multivariate_Analysis/Derivative.thy	Tue Feb 23 16:50:10 2016 +0100
   142.2 +++ b/src/HOL/Multivariate_Analysis/Derivative.thy	Tue Feb 23 18:04:31 2016 +0100
   142.3 @@ -903,7 +903,7 @@
   142.4            unfolding y_def
   142.5            by (rule cSup_upper) simp
   142.6          thus False using \<open>d > 0\<close> \<open>y < b\<close>
   142.7 -          by (simp add: d'_def min_def split: split_if_asm)
   142.8 +          by (simp add: d'_def min_def split: if_split_asm)
   142.9        qed
  142.10      } moreover {
  142.11        assume "a = y"
  142.12 @@ -2691,7 +2691,7 @@
  142.13    from fx[OF \<open>x \<in> X\<close> \<open>y \<in> Y\<close>, unfolded has_derivative_within, THEN conjunct2, THEN tendstoD, OF \<open>0 < e\<close>]
  142.14    have "\<forall>\<^sub>F x' in at x within X. ?le x'"
  142.15      by eventually_elim
  142.16 -       (auto simp: dist_norm divide_simps blinfun.bilinear_simps field_simps split: split_if_asm)
  142.17 +       (auto simp: dist_norm divide_simps blinfun.bilinear_simps field_simps split: if_split_asm)
  142.18    then have "\<forall>\<^sub>F (x', y') in at (x, y) within X \<times> Y. ?le x'"
  142.19      by (rule eventually_at_Pair_within_TimesI1)
  142.20         (simp add: blinfun.bilinear_simps)
   143.1 --- a/src/HOL/Multivariate_Analysis/Euclidean_Space.thy	Tue Feb 23 16:50:10 2016 +0100
   143.2 +++ b/src/HOL/Multivariate_Analysis/Euclidean_Space.thy	Tue Feb 23 18:04:31 2016 +0100
   143.3 @@ -155,7 +155,7 @@
   143.4    "Basis = {1, ii}"
   143.5  
   143.6  instance
   143.7 -  by standard (auto simp add: Basis_complex_def intro: complex_eqI split: split_if_asm)
   143.8 +  by standard (auto simp add: Basis_complex_def intro: complex_eqI split: if_split_asm)
   143.9  
  143.10  end
  143.11  
  143.12 @@ -192,7 +192,7 @@
  143.13    assume "u \<in> Basis" and "v \<in> Basis"
  143.14    thus "inner u v = (if u = v then 1 else 0)"
  143.15      unfolding Basis_prod_def inner_prod_def
  143.16 -    by (auto simp add: inner_Basis split: split_if_asm)
  143.17 +    by (auto simp add: inner_Basis split: if_split_asm)
  143.18  next
  143.19    fix x :: "'a \<times> 'b"
  143.20    show "(\<forall>u\<in>Basis. inner x u = 0) \<longleftrightarrow> x = 0"
   144.1 --- a/src/HOL/Multivariate_Analysis/Gamma.thy	Tue Feb 23 16:50:10 2016 +0100
   144.2 +++ b/src/HOL/Multivariate_Analysis/Gamma.thy	Tue Feb 23 18:04:31 2016 +0100
   144.3 @@ -2218,7 +2218,7 @@
   144.4  lemma rGamma_reflection_complex:
   144.5    "rGamma z * rGamma (1 - z :: complex) = sin (of_real pi * z) / of_real pi"
   144.6    using Gamma_reflection_complex[of z]
   144.7 -    by (simp add: Gamma_def divide_simps split: split_if_asm)
   144.8 +    by (simp add: Gamma_def divide_simps split: if_split_asm)
   144.9  
  144.10  lemma rGamma_reflection_complex':
  144.11    "rGamma z * rGamma (- z :: complex) = -z * sin (of_real pi * z) / of_real pi"
   145.1 --- a/src/HOL/Multivariate_Analysis/Generalised_Binomial_Theorem.thy	Tue Feb 23 16:50:10 2016 +0100
   145.2 +++ b/src/HOL/Multivariate_Analysis/Generalised_Binomial_Theorem.thy	Tue Feb 23 18:04:31 2016 +0100
   145.3 @@ -167,7 +167,7 @@
   145.4      note A[OF this]
   145.5      also have "complex_of_real (-x + -y) = - complex_of_real (x + y)" by simp
   145.6      also from xy assms have "... powr a = (-1) powr -a * of_real (x + y) powr a"
   145.7 -      by (subst powr_neg_real_complex) (simp add: abs_real_def split: split_if_asm)
   145.8 +      by (subst powr_neg_real_complex) (simp add: abs_real_def split: if_split_asm)
   145.9      also {
  145.10        fix n :: nat
  145.11        from y have "(a gchoose n) * of_real (-x) ^ n * of_real (-y) powr (a - of_nat n) = 
  145.12 @@ -251,4 +251,4 @@
  145.13    "\<bar>z\<bar> < 1 \<Longrightarrow> (\<lambda>n. ((1/2) gchoose n) * z ^ n) sums sqrt (1 + z)"
  145.14    using gen_binomial_real[of z "1/2"] by (simp add: powr_half_sqrt)
  145.15  
  145.16 -end
  145.17 \ No newline at end of file
  145.18 +end
   146.1 --- a/src/HOL/Multivariate_Analysis/Integral_Test.thy	Tue Feb 23 16:50:10 2016 +0100
   146.2 +++ b/src/HOL/Multivariate_Analysis/Integral_Test.thy	Tue Feb 23 18:04:31 2016 +0100
   146.3 @@ -110,4 +110,4 @@
   146.4  
   146.5  end
   146.6  
   146.7 -end
   146.8 \ No newline at end of file
   146.9 +end
   147.1 --- a/src/HOL/Multivariate_Analysis/Integration.thy	Tue Feb 23 16:50:10 2016 +0100
   147.2 +++ b/src/HOL/Multivariate_Analysis/Integration.thy	Tue Feb 23 18:04:31 2016 +0100
   147.3 @@ -640,7 +640,7 @@
   147.4    shows "content s = 0 \<longleftrightarrow> (\<exists>i\<in>Basis. \<exists>v. \<forall>x \<in> s. x \<bullet> i = v)"  (is "_ = ?rhs")
   147.5  proof safe
   147.6    assume "content s = 0" then show ?rhs
   147.7 -    apply (clarsimp simp: ex_in_conv content_def split: split_if_asm)
   147.8 +    apply (clarsimp simp: ex_in_conv content_def split: if_split_asm)
   147.9      apply (rule_tac x=a in bexI)
  147.10      apply (rule_tac x="interval_lowerbound s \<bullet> a" in exI)
  147.11      apply (clarsimp simp: interval_upperbound_def interval_lowerbound_def)
  147.12 @@ -3213,7 +3213,7 @@
  147.13        by (rule setsum.mono_neutral_left) auto
  147.14      let ?M1 = "{(x, kk \<inter> {x. x\<bullet>k \<le> c}) |x kk. (x, kk) \<in> p \<and> kk \<inter> {x. x\<bullet>k \<le> c} \<noteq> {}}"
  147.15      have d1_fine: "d1 fine ?M1"
  147.16 -      by (force intro: fineI dest: fineD[OF p(2)] simp add: split: split_if_asm)
  147.17 +      by (force intro: fineI dest: fineD[OF p(2)] simp add: split: if_split_asm)
  147.18      have "norm ((\<Sum>(x, k)\<in>?M1. content k *\<^sub>R f x) - i) < e/2"
  147.19      proof (rule d1norm [OF tagged_division_ofI d1_fine])
  147.20        show "finite ?M1"
  147.21 @@ -3252,7 +3252,7 @@
  147.22      moreover
  147.23      let ?M2 = "{(x,kk \<inter> {x. x\<bullet>k \<ge> c}) |x kk. (x,kk) \<in> p \<and> kk \<inter> {x. x\<bullet>k \<ge> c} \<noteq> {}}"
  147.24      have d2_fine: "d2 fine ?M2"
  147.25 -      by (force intro: fineI dest: fineD[OF p(2)] simp add: split: split_if_asm)
  147.26 +      by (force intro: fineI dest: fineD[OF p(2)] simp add: split: if_split_asm)
  147.27      have "norm ((\<Sum>(x, k)\<in>?M2. content k *\<^sub>R f x) - j) < e/2"
  147.28      proof (rule d2norm [OF tagged_division_ofI d2_fine])
  147.29        show "finite ?M2"
  147.30 @@ -3749,10 +3749,10 @@
  147.31        apply (rule bexI[OF _ \<open>l \<in> d\<close>])
  147.32        using as(1-3,5) fstx
  147.33        unfolding l interval_bounds[OF **] interval_bounds[OF *] interval_split[OF k] as
  147.34 -      apply (auto split: split_if_asm)
  147.35 +      apply (auto split: if_split_asm)
  147.36        done
  147.37      show "snd x < b \<bullet> fst x"
  147.38 -      using as(2) \<open>c < b\<bullet>k\<close> by (auto split: split_if_asm)
  147.39 +      using as(2) \<open>c < b\<bullet>k\<close> by (auto split: if_split_asm)
  147.40    qed
  147.41    show ?t2
  147.42      unfolding division_points_def interval_split[OF k, of a b]
  147.43 @@ -3780,10 +3780,10 @@
  147.44        apply (rule bexI[OF _ \<open>l \<in> d\<close>])
  147.45        using as(1-3,5) fstx
  147.46        unfolding l interval_bounds[OF **] interval_bounds[OF *] interval_split[OF k] as
  147.47 -      apply (auto split: split_if_asm)
  147.48 +      apply (auto split: if_split_asm)
  147.49        done
  147.50      show "a \<bullet> fst x < snd x"
  147.51 -      using as(1) \<open>a\<bullet>k < c\<close> by (auto split: split_if_asm)
  147.52 +      using as(1) \<open>a\<bullet>k < c\<close> by (auto split: if_split_asm)
  147.53     qed
  147.54  qed
  147.55  
  147.56 @@ -4368,7 +4368,7 @@
  147.57      then show False
  147.58        unfolding inner_simps
  147.59        using rsum_component_le[OF p(1) le]
  147.60 -      by (simp add: abs_real_def split: split_if_asm)
  147.61 +      by (simp add: abs_real_def split: if_split_asm)
  147.62    qed
  147.63    show ?thesis
  147.64    proof (cases "\<exists>a b. s = cbox a b")
  147.65 @@ -4391,7 +4391,7 @@
  147.66        guess w1 using B(2)[OF ab(1)] .. note w1=conjunctD2[OF this]
  147.67        guess w2 using B(4)[OF ab(2)] .. note w2=conjunctD2[OF this]
  147.68        have *: "\<And>w1 w2 j i::real .\<bar>w1 - i\<bar> < (i - j) / 3 \<Longrightarrow> \<bar>w2 - j\<bar> < (i - j) / 3 \<Longrightarrow> w1 \<le> w2 \<Longrightarrow> False"
  147.69 -        by (simp add: abs_real_def split: split_if_asm)
  147.70 +        by (simp add: abs_real_def split: if_split_asm)
  147.71        note le_less_trans[OF Basis_le_norm[OF k]]
  147.72        note this[OF w1(2)] this[OF w2(2)]
  147.73        moreover
  147.74 @@ -6086,7 +6086,7 @@
  147.75    def Dg \<equiv> "\<lambda>n s. if n < p then (-1)^n * (b - s)^(p - 1 - n) / fact (p - 1 - n) else 0"
  147.76    have g0: "Dg 0 = g"
  147.77      using \<open>p > 0\<close>
  147.78 -    by (auto simp add: Dg_def divide_simps g_def split: split_if_asm)
  147.79 +    by (auto simp add: Dg_def divide_simps g_def split: if_split_asm)
  147.80    {
  147.81      fix m
  147.82      assume "p > Suc m"
  147.83 @@ -8476,7 +8476,7 @@
  147.84    shows "(f has_integral y) s \<longleftrightarrow> (f has_integral y) t"
  147.85    unfolding has_integral_restrict_univ[symmetric,of f]
  147.86    apply (rule has_integral_spike_eq[OF assms])
  147.87 -  by (auto split: split_if_asm)
  147.88 +  by (auto split: if_split_asm)
  147.89  
  147.90  lemma has_integral_spike_set[dest]:
  147.91    fixes f :: "'n::euclidean_space \<Rightarrow> 'a::banach"
  147.92 @@ -8998,7 +8998,7 @@
  147.93          \<bar>ga - i\<bar> < e / 3 \<and> \<bar>gc - i\<bar> < e / 3 \<and> \<bar>ha - j\<bar> < e / 3 \<and>
  147.94          \<bar>hc - j\<bar> < e / 3 \<and> \<bar>i - j\<bar> < e / 3 \<and> ga \<le> fa \<and> fa \<le> ha \<and> gc \<le> fc \<and> fc \<le> hc \<Longrightarrow>
  147.95          \<bar>fa - fc\<bar> < e"
  147.96 -        by (simp add: abs_real_def split: split_if_asm)
  147.97 +        by (simp add: abs_real_def split: if_split_asm)
  147.98        show "norm (integral (cbox a b) (\<lambda>x. if x \<in> s then f x else 0) - integral (cbox c d)
  147.99          (\<lambda>x. if x \<in> s then f x else 0)) < e"
 147.100          unfolding real_norm_def
   148.1 --- a/src/HOL/Multivariate_Analysis/Path_Connected.thy	Tue Feb 23 16:50:10 2016 +0100
   148.2 +++ b/src/HOL/Multivariate_Analysis/Path_Connected.thy	Tue Feb 23 18:04:31 2016 +0100
   148.3 @@ -504,7 +504,7 @@
   148.4    show ?thesis
   148.5      using assms
   148.6      apply (simp add: arc_def simple_path_def path_join, clarify)
   148.7 -    apply (simp add: joinpaths_def split: split_if_asm)
   148.8 +    apply (simp add: joinpaths_def split: if_split_asm)
   148.9      apply (force dest: inj_onD [OF injg1])
  148.10      apply (metis *)
  148.11      apply (metis **)
  148.12 @@ -542,7 +542,7 @@
  148.13    show ?thesis
  148.14      apply (simp add: arc_def inj_on_def)
  148.15      apply (clarsimp simp add: arc_imp_path assms path_join)
  148.16 -    apply (simp add: joinpaths_def split: split_if_asm)
  148.17 +    apply (simp add: joinpaths_def split: if_split_asm)
  148.18      apply (force dest: inj_onD [OF injg1])
  148.19      apply (metis *)
  148.20      apply (metis *)
  148.21 @@ -642,7 +642,7 @@
  148.22      then have "x = y \<or> x = u \<and> y = v \<or> x = v \<and> y = u"
  148.23      using sim [of "(x-u)/(v-u)" "(y-u)/(v-u)"] p
  148.24      by (auto simp: closed_segment_real_eq image_affinity_atLeastAtMost divide_simps
  148.25 -       split: split_if_asm)
  148.26 +       split: if_split_asm)
  148.27    } moreover
  148.28    have "path(subpath u v g) \<and> u\<noteq>v"
  148.29      using sim [of "1/3" "2/3"] p
  148.30 @@ -678,7 +678,7 @@
  148.31      then have "x = y"
  148.32      using sim [of "(x-u)/(v-u)" "(y-u)/(v-u)"] p
  148.33      by (force simp add: inj_on_def closed_segment_real_eq image_affinity_atLeastAtMost divide_simps
  148.34 -       split: split_if_asm)
  148.35 +       split: if_split_asm)
  148.36    } moreover
  148.37    have "path(subpath u v g) \<and> u\<noteq>v"
  148.38      using sim [of "1/3" "2/3"] p
  148.39 @@ -807,7 +807,7 @@
  148.40      apply (auto simp: closed_segment_eq_real_ivl pathstart_def pathfinish_def subpath_def)
  148.41      apply (rename_tac y)
  148.42      apply (drule_tac x="y/u" in spec)
  148.43 -    apply (auto split: split_if_asm)
  148.44 +    apply (auto split: if_split_asm)
  148.45      done
  148.46  qed
  148.47  
  148.48 @@ -1530,7 +1530,7 @@
  148.49      unfolding image_iff
  148.50      apply (rule_tac x=x in bexI)
  148.51      unfolding mem_Collect_eq
  148.52 -    apply (auto split: split_if_asm)
  148.53 +    apply (auto split: if_split_asm)
  148.54      done
  148.55    have "continuous_on (- {0}) (\<lambda>x::'a. 1 / norm x)"
  148.56      by (auto intro!: continuous_intros)
   149.1 --- a/src/HOL/Multivariate_Analysis/Uniform_Limit.thy	Tue Feb 23 16:50:10 2016 +0100
   149.2 +++ b/src/HOL/Multivariate_Analysis/Uniform_Limit.thy	Tue Feb 23 18:04:31 2016 +0100
   149.3 @@ -512,6 +512,7 @@
   149.4    unfolding uniformly_convergent_on_def
   149.5    by (blast dest: bounded_linear_uniform_limit_intros(13))
   149.6  
   149.7 +
   149.8  subsection\<open>Power series and uniform convergence\<close>
   149.9  
  149.10  proposition powser_uniformly_convergent:
  149.11 @@ -554,4 +555,5 @@
  149.12  apply (rule continuous_on_cong [THEN iffD1, OF refl _ powser_continuous_suminf [OF r]])
  149.13  using sm sums_unique by fastforce
  149.14  
  149.15 -end
  149.16 \ No newline at end of file
  149.17 +end
  149.18 +
   150.1 --- a/src/HOL/Multivariate_Analysis/ex/Approximations.thy	Tue Feb 23 16:50:10 2016 +0100
   150.2 +++ b/src/HOL/Multivariate_Analysis/ex/Approximations.thy	Tue Feb 23 18:04:31 2016 +0100
   150.3 @@ -333,7 +333,7 @@
   150.4      by (subst (asm) hsum_63) simp
   150.5    have "ln (64::real) = real (6::nat) * ln 2" by (subst ln_realpow[symmetric]) simp_all
   150.6    hence "ln (real_of_nat (Suc 63)) \<in> {4.158883083293<..<4.158883083367}" using ln_2_64
   150.7 -    by (simp add: abs_real_def split: split_if_asm)
   150.8 +    by (simp add: abs_real_def split: if_split_asm)
   150.9    from euler_mascheroni_bounds'[OF _ this]
  150.10      have "(euler_mascheroni :: real) \<in> {l<..<u}"
  150.11      by (simp add: hsum_63 del: greaterThanLessThan_iff) (simp only: l_def u_def)
   151.1 --- a/src/HOL/NSA/HyperDef.thy	Tue Feb 23 16:50:10 2016 +0100
   151.2 +++ b/src/HOL/NSA/HyperDef.thy	Tue Feb 23 18:04:31 2016 +0100
   151.3 @@ -276,7 +276,7 @@
   151.4  subsection\<open>Absolute Value Function for the Hyperreals\<close>
   151.5  
   151.6  lemma hrabs_add_less: "[| \<bar>x\<bar> < r; \<bar>y\<bar> < s |] ==> \<bar>x + y\<bar> < r + (s::hypreal)"
   151.7 -by (simp add: abs_if split: split_if_asm)
   151.8 +by (simp add: abs_if split: if_split_asm)
   151.9  
  151.10  lemma hrabs_less_gt_zero: "\<bar>x\<bar> < r ==> (0::hypreal) < r"
  151.11  by (blast intro!: order_le_less_trans abs_ge_zero)
  151.12 @@ -285,7 +285,7 @@
  151.13  by (simp add: abs_if)
  151.14  
  151.15  lemma hrabs_add_lemma_disj: "(y::hypreal) + - x + (y + - z) = \<bar>x + - z\<bar> ==> y = z | x = y"
  151.16 -by (simp add: abs_if split add: split_if_asm)
  151.17 +by (simp add: abs_if split add: if_split_asm)
  151.18  
  151.19  
  151.20  subsection\<open>Embedding the Naturals into the Hyperreals\<close>
   152.1 --- a/src/HOL/NanoJava/OpSem.thy	Tue Feb 23 16:50:10 2016 +0100
   152.2 +++ b/src/HOL/NanoJava/OpSem.thy	Tue Feb 23 18:04:31 2016 +0100
   152.3 @@ -109,4 +109,4 @@
   152.4  apply (fast elim: exec_elim_cases intro: exec_eval.Impl)
   152.5  done
   152.6  
   152.7 -end
   152.8 \ No newline at end of file
   152.9 +end
   153.1 --- a/src/HOL/NanoJava/TypeRel.thy	Tue Feb 23 16:50:10 2016 +0100
   153.2 +++ b/src/HOL/NanoJava/TypeRel.thy	Tue Feb 23 18:04:31 2016 +0100
   153.3 @@ -47,7 +47,7 @@
   153.4    "subcls1 = 
   153.5      (SIGMA C: {C. is_class C} . {D. C\<noteq>Object \<and> super (the (class C)) = D})"
   153.6  apply (unfold subcls1_def is_class_def)
   153.7 -apply (auto split:split_if_asm)
   153.8 +apply (auto split:if_split_asm)
   153.9  done
  153.10  
  153.11  lemma finite_subcls1: "finite subcls1"
   154.1 --- a/src/HOL/Nominal/Examples/Compile.thy	Tue Feb 23 16:50:10 2016 +0100
   154.2 +++ b/src/HOL/Nominal/Examples/Compile.thy	Tue Feb 23 18:04:31 2016 +0100
   154.3 @@ -253,4 +253,4 @@
   154.4  | "trans_type (\<tau>1\<rightarrow>\<tau>2) = (trans_type \<tau>1)\<rightarrow>(trans_type \<tau>2)"
   154.5    by (rule TrueI)+
   154.6  
   154.7 -end
   154.8 \ No newline at end of file
   154.9 +end
   155.1 --- a/src/HOL/Nominal/Examples/Pattern.thy	Tue Feb 23 16:50:10 2016 +0100
   155.2 +++ b/src/HOL/Nominal/Examples/Pattern.thy	Tue Feb 23 18:04:31 2016 +0100
   155.3 @@ -640,7 +640,7 @@
   155.4      apply simp
   155.5      apply (simp add: split_paired_all supp_eqvt)
   155.6      apply (drule perm_mem_left)
   155.7 -    apply (simp add: calc_atm split: split_if_asm)
   155.8 +    apply (simp add: calc_atm split: if_split_asm)
   155.9      apply (auto dest: perm_mem_right)
  155.10      done
  155.11  qed
   156.1 --- a/src/HOL/Nominal/Examples/SN.thy	Tue Feb 23 16:50:10 2016 +0100
   156.2 +++ b/src/HOL/Nominal/Examples/SN.thy	Tue Feb 23 18:04:31 2016 +0100
   156.3 @@ -578,4 +578,4 @@
   156.4    ultimately show "SN(t)" by (simp add: CR1_def)
   156.5  qed
   156.6  
   156.7 -end
   156.8 \ No newline at end of file
   156.9 +end
   157.1 --- a/src/HOL/Nominal/Examples/Standardization.thy	Tue Feb 23 16:50:10 2016 +0100
   157.2 +++ b/src/HOL/Nominal/Examples/Standardization.thy	Tue Feb 23 18:04:31 2016 +0100
   157.3 @@ -370,7 +370,7 @@
   157.4      (\<exists>t u us. x \<sharp> r \<longrightarrow> r = (Lam [x].t) \<and> rs = u # us \<and> s = t[x::=u] \<degree>\<degree> us)"
   157.5      apply (nominal_induct u \<equiv> "r \<degree>\<degree> rs" s avoiding: x r rs rule: beta.strong_induct)
   157.6      apply (simp add: App_eq_foldl_conv)
   157.7 -    apply (split split_if_asm)
   157.8 +    apply (split if_split_asm)
   157.9      apply simp
  157.10      apply blast
  157.11      apply simp
  157.12 @@ -391,12 +391,12 @@
  157.13      apply (rule refl)
  157.14      apply (simp add: abs_fresh fresh_atm fresh_left calc_atm subst_rename)
  157.15        apply (drule App_eq_foldl_conv [THEN iffD1])
  157.16 -      apply (split split_if_asm)
  157.17 +      apply (split if_split_asm)
  157.18         apply simp
  157.19         apply blast
  157.20        apply (force intro!: disjI1 [THEN append_step1I] simp add: fresh_list_append)
  157.21       apply (drule App_eq_foldl_conv [THEN iffD1])
  157.22 -     apply (split split_if_asm)
  157.23 +     apply (split if_split_asm)
  157.24        apply simp
  157.25        apply blast
  157.26       apply (clarify, auto 0 3 intro!: exI intro: append_step1I)
   158.1 --- a/src/HOL/Nominal/Examples/Support.thy	Tue Feb 23 16:50:10 2016 +0100
   158.2 +++ b/src/HOL/Nominal/Examples/Support.thy	Tue Feb 23 18:04:31 2016 +0100
   158.3 @@ -143,4 +143,4 @@
   158.4  
   158.5  text {* Moral: support is a sublte notion. *}
   158.6  
   158.7 -end
   158.8 \ No newline at end of file
   158.9 +end
   159.1 --- a/src/HOL/Nominal/Examples/VC_Condition.thy	Tue Feb 23 16:50:10 2016 +0100
   159.2 +++ b/src/HOL/Nominal/Examples/VC_Condition.thy	Tue Feb 23 18:04:31 2016 +0100
   159.3 @@ -207,4 +207,4 @@
   159.4    is in general an unsound reasoning principle.
   159.5    *}
   159.6  
   159.7 -end
   159.8 \ No newline at end of file
   159.9 +end
   160.1 --- a/src/HOL/Nominal/Examples/Weakening.thy	Tue Feb 23 16:50:10 2016 +0100
   160.2 +++ b/src/HOL/Nominal/Examples/Weakening.thy	Tue Feb 23 18:04:31 2016 +0100
   160.3 @@ -204,4 +204,4 @@
   160.4    and weakening_version2, and imagine you are proving something more substantial 
   160.5    than the weakening lemma. *}
   160.6  
   160.7 -end
   160.8 \ No newline at end of file
   160.9 +end
   161.1 --- a/src/HOL/NthRoot.thy	Tue Feb 23 16:50:10 2016 +0100
   161.2 +++ b/src/HOL/NthRoot.thy	Tue Feb 23 18:04:31 2016 +0100
   161.3 @@ -101,7 +101,7 @@
   161.4    have x: "\<And>a b :: real. (0 < b \<and> a < 0) \<Longrightarrow> \<not> a > b" by auto
   161.5    fix a b :: real assume "0 < n" "sgn a * \<bar>a\<bar> ^ n < sgn b * \<bar>b\<bar> ^ n" then show "a < b"
   161.6      using power_less_imp_less_base[of a n b]  power_less_imp_less_base[of "-b" n "-a"]
   161.7 -    by (simp add: sgn_real_def x [of "a ^ n" "- ((- b) ^ n)"] split: split_if_asm)
   161.8 +    by (simp add: sgn_real_def x [of "a ^ n" "- ((- b) ^ n)"] split: if_split_asm)
   161.9  qed
  161.10  
  161.11  lemma real_root_gt_zero: "\<lbrakk>0 < n; 0 < x\<rbrakk> \<Longrightarrow> 0 < root n x"
  161.12 @@ -122,13 +122,13 @@
  161.13    by (auto split: split_root simp: sgn_real_def)
  161.14  
  161.15  lemma odd_real_root_pow: "odd n \<Longrightarrow> root n x ^ n = x"
  161.16 -  using sgn_power_root[of n x] by (simp add: odd_pos sgn_real_def split: split_if_asm)
  161.17 +  using sgn_power_root[of n x] by (simp add: odd_pos sgn_real_def split: if_split_asm)
  161.18  
  161.19  lemma real_root_power_cancel: "\<lbrakk>0 < n; 0 \<le> x\<rbrakk> \<Longrightarrow> root n (x ^ n) = x"
  161.20    using root_sgn_power[of n x] by (auto simp add: le_less power_0_left)
  161.21  
  161.22  lemma odd_real_root_power_cancel: "odd n \<Longrightarrow> root n (x ^ n) = x"
  161.23 -  using root_sgn_power[of n x] by (simp add: odd_pos sgn_real_def power_0_left split: split_if_asm)
  161.24 +  using root_sgn_power[of n x] by (simp add: odd_pos sgn_real_def power_0_left split: if_split_asm)
  161.25  
  161.26  lemma real_root_pos_unique: "\<lbrakk>0 < n; 0 \<le> y; y ^ n = x\<rbrakk> \<Longrightarrow> root n x = y"
  161.27    using root_sgn_power[of n y] by (auto simp add: le_less power_0_left)
   162.1 --- a/src/HOL/Partial_Function.thy	Tue Feb 23 16:50:10 2016 +0100
   162.2 +++ b/src/HOL/Partial_Function.thy	Tue Feb 23 18:04:31 2016 +0100
   162.3 @@ -304,7 +304,7 @@
   162.4      and P [rule_format]: "\<forall>f\<in>A. \<forall>x. f x \<noteq> c \<longrightarrow> P x (f x)"
   162.5      and defined: "fun_lub (flat_lub c) A x \<noteq> c"
   162.6    from defined obtain f where f: "f \<in> A" "f x \<noteq> c"
   162.7 -    by(auto simp add: fun_lub_def flat_lub_def split: split_if_asm)
   162.8 +    by(auto simp add: fun_lub_def flat_lub_def split: if_split_asm)
   162.9    hence "P x (f x)" by(rule P)
  162.10    moreover from chain f have "\<forall>f' \<in> A. f' x = c \<or> f' x = f x"
  162.11      by(auto 4 4 simp add: Complete_Partial_Order.chain_def flat_ord_def fun_ord_def)
   163.1 --- a/src/HOL/Predicate.thy	Tue Feb 23 16:50:10 2016 +0100
   163.2 +++ b/src/HOL/Predicate.thy	Tue Feb 23 18:04:31 2016 +0100
   163.3 @@ -346,11 +346,11 @@
   163.4  
   163.5  lemma not_predE: "eval (not_pred (Pred (\<lambda>u. P))) x \<Longrightarrow> (\<not> P \<Longrightarrow> thesis) \<Longrightarrow> thesis"
   163.6    unfolding not_pred_eq
   163.7 -  by (auto split: split_if_asm elim: botE)
   163.8 +  by (auto split: if_split_asm elim: botE)
   163.9  
  163.10  lemma not_predE': "eval (not_pred P) x \<Longrightarrow> (\<not> eval P x \<Longrightarrow> thesis) \<Longrightarrow> thesis"
  163.11    unfolding not_pred_eq
  163.12 -  by (auto split: split_if_asm elim: botE)
  163.13 +  by (auto split: if_split_asm elim: botE)
  163.14  lemma "f () = False \<or> f () = True"
  163.15  by simp
  163.16  
   164.1 --- a/src/HOL/Predicate_Compile.thy	Tue Feb 23 16:50:10 2016 +0100
   164.2 +++ b/src/HOL/Predicate_Compile.thy	Tue Feb 23 18:04:31 2016 +0100
   164.3 @@ -59,7 +59,7 @@
   164.4  lemma contains_predE: 
   164.5    assumes "Predicate.eval (contains_pred A x) y"
   164.6    obtains "contains A x"
   164.7 -using assms by(simp add: contains_pred_def contains_def split: split_if_asm)
   164.8 +using assms by(simp add: contains_pred_def contains_def split: if_split_asm)
   164.9  
  164.10  lemma contains_pred_eq: "contains_pred \<equiv> \<lambda>A x. Predicate.Pred (\<lambda>y. contains A x)"
  164.11  by(rule eq_reflection)(auto simp add: contains_pred_def fun_eq_iff contains_def intro: pred_eqI)
   165.1 --- a/src/HOL/Predicate_Compile_Examples/Context_Free_Grammar_Example.thy	Tue Feb 23 16:50:10 2016 +0100
   165.2 +++ b/src/HOL/Predicate_Compile_Examples/Context_Free_Grammar_Example.thy	Tue Feb 23 18:04:31 2016 +0100
   165.3 @@ -171,4 +171,4 @@
   165.4  hide_const a b
   165.5  
   165.6  
   165.7 -end
   165.8 \ No newline at end of file
   165.9 +end
   166.1 --- a/src/HOL/Predicate_Compile_Examples/Hotel_Example.thy	Tue Feb 23 16:50:10 2016 +0100
   166.2 +++ b/src/HOL/Predicate_Compile_Examples/Hotel_Example.thy	Tue Feb 23 18:04:31 2016 +0100
   166.3 @@ -88,4 +88,4 @@
   166.4  
   166.5  lemmas issued_simps[code, code_pred_def] = issued_nil issued.simps(2)
   166.6  
   166.7 -end
   166.8 \ No newline at end of file
   166.9 +end
   167.1 --- a/src/HOL/Predicate_Compile_Examples/Hotel_Example_Prolog.thy	Tue Feb 23 16:50:10 2016 +0100
   167.2 +++ b/src/HOL/Predicate_Compile_Examples/Hotel_Example_Prolog.thy	Tue Feb 23 18:04:31 2016 +0100
   167.3 @@ -154,4 +154,4 @@
   167.4  quickcheck[tester = prolog, iterations = 1, expect = counterexample]
   167.5  oops
   167.6  
   167.7 -end
   167.8 \ No newline at end of file
   167.9 +end
   168.1 --- a/src/HOL/Predicate_Compile_Examples/Hotel_Example_Small_Generator.thy	Tue Feb 23 16:50:10 2016 +0100
   168.2 +++ b/src/HOL/Predicate_Compile_Examples/Hotel_Example_Small_Generator.thy	Tue Feb 23 18:04:31 2016 +0100
   168.3 @@ -63,4 +63,4 @@
   168.4  oops
   168.5  
   168.6  
   168.7 -end
   168.8 \ No newline at end of file
   168.9 +end
   169.1 --- a/src/HOL/Predicate_Compile_Examples/List_Examples.thy	Tue Feb 23 16:50:10 2016 +0100
   169.2 +++ b/src/HOL/Predicate_Compile_Examples/List_Examples.thy	Tue Feb 23 18:04:31 2016 +0100
   169.3 @@ -27,4 +27,4 @@
   169.4  quickcheck[tester = prolog, expect = counterexample]
   169.5  oops
   169.6  
   169.7 -end
   169.8 \ No newline at end of file
   169.9 +end
   170.1 --- a/src/HOL/Probability/Binary_Product_Measure.thy	Tue Feb 23 16:50:10 2016 +0100
   170.2 +++ b/src/HOL/Probability/Binary_Product_Measure.thy	Tue Feb 23 18:04:31 2016 +0100
   170.3 @@ -169,7 +169,7 @@
   170.4    have "Pair x -` A = (if x \<in> space M1 then Pair x -` A \<inter> space M2 else {})"
   170.5      using A[THEN sets.sets_into_space] by (auto simp: space_pair_measure)
   170.6    also have "\<dots> \<in> sets M2"
   170.7 -    using A by (auto simp add: measurable_Pair1' intro!: measurable_sets split: split_if_asm)
   170.8 +    using A by (auto simp add: measurable_Pair1' intro!: measurable_sets split: if_split_asm)
   170.9    finally show ?thesis .
  170.10  qed
  170.11  
  170.12 @@ -181,7 +181,7 @@
  170.13    have "(\<lambda>x. (x, y)) -` A = (if y \<in> space M2 then (\<lambda>x. (x, y)) -` A \<inter> space M1 else {})"
  170.14      using A[THEN sets.sets_into_space] by (auto simp: space_pair_measure)
  170.15    also have "\<dots> \<in> sets M1"
  170.16 -    using A by (auto simp add: measurable_Pair2' intro!: measurable_sets split: split_if_asm)
  170.17 +    using A by (auto simp add: measurable_Pair2' intro!: measurable_sets split: if_split_asm)
  170.18    finally show ?thesis .
  170.19  qed
  170.20  
   171.1 --- a/src/HOL/Probability/Bochner_Integration.thy	Tue Feb 23 16:50:10 2016 +0100
   171.2 +++ b/src/HOL/Probability/Bochner_Integration.thy	Tue Feb 23 18:04:31 2016 +0100
   171.3 @@ -165,7 +165,7 @@
   171.4    shows setsum_mult_indicator[simp]: "(\<Sum>x \<in> A. f x * indicator (B x) (g x)) = (\<Sum>x\<in>{x\<in>A. g x \<in> B x}. f x)"
   171.5    and setsum_indicator_mult[simp]: "(\<Sum>x \<in> A. indicator (B x) (g x) * f x) = (\<Sum>x\<in>{x\<in>A. g x \<in> B x}. f x)"
   171.6    unfolding indicator_def
   171.7 -  using assms by (auto intro!: setsum.mono_neutral_cong_right split: split_if_asm)
   171.8 +  using assms by (auto intro!: setsum.mono_neutral_cong_right split: if_split_asm)
   171.9  
  171.10  lemma borel_measurable_induct_real[consumes 2, case_names set mult add seq]:
  171.11    fixes P :: "('a \<Rightarrow> real) \<Rightarrow> bool"
   172.1 --- a/src/HOL/Probability/Borel_Space.thy	Tue Feb 23 16:50:10 2016 +0100
   172.2 +++ b/src/HOL/Probability/Borel_Space.thy	Tue Feb 23 18:04:31 2016 +0100
   172.3 @@ -970,7 +970,7 @@
   172.4    fix a :: real and i :: 'a assume "(a, i) \<in> UNIV \<times> Basis"
   172.5    then have "i \<in> Basis" by auto
   172.6    then have *: "{x::'a. x\<bullet>i \<le> a} = (\<Union>k::nat. {.. (\<Sum>n\<in>Basis. (if n = i then a else real k)*\<^sub>R n)})"
   172.7 -  proof (safe, simp_all add: eucl_le[where 'a='a] split: split_if_asm)
   172.8 +  proof (safe, simp_all add: eucl_le[where 'a='a] split: if_split_asm)
   172.9      fix x :: 'a
  172.10      from real_arch_simple[of "Max ((\<lambda>i. x\<bullet>i)`Basis)"] guess k::nat ..
  172.11      then have "\<And>i. i \<in> Basis \<Longrightarrow> x\<bullet>i \<le> real k"
  172.12 @@ -991,7 +991,7 @@
  172.13    have "{x::'a. x\<bullet>i \<le> a} = UNIV - {x::'a. a < x\<bullet>i}" by auto
  172.14    also have *: "{x::'a. a < x\<bullet>i} =
  172.15        (\<Union>k::nat. {x. (\<Sum>n\<in>Basis. (if n = i then a else -real k) *\<^sub>R n) <e x})" using i
  172.16 -  proof (safe, simp_all add: eucl_less_def split: split_if_asm)
  172.17 +  proof (safe, simp_all add: eucl_less_def split: if_split_asm)
  172.18      fix x :: 'a
  172.19      from reals_Archimedean2[of "Max ((\<lambda>i. -x\<bullet>i)`Basis)"]
  172.20      guess k::nat .. note k = this
  172.21 @@ -1017,7 +1017,7 @@
  172.22    then have i: "i \<in> Basis" by auto
  172.23    have "{x::'a. a \<le> x\<bullet>i} = UNIV - {x::'a. x\<bullet>i < a}" by auto
  172.24    also have *: "{x::'a. x\<bullet>i < a} = (\<Union>k::nat. {x. x <e (\<Sum>n\<in>Basis. (if n = i then a else real k) *\<^sub>R n)})" using \<open>i\<in> Basis\<close>
  172.25 -  proof (safe, simp_all add: eucl_less_def split: split_if_asm)
  172.26 +  proof (safe, simp_all add: eucl_less_def split: if_split_asm)
  172.27      fix x :: 'a
  172.28      from reals_Archimedean2[of "Max ((\<lambda>i. x\<bullet>i)`Basis)"]
  172.29      guess k::nat .. note k = this
  172.30 @@ -1454,7 +1454,7 @@
  172.31    { fix x have "H (f x) (g x) = ?F x" by (cases "f x" "g x" rule: ereal2_cases) auto }
  172.32    note * = this
  172.33    from assms show ?thesis
  172.34 -    by (subst *) (simp del: space_borel split del: split_if)
  172.35 +    by (subst *) (simp del: space_borel split del: if_split)
  172.36  qed
  172.37  
  172.38  lemma borel_measurable_ereal_iff:
   173.1 --- a/src/HOL/Probability/Caratheodory.thy	Tue Feb 23 16:50:10 2016 +0100
   173.2 +++ b/src/HOL/Probability/Caratheodory.thy	Tue Feb 23 18:04:31 2016 +0100
   173.3 @@ -713,7 +713,7 @@
   173.4      then have "disjoint_family F"
   173.5        using F'_disj by (auto simp: disjoint_family_on_def)
   173.6      moreover from F' have "(\<Union>i. F i) = \<Union>C"
   173.7 -      by (auto simp add: F_def split: split_if_asm) blast
   173.8 +      by (auto simp add: F_def split: if_split_asm) blast
   173.9      moreover have sets_F: "\<And>i. F i \<in> M"
  173.10        using F' sets_C by (auto simp: F_def)
  173.11      moreover note sets_C
   174.1 --- a/src/HOL/Probability/Complete_Measure.thy	Tue Feb 23 16:50:10 2016 +0100
   174.2 +++ b/src/HOL/Probability/Complete_Measure.thy	Tue Feb 23 18:04:31 2016 +0100
   174.3 @@ -113,15 +113,15 @@
   174.4      and main_part_null_part_Un[simp]: "main_part M S \<union> null_part M S = S"
   174.5      and main_part_null_part_Int[simp]: "main_part M S \<inter> null_part M S = {}"
   174.6    using split_completion[OF assms]
   174.7 -  by (auto simp: split_completion_def split: split_if_asm)
   174.8 +  by (auto simp: split_completion_def split: if_split_asm)
   174.9  
  174.10  lemma main_part[simp]: "S \<in> sets M \<Longrightarrow> main_part M S = S"
  174.11    using split_completion[of S M]
  174.12 -  by (auto simp: split_completion_def split: split_if_asm)
  174.13 +  by (auto simp: split_completion_def split: if_split_asm)
  174.14  
  174.15  lemma null_part:
  174.16    assumes "S \<in> sets (completion M)" shows "\<exists>N. N\<in>null_sets M \<and> null_part M S \<subseteq> N"
  174.17 -  using split_completion[OF assms] by (auto simp: split_completion_def split: split_if_asm)
  174.18 +  using split_completion[OF assms] by (auto simp: split_completion_def split: if_split_asm)
  174.19  
  174.20  lemma null_part_sets[intro, simp]:
  174.21    assumes "S \<in> sets M" shows "null_part M S \<in> sets M" "emeasure M (null_part M S) = 0"
  174.22 @@ -202,7 +202,7 @@
  174.23    shows "emeasure (completion M) (S \<union> T) = emeasure M (main_part M S \<union> main_part M T)"
  174.24  proof (subst emeasure_completion)
  174.25    have UN: "(\<Union>i. binary (main_part M S) (main_part M T) i) = (\<Union>i. main_part M (binary S T i))"
  174.26 -    unfolding binary_def by (auto split: split_if_asm)
  174.27 +    unfolding binary_def by (auto split: if_split_asm)
  174.28    show "emeasure M (main_part M (S \<union> T)) = emeasure M (main_part M S \<union> main_part M T)"
  174.29      using emeasure_main_part_UN[of "binary S T" M] assms
  174.30      by (simp add: range_binary_eq, simp add: Un_range_binary UN)
  174.31 @@ -238,7 +238,7 @@
  174.32        (if x \<in> ?N then ?F undefined \<union> ?N
  174.33         else if f x = undefined then ?F (f x) \<union> ?N
  174.34         else ?F (f x) - ?N)"
  174.35 -      using N(2) sets.sets_into_space by (auto split: split_if_asm simp: null_sets_def)
  174.36 +      using N(2) sets.sets_into_space by (auto split: if_split_asm simp: null_sets_def)
  174.37      moreover { fix y have "?F y \<union> ?N \<in> sets M"
  174.38        proof cases
  174.39          assume y: "y \<in> f`space M"
   175.1 --- a/src/HOL/Probability/Discrete_Topology.thy	Tue Feb 23 16:50:10 2016 +0100
   175.2 +++ b/src/HOL/Probability/Discrete_Topology.thy	Tue Feb 23 18:04:31 2016 +0100
   175.3 @@ -34,7 +34,7 @@
   175.4  proof
   175.5    fix X::"nat\<Rightarrow>'a discrete" assume "Cauchy X"
   175.6    hence "\<exists>n. \<forall>m\<ge>n. X n = X m"
   175.7 -    by (force simp: dist_discrete_def Cauchy_def split: split_if_asm dest:spec[where x=1])
   175.8 +    by (force simp: dist_discrete_def Cauchy_def split: if_split_asm dest:spec[where x=1])
   175.9    then guess n ..
  175.10    thus "convergent X"
  175.11      by (intro convergentI[where L="X n"] tendstoI eventually_sequentiallyI[of n])
   176.1 --- a/src/HOL/Probability/Distributions.thy	Tue Feb 23 16:50:10 2016 +0100
   176.2 +++ b/src/HOL/Probability/Distributions.thy	Tue Feb 23 18:04:31 2016 +0100
   176.3 @@ -354,7 +354,7 @@
   176.4      then have "AE x in lborel. x \<le> (0::real)"
   176.5        apply eventually_elim
   176.6        using \<open>l < 0\<close>
   176.7 -      apply (auto simp: exponential_density_def zero_le_mult_iff split: split_if_asm)
   176.8 +      apply (auto simp: exponential_density_def zero_le_mult_iff split: if_split_asm)
   176.9        done
  176.10      then show "emeasure lborel {x :: real \<in> space lborel. 0 < x} = 0"
  176.11        by (subst (asm) AE_iff_measurable[OF _ refl]) (auto simp: not_le greaterThan_def[symmetric])
  176.12 @@ -543,7 +543,7 @@
  176.13      have 3: "1 = integral\<^sup>N lborel (\<lambda>xa. ?LHS xa * indicator {0<..} xa)"
  176.14        by (subst 2[symmetric])
  176.15           (auto intro!: nn_integral_cong_AE AE_I[where N="{0}"]
  176.16 -               simp: erlang_density_def  nn_integral_multc[symmetric] indicator_def split: split_if_asm)
  176.17 +               simp: erlang_density_def  nn_integral_multc[symmetric] indicator_def split: if_split_asm)
  176.18      also have "... = integral\<^sup>N lborel (\<lambda>x. (ereal (?C) * ?I) * ((erlang_density ?s l x) * indicator {0<..} x))"
  176.19        by (auto intro!: nn_integral_cong simp: * split: split_indicator)
  176.20      also have "... = ereal (?C) * ?I"
   177.1 --- a/src/HOL/Probability/Fin_Map.thy	Tue Feb 23 16:50:10 2016 +0100
   177.2 +++ b/src/HOL/Probability/Fin_Map.thy	Tue Feb 23 18:04:31 2016 +0100
   177.3 @@ -194,7 +194,7 @@
   177.4    moreover assume "\<forall>S. open S \<longrightarrow> a \<in> S \<longrightarrow> eventually (\<lambda>x. x \<in> S) F" "a i \<in> S"
   177.5    ultimately have "eventually (\<lambda>x. x \<in> ?S) F" by auto
   177.6    thus "eventually (\<lambda>x. (x)\<^sub>F i \<in> S) F"
   177.7 -    by eventually_elim (insert \<open>a i \<in> S\<close>, force simp: Pi'_iff split: split_if_asm)
   177.8 +    by eventually_elim (insert \<open>a i \<in> S\<close>, force simp: Pi'_iff split: if_split_asm)
   177.9  qed
  177.10  
  177.11  lemma continuous_proj:
  177.12 @@ -298,7 +298,7 @@
  177.13  
  177.14  lemma dist_le_1_imp_domain_eq:
  177.15    shows "dist P Q < 1 \<Longrightarrow> domain P = domain Q"
  177.16 -  by (simp add: dist_finmap_def finite_proj_diag split: split_if_asm)
  177.17 +  by (simp add: dist_finmap_def finite_proj_diag split: if_split_asm)
  177.18  
  177.19  lemma dist_proj:
  177.20    shows "dist ((x)\<^sub>F i) ((y)\<^sub>F i) \<le> dist x y"
  177.21 @@ -724,7 +724,7 @@
  177.22        by (auto intro!: exI[where x="to_nat l"])
  177.23    next
  177.24      fix x n assume "x \<in> (let s = set (from_nat n) in if P s then f s else {})"
  177.25 -    thus "x \<in> \<Union>{f s|s. P s}" using assms by (auto simp: Let_def split: split_if_asm)
  177.26 +    thus "x \<in> \<Union>{f s|s. P s}" using assms by (auto simp: Let_def split: if_split_asm)
  177.27    qed
  177.28    hence "\<Union>{f s|s. P s} = (\<Union>n. let s = set (from_nat n) in if P s then f s else {})" by simp
  177.29    also have "\<dots> \<in> sets M" using assms by (auto simp: Let_def)
  177.30 @@ -975,7 +975,7 @@
  177.31      by auto
  177.32    then have "A = (\<Pi>' j \<in> I. if j = i then B else space (M j))"
  177.33      using sets.sets_into_space[OF A(3)]
  177.34 -    apply (auto simp: Pi'_iff split: split_if_asm)
  177.35 +    apply (auto simp: Pi'_iff split: if_split_asm)
  177.36      apply blast
  177.37      done
  177.38    also have "\<dots> \<in> sigma_sets ?\<Omega> {Pi' I X |X. X \<in> (\<Pi> j\<in>I. sets (M j))}"
  177.39 @@ -1050,7 +1050,7 @@
  177.40        proof
  177.41          fix A assume A: "A \<in> E i"
  177.42          then have "(\<lambda>x. (x)\<^sub>F i) -` A \<inter> space ?P = (\<Pi>' j\<in>I. if i = j then A else space (M j))"
  177.43 -          using E_closed \<open>i \<in> I\<close> by (auto simp: space_P Pi_iff subset_eq split: split_if_asm)
  177.44 +          using E_closed \<open>i \<in> I\<close> by (auto simp: space_P Pi_iff subset_eq split: if_split_asm)
  177.45          also have "\<dots> = (\<Pi>' j\<in>I. \<Union>n. if i = j then A else S j n)"
  177.46            by (intro Pi'_cong) (simp_all add: S_union)
  177.47          also have "\<dots> = (\<Union>xs\<in>{xs. length xs = card I}. \<Pi>' j\<in>I. if i = j then A else S j (xs ! T j))"
   178.1 --- a/src/HOL/Probability/Finite_Product_Measure.thy	Tue Feb 23 16:50:10 2016 +0100
   178.2 +++ b/src/HOL/Probability/Finite_Product_Measure.thy	Tue Feb 23 18:04:31 2016 +0100
   178.3 @@ -131,7 +131,7 @@
   178.4  
   178.5  lemma prod_emb_PiE: "J \<subseteq> I \<Longrightarrow> (\<And>i. i \<in> J \<Longrightarrow> E i \<subseteq> space (M i)) \<Longrightarrow>
   178.6      prod_emb I M J (\<Pi>\<^sub>E i\<in>J. E i) = (\<Pi>\<^sub>E i\<in>I. if i \<in> J then E i else space (M i))"
   178.7 -  by (force simp: prod_emb_def PiE_iff split_if_mem2)
   178.8 +  by (force simp: prod_emb_def PiE_iff if_split_mem2)
   178.9  
  178.10  lemma prod_emb_PiE_same_index[simp]:
  178.11      "(\<And>i. i \<in> I \<Longrightarrow> E i \<subseteq> space (M i)) \<Longrightarrow> prod_emb I M I (Pi\<^sub>E I E) = Pi\<^sub>E I E"
  178.12 @@ -145,7 +145,7 @@
  178.13    assumes "X \<in> (\<Pi> j\<in>J. sets (M j))" "J \<subseteq> K"
  178.14    shows "prod_emb K M J (Pi\<^sub>E J X) = (\<Pi>\<^sub>E i\<in>K. if i \<in> J then X i else space (M i))"
  178.15    using assms sets.space_closed
  178.16 -  by (auto simp: prod_emb_def PiE_iff split: split_if_asm) blast+
  178.17 +  by (auto simp: prod_emb_def PiE_iff split: if_split_asm) blast+
  178.18  
  178.19  lemma prod_emb_id:
  178.20    "B \<subseteq> (\<Pi>\<^sub>E i\<in>L. space (M i)) \<Longrightarrow> prod_emb L M L B = B"
  178.21 @@ -202,7 +202,7 @@
  178.22  next
  178.23    case (4 x)
  178.24    thus ?case using assms 
  178.25 -    by (auto intro!: setprod.cong split: split_if_asm)
  178.26 +    by (auto intro!: setprod.cong split: if_split_asm)
  178.27  qed
  178.28  
  178.29  
  178.30 @@ -581,7 +581,7 @@
  178.31    fix A assume "A \<in> sets (M i)"
  178.32    then have "(\<lambda>x. x i) -` A \<inter> space (Pi\<^sub>M I M) = prod_emb I M {i} (\<Pi>\<^sub>E j\<in>{i}. A)"
  178.33      using sets.sets_into_space \<open>i \<in> I\<close>
  178.34 -    by (fastforce dest: Pi_mem simp: prod_emb_def space_PiM split: split_if_asm)
  178.35 +    by (fastforce dest: Pi_mem simp: prod_emb_def space_PiM split: if_split_asm)
  178.36    then show "(\<lambda>x. x i) -` A \<inter> space (Pi\<^sub>M I M) \<in> sets (Pi\<^sub>M I M)"
  178.37      using \<open>A \<in> sets (M i)\<close> \<open>i \<in> I\<close> by (auto intro!: sets_PiM_I)
  178.38  qed (insert \<open>i \<in> I\<close>, auto simp: space_PiM)
  178.39 @@ -911,13 +911,13 @@
  178.40        by (intro emeasure_distr measurable_add_dim sets_PiM_I) fact+
  178.41      also have "?h -` ?p \<inter> space (Pi\<^sub>M I M \<Otimes>\<^sub>M M i) = ?p' \<times> (if i \<in> J then E i else space (M i))"
  178.42        using J E[rule_format, THEN sets.sets_into_space]
  178.43 -      by (force simp: space_pair_measure space_PiM prod_emb_iff PiE_def Pi_iff split: split_if_asm)
  178.44 +      by (force simp: space_pair_measure space_PiM prod_emb_iff PiE_def Pi_iff split: if_split_asm)
  178.45      also have "emeasure (Pi\<^sub>M I M \<Otimes>\<^sub>M (M i)) (?p' \<times> (if i \<in> J then E i else space (M i))) =
  178.46        emeasure (Pi\<^sub>M I M) ?p' * emeasure (M i) (if i \<in> J then (E i) else space (M i))"
  178.47        using J E by (intro M.emeasure_pair_measure_Times sets_PiM_I) auto
  178.48      also have "?p' = (\<Pi>\<^sub>E j\<in>I. if j \<in> J-{i} then E j else space (M j))"
  178.49        using J E[rule_format, THEN sets.sets_into_space]
  178.50 -      by (auto simp: prod_emb_iff PiE_def Pi_iff split: split_if_asm) blast+
  178.51 +      by (auto simp: prod_emb_iff PiE_def Pi_iff split: if_split_asm) blast+
  178.52      also have "emeasure (Pi\<^sub>M I M) (\<Pi>\<^sub>E j\<in>I. if j \<in> J-{i} then E j else space (M j)) =
  178.53        (\<Prod> j\<in>I. if j \<in> J-{i} then emeasure (M j) (E j) else emeasure (M j) (space (M j)))"
  178.54        using E by (subst insert) (auto intro!: setprod.cong)
   179.1 --- a/src/HOL/Probability/Independent_Family.thy	Tue Feb 23 16:50:10 2016 +0100
   179.2 +++ b/src/HOL/Probability/Independent_Family.thy	Tue Feb 23 18:04:31 2016 +0100
   179.3 @@ -155,7 +155,7 @@
   179.4              next
   179.5                assume "J \<noteq> {j}"
   179.6                have "prob (\<Inter>i\<in>J. A i) = prob ((\<Inter>i\<in>J-{j}. A i) \<inter> X)"
   179.7 -                using \<open>j \<in> J\<close> \<open>A j = X\<close> by (auto intro!: arg_cong[where f=prob] split: split_if_asm)
   179.8 +                using \<open>j \<in> J\<close> \<open>A j = X\<close> by (auto intro!: arg_cong[where f=prob] split: if_split_asm)
   179.9                also have "\<dots> = prob X * (\<Prod>i\<in>J-{j}. prob (A i))"
  179.10                proof (rule indep)
  179.11                  show "J - {j} \<noteq> {}" "J - {j} \<subseteq> K" "finite (J - {j})" "j \<notin> J - {j}"
  179.12 @@ -172,7 +172,7 @@
  179.13              qed
  179.14            next
  179.15              assume "j \<notin> J"
  179.16 -            with J have "\<forall>i\<in>J. A i \<in> G i" by (auto split: split_if_asm)
  179.17 +            with J have "\<forall>i\<in>J. A i \<in> G i" by (auto split: if_split_asm)
  179.18              with J show ?thesis
  179.19                by (intro indep_setsD[OF G(1)]) auto
  179.20            qed
  179.21 @@ -192,10 +192,10 @@
  179.22            have "prob ((\<Inter>j\<in>J. A j) \<inter> (space M - X)) =
  179.23                prob ((\<Inter>j\<in>J. A j) - (\<Inter>i\<in>insert j J. (A(j := X)) i))"
  179.24              using A_sets sets.sets_into_space[of _ M] X \<open>J \<noteq> {}\<close>
  179.25 -            by (auto intro!: arg_cong[where f=prob] split: split_if_asm)
  179.26 +            by (auto intro!: arg_cong[where f=prob] split: if_split_asm)
  179.27            also have "\<dots> = prob (\<Inter>j\<in>J. A j) - prob (\<Inter>i\<in>insert j J. (A(j := X)) i)"
  179.28              using J \<open>J \<noteq> {}\<close> \<open>j \<notin> J\<close> A_sets X sets.sets_into_space
  179.29 -            by (auto intro!: finite_measure_Diff sets.finite_INT split: split_if_asm)
  179.30 +            by (auto intro!: finite_measure_Diff sets.finite_INT split: if_split_asm)
  179.31            finally have "prob ((\<Inter>j\<in>J. A j) \<inter> (space M - X)) =
  179.32                prob (\<Inter>j\<in>J. A j) - prob (\<Inter>i\<in>insert j J. (A(j := X)) i)" .
  179.33            moreover {
  179.34 @@ -223,7 +223,7 @@
  179.35            then have A_sets: "\<And>i. i\<in>J \<Longrightarrow> A i \<in> events"
  179.36              using G by auto
  179.37            have "prob ((\<Inter>j\<in>J. A j) \<inter> (\<Union>k. F k)) = prob (\<Union>k. (\<Inter>i\<in>insert j J. (A(j := F k)) i))"
  179.38 -            using \<open>J \<noteq> {}\<close> \<open>j \<notin> J\<close> \<open>j \<in> K\<close> by (auto intro!: arg_cong[where f=prob] split: split_if_asm)
  179.39 +            using \<open>J \<noteq> {}\<close> \<open>j \<notin> J\<close> \<open>j \<in> K\<close> by (auto intro!: arg_cong[where f=prob] split: if_split_asm)
  179.40            moreover have "(\<lambda>k. prob (\<Inter>i\<in>insert j J. (A(j := F k)) i)) sums prob (\<Union>k. (\<Inter>i\<in>insert j J. (A(j := F k)) i))"
  179.41            proof (rule finite_measure_UNION)
  179.42              show "disjoint_family (\<lambda>k. \<Inter>i\<in>insert j J. (A(j := F k)) i)"
  179.43 @@ -233,7 +233,7 @@
  179.44            qed
  179.45            moreover { fix k
  179.46              from J A \<open>j \<in> K\<close> have "prob (\<Inter>i\<in>insert j J. (A(j := F k)) i) = prob (F k) * (\<Prod>i\<in>J. prob (A i))"
  179.47 -              by (subst indep_setsD[OF F(2)]) (auto intro!: setprod.cong split: split_if_asm)
  179.48 +              by (subst indep_setsD[OF F(2)]) (auto intro!: setprod.cong split: if_split_asm)
  179.49              also have "\<dots> = prob (F k) * prob (\<Inter>i\<in>J. A i)"
  179.50                using J A \<open>j \<in> K\<close> by (subst indep_setsD[OF G(1)]) auto
  179.51              finally have "prob (\<Inter>i\<in>insert j J. (A(j := F k)) i) = prob (F k) * prob (\<Inter>i\<in>J. A i)" . }
  179.52 @@ -271,7 +271,7 @@
  179.53              by (intro indep_setsD[OF indep]) auto
  179.54          next
  179.55            assume "j \<notin> J"
  179.56 -          with J A have "\<forall>i\<in>J. A i \<in> G i" by (auto split: split_if_asm)
  179.57 +          with J A have "\<forall>i\<in>J. A i \<in> G i" by (auto split: if_split_asm)
  179.58            with J show ?thesis
  179.59              by (intro indep_setsD[OF G(1)]) auto
  179.60          qed
  179.61 @@ -842,10 +842,10 @@
  179.62      let ?A = "\<lambda>j. if j \<in> J then A j else space M"
  179.63      have "prob (\<Inter>j\<in>I. ?A j) = prob (\<Inter>j\<in>J. A j)"
  179.64        using subset_trans[OF F(1) sets.space_closed] J A
  179.65 -      by (auto intro!: arg_cong[where f=prob] split: split_if_asm) blast
  179.66 +      by (auto intro!: arg_cong[where f=prob] split: if_split_asm) blast
  179.67      also
  179.68      from A F have "(\<lambda>j. if j \<in> J then A j else space M) \<in> Pi I F" (is "?A \<in> _")
  179.69 -      by (auto split: split_if_asm)
  179.70 +      by (auto split: if_split_asm)
  179.71      with indep have "prob (\<Inter>j\<in>I. ?A j) = (\<Prod>j\<in>I. prob (?A j))"
  179.72        by auto
  179.73      also have "\<dots> = (\<Prod>j\<in>J. prob (A j))"
  179.74 @@ -1089,7 +1089,7 @@
  179.75        then have "emeasure ?D E = emeasure M (?X -` E \<inter> space M)"
  179.76          by (simp add: emeasure_distr X)
  179.77        also have "?X -` E \<inter> space M = (\<Inter>i\<in>J. X i -` Y i \<inter> space M)"
  179.78 -        using J \<open>I \<noteq> {}\<close> measurable_space[OF rv] by (auto simp: prod_emb_def PiE_iff split: split_if_asm)
  179.79 +        using J \<open>I \<noteq> {}\<close> measurable_space[OF rv] by (auto simp: prod_emb_def PiE_iff split: if_split_asm)
  179.80        also have "emeasure M (\<Inter>i\<in>J. X i -` Y i \<inter> space M) = (\<Prod> i\<in>J. emeasure M (X i -` Y i \<inter> space M))"
  179.81          using \<open>indep_vars M' X I\<close> J \<open>I \<noteq> {}\<close> using indep_varsD[of M' X I J]
  179.82          by (auto simp: emeasure_eq_measure setprod_ereal)
  179.83 @@ -1120,7 +1120,7 @@
  179.84          Y: "\<And>j. j \<in> J \<Longrightarrow> Y' j = X j -` Y j \<inter> space M" "\<And>j. j \<in> J \<Longrightarrow> Y j \<in> sets (M' j)" by auto
  179.85        let ?E = "prod_emb I M' J (Pi\<^sub>E J Y)"
  179.86        from Y have "(\<Inter>j\<in>J. Y' j) = ?X -` ?E \<inter> space M"
  179.87 -        using J \<open>I \<noteq> {}\<close> measurable_space[OF rv] by (auto simp: prod_emb_def PiE_iff split: split_if_asm)
  179.88 +        using J \<open>I \<noteq> {}\<close> measurable_space[OF rv] by (auto simp: prod_emb_def PiE_iff split: if_split_asm)
  179.89        then have "emeasure M (\<Inter>j\<in>J. Y' j) = emeasure M (?X -` ?E \<inter> space M)"
  179.90          by simp
  179.91        also have "\<dots> = emeasure ?D ?E"
   180.1 --- a/src/HOL/Probability/Infinite_Product_Measure.thy	Tue Feb 23 16:50:10 2016 +0100
   180.2 +++ b/src/HOL/Probability/Infinite_Product_Measure.thy	Tue Feb 23 18:04:31 2016 +0100
   180.3 @@ -271,4 +271,4 @@
   180.4  
   180.5  end
   180.6  
   180.7 -end
   180.8 \ No newline at end of file
   180.9 +end
   181.1 --- a/src/HOL/Probability/Information.thy	Tue Feb 23 16:50:10 2016 +0100
   181.2 +++ b/src/HOL/Probability/Information.thy	Tue Feb 23 18:04:31 2016 +0100
   181.3 @@ -1105,7 +1105,7 @@
   181.4        by (intro nn_integral_0_iff_AE[THEN iffD1]) auto
   181.5      then have "AE x in S \<Otimes>\<^sub>M T \<Otimes>\<^sub>M P. Pxyz x = 0"
   181.6        using ae1 ae2 ae3 ae4 ae5 ae6 ae7 ae8 Pxyz[THEN distributed_real_AE]
   181.7 -      by eventually_elim (auto split: split_if_asm simp: mult_le_0_iff divide_le_0_iff)
   181.8 +      by eventually_elim (auto split: if_split_asm simp: mult_le_0_iff divide_le_0_iff)
   181.9      then have "(\<integral>\<^sup>+ x. ereal (Pxyz x) \<partial>S \<Otimes>\<^sub>M T \<Otimes>\<^sub>M P) = 0"
  181.10        by (subst nn_integral_cong_AE[of _ "\<lambda>x. 0"]) auto
  181.11      with P.emeasure_space_1 show False
  181.12 @@ -1362,7 +1362,7 @@
  181.13        by (intro nn_integral_0_iff_AE[THEN iffD1]) (auto intro!: borel_measurable_ereal measurable_If)
  181.14      then have "AE x in S \<Otimes>\<^sub>M T \<Otimes>\<^sub>M P. Pxyz x = 0"
  181.15        using ae1 ae2 ae3 ae4 ae5 ae6 ae7 ae8 Pxyz[THEN distributed_real_AE]
  181.16 -      by eventually_elim (auto split: split_if_asm simp: mult_le_0_iff divide_le_0_iff)
  181.17 +      by eventually_elim (auto split: if_split_asm simp: mult_le_0_iff divide_le_0_iff)
  181.18      then have "(\<integral>\<^sup>+ x. ereal (Pxyz x) \<partial>S \<Otimes>\<^sub>M T \<Otimes>\<^sub>M P) = 0"
  181.19        by (subst nn_integral_cong_AE[of _ "\<lambda>x. 0"]) auto
  181.20      with P.emeasure_space_1 show False
   182.1 --- a/src/HOL/Probability/Interval_Integral.thy	Tue Feb 23 16:50:10 2016 +0100
   182.2 +++ b/src/HOL/Probability/Interval_Integral.thy	Tue Feb 23 18:04:31 2016 +0100
   182.3 @@ -302,7 +302,7 @@
   182.4  proof (induct a b rule: linorder_wlog)
   182.5    case (sym a b) then show ?case
   182.6      by (auto simp add: interval_lebesgue_integral_def interval_integrable_endpoints_reverse
   182.7 -             split: split_if_asm)
   182.8 +             split: if_split_asm)
   182.9  next
  182.10    case (le a b) then show ?case
  182.11      unfolding interval_lebesgue_integral_def
   183.1 --- a/src/HOL/Probability/Lebesgue_Measure.thy	Tue Feb 23 16:50:10 2016 +0100
   183.2 +++ b/src/HOL/Probability/Lebesgue_Measure.thy	Tue Feb 23 18:04:31 2016 +0100
   183.3 @@ -871,7 +871,7 @@
   183.4    then have "ereal c * (\<integral>\<^sup>+ x. g x \<partial>lborel) = ereal r"
   183.5      by (subst nn_integral_cmult[symmetric]) auto
   183.6    then obtain r' where "(c = 0 \<and> r = 0) \<or> ((\<integral>\<^sup>+ x. ereal (g x) \<partial>lborel) = ereal r' \<and> r = c * r')"
   183.7 -    by (cases "\<integral>\<^sup>+ x. ereal (g x) \<partial>lborel") (auto split: split_if_asm)
   183.8 +    by (cases "\<integral>\<^sup>+ x. ereal (g x) \<partial>lborel") (auto split: if_split_asm)
   183.9    with mult show ?case
  183.10      by (auto intro!: has_integral_cmult_real)
  183.11  next
  183.12 @@ -966,7 +966,7 @@
  183.13    { fix i x have "real_of_ereal (F i x) \<le> f x"
  183.14        using F(3,5) F(4)[of x, symmetric] nonneg
  183.15        unfolding real_le_ereal_iff
  183.16 -      by (auto simp: image_iff eq_commute[of \<infinity>] max_def intro: SUP_upper split: split_if_asm) }
  183.17 +      by (auto simp: image_iff eq_commute[of \<infinity>] max_def intro: SUP_upper split: if_split_asm) }
  183.18    note F_le_f = this
  183.19    let ?F = "\<lambda>i x. F i x * indicator (?B i) x"
  183.20    have "(\<integral>\<^sup>+ x. ereal (f x) \<partial>lborel) = (SUP i. integral\<^sup>N lborel (\<lambda>x. ?F i x))"
   184.1 --- a/src/HOL/Probability/Measurable.thy	Tue Feb 23 16:50:10 2016 +0100
   184.2 +++ b/src/HOL/Probability/Measurable.thy	Tue Feb 23 18:04:31 2016 +0100
   184.3 @@ -581,7 +581,7 @@
   184.4    shows "Measurable.pred M (\<lambda>x. \<exists>!i\<in>I. P i x)"
   184.5    unfolding bex1_def by measurable
   184.6  
   184.7 -lemma measurable_split_if[measurable (raw)]:
   184.8 +lemma measurable_if_split[measurable (raw)]:
   184.9    "(c \<Longrightarrow> Measurable.pred M f) \<Longrightarrow> (\<not> c \<Longrightarrow> Measurable.pred M g) \<Longrightarrow>
  184.10     Measurable.pred M (if c then f else g)"
  184.11    by simp
   185.1 --- a/src/HOL/Probability/Measure_Space.thy	Tue Feb 23 16:50:10 2016 +0100
   185.2 +++ b/src/HOL/Probability/Measure_Space.thy	Tue Feb 23 18:04:31 2016 +0100
   185.3 @@ -1897,7 +1897,7 @@
   185.4    proof (intro iffI impI)
   185.5      assume "emeasure (count_space A) X = 0"
   185.6      with X show "X = {}"
   185.7 -      by (subst (asm) emeasure_count_space) (auto split: split_if_asm)
   185.8 +      by (subst (asm) emeasure_count_space) (auto split: if_split_asm)
   185.9    qed simp
  185.10  qed (simp add: emeasure_notin_sets)
  185.11  
   186.1 --- a/src/HOL/Probability/Nonnegative_Lebesgue_Integration.thy	Tue Feb 23 16:50:10 2016 +0100
   186.2 +++ b/src/HOL/Probability/Nonnegative_Lebesgue_Integration.thy	Tue Feb 23 18:04:31 2016 +0100
   186.3 @@ -55,7 +55,7 @@
   186.4    then have "(\<Union>x\<in>f ` space M. if x \<in> A then f -` {x} \<inter> space M else {}) \<in> sets M"
   186.5      by (intro sets.finite_UN) auto
   186.6    also have "(\<Union>x\<in>f ` space M. if x \<in> A then f -` {x} \<inter> space M else {}) = f -` A \<inter> space M"
   186.7 -    by (auto split: split_if_asm)
   186.8 +    by (auto split: if_split_asm)
   186.9    finally show "f -` A \<inter> space M \<in> sets M" .
  186.10  qed simp
  186.11  
  186.12 @@ -222,7 +222,7 @@
  186.13  proof -
  186.14    def f \<equiv> "\<lambda>x i. if real i \<le> u x then i * 2 ^ i else nat \<lfloor>real_of_ereal (u x) * 2 ^ i\<rfloor>"
  186.15    { fix x j have "f x j \<le> j * 2 ^ j" unfolding f_def
  186.16 -    proof (split split_if, intro conjI impI)
  186.17 +    proof (split if_split, intro conjI impI)
  186.18        assume "\<not> real j \<le> u x"
  186.19        then have "nat \<lfloor>real_of_ereal (u x) * 2 ^ j\<rfloor> \<le> nat \<lfloor>j * 2 ^ j\<rfloor>"
  186.20           by (cases "u x") (auto intro!: nat_mono floor_mono)
  186.21 @@ -258,7 +258,7 @@
  186.22      proof (intro incseq_ereal incseq_SucI le_funI)
  186.23        fix x and i :: nat
  186.24        have "f x i * 2 \<le> f x (Suc i)" unfolding f_def
  186.25 -      proof ((split split_if)+, intro conjI impI)
  186.26 +      proof ((split if_split)+, intro conjI impI)
  186.27          assume "ereal (real i) \<le> u x" "\<not> ereal (real (Suc i)) \<le> u x"
  186.28          then show "i * 2 ^ i * 2 \<le> nat \<lfloor>real_of_ereal (u x) * 2 ^ Suc i\<rfloor>"
  186.29            by (cases "u x") (auto intro!: le_nat_floor)
  186.30 @@ -311,7 +311,7 @@
  186.31            moreover
  186.32            have "real (nat \<lfloor>p * 2 ^ max N m\<rfloor>) \<le> r * 2 ^ max N m"
  186.33              using *[of "max N m"] m unfolding real_f using ux
  186.34 -            by (cases "0 \<le> u x") (simp_all add: max_def split: split_if_asm)
  186.35 +            by (cases "0 \<le> u x") (simp_all add: max_def split: if_split_asm)
  186.36            then have "p * 2 ^ max N m - 1 < r * 2 ^ max N m"
  186.37              by linarith
  186.38            ultimately show False by auto
  186.39 @@ -467,7 +467,7 @@
  186.40      then have *: "?IF -` {?IF x} \<inter> space M = (if x \<in> A
  186.41        then ((F (f x) \<inter> (A \<inter> space M)) \<union> (G (f x) - (G (f x) \<inter> (A \<inter> space M))))
  186.42        else ((F (g x) \<inter> (A \<inter> space M)) \<union> (G (g x) - (G (g x) \<inter> (A \<inter> space M)))))"
  186.43 -      using sets.sets_into_space[OF A] by (auto split: split_if_asm simp: G_def F_def)
  186.44 +      using sets.sets_into_space[OF A] by (auto split: if_split_asm simp: G_def F_def)
  186.45      have [intro]: "\<And>x. F x \<in> sets M" "\<And>x. G x \<in> sets M"
  186.46        unfolding F_def G_def using sf[THEN simple_functionD(2)] by auto
  186.47      show "?IF -` {?IF x} \<inter> space M \<in> sets M" unfolding * using A by auto
  186.48 @@ -685,7 +685,7 @@
  186.49      (\<Sum>x \<in> f ` space M. x * emeasure M (f -` {x} \<inter> space M \<inter> A))"
  186.50  proof -
  186.51    have eq: "(\<lambda>x. (f x, indicator A x)) ` space M \<inter> {x. snd x = 1} = (\<lambda>x. (f x, 1::ereal))`A"
  186.52 -    using A[THEN sets.sets_into_space] by (auto simp: indicator_def image_iff split: split_if_asm)
  186.53 +    using A[THEN sets.sets_into_space] by (auto simp: indicator_def image_iff split: if_split_asm)
  186.54    have eq2: "\<And>x. f x \<notin> f ` A \<Longrightarrow> f -` {f x} \<inter> space M \<inter> A = {}"
  186.55      by (auto simp: image_iff)
  186.56  
  186.57 @@ -694,7 +694,7 @@
  186.58      using assms by (intro simple_function_partition) auto
  186.59    also have "\<dots> = (\<Sum>y\<in>(\<lambda>x. (f x, indicator A x::ereal))`space M.
  186.60      if snd y = 1 then fst y * emeasure M (f -` {fst y} \<inter> space M \<inter> A) else 0)"
  186.61 -    by (auto simp: indicator_def split: split_if_asm intro!: arg_cong2[where f="op *"] arg_cong2[where f=emeasure] setsum.cong)
  186.62 +    by (auto simp: indicator_def split: if_split_asm intro!: arg_cong2[where f="op *"] arg_cong2[where f=emeasure] setsum.cong)
  186.63    also have "\<dots> = (\<Sum>y\<in>(\<lambda>x. (f x, 1::ereal))`A. fst y * emeasure M (f -` {fst y} \<inter> space M \<inter> A))"
  186.64      using assms by (subst setsum.If_cases) (auto intro!: simple_functionD(1) simp: eq)
  186.65    also have "\<dots> = (\<Sum>y\<in>fst`(\<lambda>x. (f x, 1::ereal))`A. y * emeasure M (f -` {y} \<inter> space M \<inter> A))"
  186.66 @@ -709,7 +709,7 @@
  186.67    assumes "A \<in> sets M"
  186.68    shows "integral\<^sup>S M (indicator A) = emeasure M A"
  186.69    using simple_integral_indicator[OF assms, of "\<lambda>x. 1"] sets.sets_into_space[OF assms]
  186.70 -  by (simp_all add: image_constant_conv Int_absorb1 split: split_if_asm)
  186.71 +  by (simp_all add: image_constant_conv Int_absorb1 split: if_split_asm)
  186.72  
  186.73  lemma simple_integral_null_set:
  186.74    assumes "simple_function M u" "\<And>x. 0 \<le> u x" and "N \<in> null_sets M"
  186.75 @@ -777,7 +777,7 @@
  186.76    let ?g = "\<lambda>y x. if g x = \<infinity> then y else max 0 (g x)"
  186.77    from g gM have g_in_A: "\<And>y. 0 \<le> y \<Longrightarrow> y \<noteq> \<infinity> \<Longrightarrow> ?g y \<in> ?A"
  186.78      apply (safe intro!: simple_function_max simple_function_If)
  186.79 -    apply (force simp: max_def le_fun_def split: split_if_asm)+
  186.80 +    apply (force simp: max_def le_fun_def split: if_split_asm)+
  186.81      done
  186.82    show "integral\<^sup>S M g \<le> SUPREMUM ?A ?f"
  186.83    proof cases
  186.84 @@ -826,7 +826,7 @@
  186.85        assume x: "x \<in> space M - N"
  186.86        with N have "u x \<le> v x" by auto
  186.87        with n(2)[THEN le_funD, of x] x show ?thesis
  186.88 -        by (auto simp: max_def split: split_if_asm)
  186.89 +        by (auto simp: max_def split: if_split_asm)
  186.90      qed simp }
  186.91    then have "?n \<le> max 0 \<circ> v" by (auto simp: le_funI)
  186.92    moreover have "integral\<^sup>S M n \<le> integral\<^sup>S M ?n"
  186.93 @@ -1086,7 +1086,7 @@
  186.94    by (subst nn_integral_eq_simple_integral) auto
  186.95  
  186.96  lemma nn_integral_const_nonpos: "c \<le> 0 \<Longrightarrow> nn_integral M (\<lambda>x. c) = 0"
  186.97 -  using nn_integral_max_0[of M "\<lambda>x. c"] by (simp add: max_def split: split_if_asm)
  186.98 +  using nn_integral_max_0[of M "\<lambda>x. c"] by (simp add: max_def split: if_split_asm)
  186.99  
 186.100  lemma nn_integral_linear:
 186.101    assumes f: "f \<in> borel_measurable M" "\<And>x. 0 \<le> f x" and "0 \<le> a"
 186.102 @@ -1111,7 +1111,7 @@
 186.103    have pos: "\<And>i. 0 \<le> integral\<^sup>S M (u i)" "\<And>i. 0 \<le> integral\<^sup>S M (v i)" "\<And>i. 0 \<le> a * integral\<^sup>S M (u i)"
 186.104      using u v \<open>0 \<le> a\<close> by (auto simp: simple_integral_nonneg)
 186.105    { fix i from pos[of i] have "a * integral\<^sup>S M (u i) \<noteq> -\<infinity>" "integral\<^sup>S M (v i) \<noteq> -\<infinity>"
 186.106 -      by (auto split: split_if_asm) }
 186.107 +      by (auto split: if_split_asm) }
 186.108    note not_MInf = this
 186.109  
 186.110    have l': "(SUP i. integral\<^sup>S M (l i)) = (SUP i. integral\<^sup>S M (?L' i))"
 186.111 @@ -1316,7 +1316,7 @@
 186.112    moreover have "0 \<le> (emeasure M) (f -` {\<infinity>} \<inter> space M)"
 186.113      by (rule emeasure_nonneg)
 186.114    ultimately show ?thesis
 186.115 -    using assms by (auto split: split_if_asm)
 186.116 +    using assms by (auto split: if_split_asm)
 186.117  qed
 186.118  
 186.119  lemma nn_integral_PInf_AE:
 186.120 @@ -1620,7 +1620,7 @@
 186.121      show "integral\<^sup>N M u = 0" by (simp add: u_eq null_sets_def)
 186.122    next
 186.123      { fix r :: ereal and n :: nat assume gt_1: "1 \<le> real n * r"
 186.124 -      then have "0 < real n * r" by (cases r) (auto split: split_if_asm simp: one_ereal_def)
 186.125 +      then have "0 < real n * r" by (cases r) (auto split: if_split_asm simp: one_ereal_def)
 186.126        then have "0 \<le> r" by (auto simp add: ereal_zero_less_0_iff) }
 186.127      note gt_1 = this
 186.128      assume *: "integral\<^sup>N M u = 0"
 186.129 @@ -2377,7 +2377,7 @@
 186.130        using f \<open>A \<in> sets M\<close>
 186.131        by (intro AE_iff_measurable[OF _ refl, symmetric]) auto
 186.132      also have "(AE x in M. max 0 (f x) * indicator A x = 0) \<longleftrightarrow> (AE x in M. x \<in> A \<longrightarrow> f x \<le> 0)"
 186.133 -      by (auto simp add: indicator_def max_def split: split_if_asm)
 186.134 +      by (auto simp add: indicator_def max_def split: if_split_asm)
 186.135      finally have "(\<integral>\<^sup>+x. f x * indicator A x \<partial>M) = 0 \<longleftrightarrow> (AE x in M. x \<in> A \<longrightarrow> f x \<le> 0)" . }
 186.136    with f show ?thesis
 186.137      by (simp add: null_sets_def emeasure_density cong: conj_cong)
   187.1 --- a/src/HOL/Probability/Probability_Mass_Function.thy	Tue Feb 23 16:50:10 2016 +0100
   187.2 +++ b/src/HOL/Probability/Probability_Mass_Function.thy	Tue Feb 23 18:04:31 2016 +0100
   187.3 @@ -876,7 +876,7 @@
   187.4    by transfer (simp add: emeasure_measure_pmf_not_zero pmf.rep_eq)
   187.5  
   187.6  lemma set_cond_pmf[simp]: "set_pmf cond_pmf = set_pmf p \<inter> s"
   187.7 -  by (auto simp add: set_pmf_iff pmf_cond measure_measure_pmf_not_zero split: split_if_asm)
   187.8 +  by (auto simp add: set_pmf_iff pmf_cond measure_measure_pmf_not_zero split: if_split_asm)
   187.9  
  187.10  end
  187.11  
   188.1 --- a/src/HOL/Probability/Probability_Measure.thy	Tue Feb 23 16:50:10 2016 +0100
   188.2 +++ b/src/HOL/Probability/Probability_Measure.thy	Tue Feb 23 18:04:31 2016 +0100
   188.3 @@ -195,7 +195,7 @@
   188.4  lemma (in prob_space) nn_integral_ge_const:
   188.5    "(AE x in M. c \<le> f x) \<Longrightarrow> c \<le> (\<integral>\<^sup>+x. f x \<partial>M)"
   188.6    using nn_integral_mono_AE[of "\<lambda>x. c" f M] emeasure_space_1
   188.7 -  by (simp add: nn_integral_const_If split: split_if_asm)
   188.8 +  by (simp add: nn_integral_const_If split: if_split_asm)
   188.9  
  188.10  lemma (in prob_space) expectation_less:
  188.11    fixes X :: "_ \<Rightarrow> real"
   189.1 --- a/src/HOL/Probability/Radon_Nikodym.thy	Tue Feb 23 16:50:10 2016 +0100
   189.2 +++ b/src/HOL/Probability/Radon_Nikodym.thy	Tue Feb 23 18:04:31 2016 +0100
   189.3 @@ -155,7 +155,7 @@
   189.4    { fix n have "A n \<in> sets M"
   189.5      proof (induct n)
   189.6        case (Suc n) thus "A (Suc n) \<in> sets M"
   189.7 -        using A'_in_sets[of "A n"] by (auto split: split_if_asm)
   189.8 +        using A'_in_sets[of "A n"] by (auto split: if_split_asm)
   189.9      qed (simp add: A_def) }
  189.10    note A_in_sets = this
  189.11    hence "range A \<subseteq> sets M" by auto
  189.12 @@ -870,7 +870,7 @@
  189.13      by (auto simp: indicator_def Q0)
  189.14    ultimately have "AE x in M. ?f (space M) x = ?f' (space M) x"
  189.15      unfolding AE_all_countable[symmetric]
  189.16 -    by eventually_elim (auto intro!: AE_I2 split: split_if_asm simp: indicator_def)
  189.17 +    by eventually_elim (auto intro!: AE_I2 split: if_split_asm simp: indicator_def)
  189.18    then show "AE x in M. f x = f' x" by auto
  189.19  qed
  189.20  
   190.1 --- a/src/HOL/Probability/Sigma_Algebra.thy	Tue Feb 23 16:50:10 2016 +0100
   190.2 +++ b/src/HOL/Probability/Sigma_Algebra.thy	Tue Feb 23 18:04:31 2016 +0100
   190.3 @@ -280,7 +280,7 @@
   190.4    from assms have "range ?A \<subseteq> M" by auto
   190.5    with countable_nat_UN[of "?A \<circ> from_nat"] countable_UN_eq[of ?A M]
   190.6    have "(\<Union>x. ?A x) \<in> M" by auto
   190.7 -  moreover have "(\<Union>x. ?A x) = (\<Union>x\<in>X. A x)" by (auto split: split_if_asm)
   190.8 +  moreover have "(\<Union>x. ?A x) = (\<Union>x\<in>X. A x)" by (auto split: if_split_asm)
   190.9    ultimately show ?thesis by simp
  190.10  qed
  190.11  
  190.12 @@ -1194,7 +1194,7 @@
  190.13    have "range ?f = {D, \<Omega> - E, {}}"
  190.14      by (auto simp: image_iff)
  190.15    moreover have "D \<union> (\<Omega> - E) = (\<Union>i. ?f i)"
  190.16 -    by (auto simp: image_iff split: split_if_asm)
  190.17 +    by (auto simp: image_iff split: if_split_asm)
  190.18    moreover
  190.19    have "disjoint_family ?f" unfolding disjoint_family_on_def
  190.20      using \<open>D \<in> M\<close>[THEN sets_into_space] \<open>D \<subseteq> E\<close> by auto
   191.1 --- a/src/HOL/Probability/Sinc_Integral.thy	Tue Feb 23 16:50:10 2016 +0100
   191.2 +++ b/src/HOL/Probability/Sinc_Integral.thy	Tue Feb 23 18:04:31 2016 +0100
   191.3 @@ -196,7 +196,7 @@
   191.4      using interval_integral_FTC2[of "min 0 (x - 1)" 0 "max 0 (x + 1)" sinc x]
   191.5      by (auto simp: continuous_at_imp_continuous_on isCont_sinc Si_alt_def[abs_def] zero_ereal_def
   191.6                     has_field_derivative_iff_has_vector_derivative
   191.7 -             split del: split_if)
   191.8 +             split del: if_split)
   191.9  qed
  191.10  
  191.11  lemma isCont_Si: "isCont Si x"
  191.12 @@ -389,7 +389,7 @@
  191.13      hence "LBINT x. indicator {0<..<T} x * sin (x * \<theta>) / x =
  191.14         - (LBINT x. indicator {0<..<- (T * \<theta>)} x * sin x / x)"
  191.15        using assms `0 > \<theta>` unfolding interval_lebesgue_integral_def einterval_eq zero_ereal_def
  191.16 -        by (auto simp add: field_simps mult_le_0_iff split: split_if_asm)
  191.17 +        by (auto simp add: field_simps mult_le_0_iff split: if_split_asm)
  191.18    } note aux2 = this
  191.19    show ?thesis
  191.20      using assms unfolding Si_def interval_lebesgue_integral_def sgn_real_def einterval_eq zero_ereal_def
   192.1 --- a/src/HOL/Probability/ex/Koepf_Duermuth_Countermeasure.thy	Tue Feb 23 16:50:10 2016 +0100
   192.2 +++ b/src/HOL/Probability/ex/Koepf_Duermuth_Countermeasure.thy	Tue Feb 23 18:04:31 2016 +0100
   192.3 @@ -43,7 +43,7 @@
   192.4    shows "extensionalD d (insert a A) \<inter> (insert a A \<rightarrow> B) = (\<Union>f \<in> extensionalD d A \<inter> (A \<rightarrow> B). (\<lambda>b. f(a := b)) ` B)"
   192.5    apply (rule funset_eq_UN_fun_upd_I)
   192.6    using assms
   192.7 -  by (auto intro!: inj_onI dest: inj_onD split: split_if_asm simp: extensionalD_def)
   192.8 +  by (auto intro!: inj_onI dest: inj_onD split: if_split_asm simp: extensionalD_def)
   192.9  
  192.10  lemma finite_extensionalD_funcset[simp, intro]:
  192.11    assumes "finite A" "finite B"
   193.1 --- a/src/HOL/Probability/ex/Measure_Not_CCC.thy	Tue Feb 23 16:50:10 2016 +0100
   193.2 +++ b/src/HOL/Probability/ex/Measure_Not_CCC.thy	Tue Feb 23 18:04:31 2016 +0100
   193.3 @@ -110,7 +110,7 @@
   193.4      show "(\<Union>i. X i) \<in> sets M" "countable (\<Union>i. J i)" "G \<in> (\<Union>i. J i) \<rightarrow> sets M"
   193.5        using XFJ by (auto simp: G_def Pi_iff)
   193.6      show "UNION UNIV A = (UNIV - (\<Union>i. J i)) \<times> (\<Union>i. X i) \<union> (SIGMA j:\<Union>i. J i. \<Union>i. if j \<in> J i then F i j else X i)"
   193.7 -      unfolding A_eq by (auto split: split_if_asm)
   193.8 +      unfolding A_eq by (auto split: if_split_asm)
   193.9    qed
  193.10  qed
  193.11  
   194.1 --- a/src/HOL/Proofs/Lambda/ListBeta.thy	Tue Feb 23 16:50:10 2016 +0100
   194.2 +++ b/src/HOL/Proofs/Lambda/ListBeta.thy	Tue Feb 23 18:04:31 2016 +0100
   194.3 @@ -42,21 +42,21 @@
   194.4         apply (case_tac r)
   194.5           apply simp
   194.6          apply (simp add: App_eq_foldl_conv)
   194.7 -        apply (split split_if_asm)
   194.8 +        apply (split if_split_asm)
   194.9           apply simp
  194.10           apply blast
  194.11          apply simp
  194.12         apply (simp add: App_eq_foldl_conv)
  194.13 -       apply (split split_if_asm)
  194.14 +       apply (split if_split_asm)
  194.15          apply simp
  194.16         apply simp
  194.17        apply (drule App_eq_foldl_conv [THEN iffD1])
  194.18 -      apply (split split_if_asm)
  194.19 +      apply (split if_split_asm)
  194.20         apply simp
  194.21         apply blast
  194.22        apply (force intro!: disjI1 [THEN append_step1I])
  194.23       apply (drule App_eq_foldl_conv [THEN iffD1])
  194.24 -     apply (split split_if_asm)
  194.25 +     apply (split if_split_asm)
  194.26        apply simp
  194.27        apply blast
  194.28       apply (clarify, auto 0 3 intro!: exI intro: append_step1I)
   195.1 --- a/src/HOL/Rat.thy	Tue Feb 23 16:50:10 2016 +0100
   195.2 +++ b/src/HOL/Rat.thy	Tue Feb 23 18:04:31 2016 +0100
   195.3 @@ -280,15 +280,15 @@
   195.4  
   195.5  lemma normalize_eq: "normalize (a, b) = (p, q) \<Longrightarrow> Fract p q = Fract a b"
   195.6    by (auto simp add: normalize_def Let_def Fract_coprime dvd_div_neg rat_number_collapse
   195.7 -    split:split_if_asm)
   195.8 +    split:if_split_asm)
   195.9  
  195.10  lemma normalize_denom_pos: "normalize r = (p, q) \<Longrightarrow> q > 0"
  195.11    by (auto simp add: normalize_def Let_def dvd_div_neg pos_imp_zdiv_neg_iff nonneg1_imp_zdiv_pos_iff
  195.12 -    split:split_if_asm)
  195.13 +    split:if_split_asm)
  195.14  
  195.15  lemma normalize_coprime: "normalize r = (p, q) \<Longrightarrow> coprime p q"
  195.16    by (auto simp add: normalize_def Let_def dvd_div_neg div_gcd_coprime
  195.17 -    split:split_if_asm)
  195.18 +    split:if_split_asm)
  195.19  
  195.20  lemma normalize_stable [simp]:
  195.21    "q > 0 \<Longrightarrow> coprime p q \<Longrightarrow> normalize (p, q) = (p, q)"
   196.1 --- a/src/HOL/Real.thy	Tue Feb 23 16:50:10 2016 +0100
   196.2 +++ b/src/HOL/Real.thy	Tue Feb 23 18:04:31 2016 +0100
   196.3 @@ -476,7 +476,7 @@
   196.4    shows "inverse (Real X) =
   196.5      (if vanishes X then 0 else Real (\<lambda>n. inverse (X n)))"
   196.6    using assms inverse_real.transfer zero_real.transfer
   196.7 -  unfolding cr_real_eq rel_fun_def by (simp split: split_if_asm, metis)
   196.8 +  unfolding cr_real_eq rel_fun_def by (simp split: if_split_asm, metis)
   196.9  
  196.10  instance proof
  196.11    fix a b c :: real
   197.1 --- a/src/HOL/Rings.thy	Tue Feb 23 16:50:10 2016 +0100
   197.2 +++ b/src/HOL/Rings.thy	Tue Feb 23 18:04:31 2016 +0100
   197.3 @@ -1578,7 +1578,7 @@
   197.4    by (simp add: not_less)
   197.5  
   197.6  proposition abs_eq_iff: "\<bar>x\<bar> = \<bar>y\<bar> \<longleftrightarrow> x = y \<or> x = -y"
   197.7 -  by (auto simp add: abs_if split: split_if_asm)
   197.8 +  by (auto simp add: abs_if split: if_split_asm)
   197.9  
  197.10  lemma sum_squares_ge_zero:
  197.11    "0 \<le> x * x + y * y"
   198.1 --- a/src/HOL/SET_Protocol/Message_SET.thy	Tue Feb 23 16:50:10 2016 +0100
   198.2 +++ b/src/HOL/SET_Protocol/Message_SET.thy	Tue Feb 23 18:04:31 2016 +0100
   198.3 @@ -539,7 +539,7 @@
   198.4  
   198.5  (*Case analysis: either the message is secure, or it is not!
   198.6    Effective, but can cause subgoals to blow up!
   198.7 -  Use with split_if;  apparently split_tac does not cope with patterns
   198.8 +  Use with if_split;  apparently split_tac does not cope with patterns
   198.9    such as "analz (insert (Crypt K X) H)" *)
  198.10  lemma analz_Crypt_if [simp]:
  198.11       "analz (insert (Crypt K X) H) =
   199.1 --- a/src/HOL/SPARK/Examples/RIPEMD-160/RMD.thy	Tue Feb 23 16:50:10 2016 +0100
   199.2 +++ b/src/HOL/SPARK/Examples/RIPEMD-160/RMD.thy	Tue Feb 23 18:04:31 2016 +0100
   199.3 @@ -177,4 +177,4 @@
   199.4  where
   199.5    "rmd X len = rounds X h_0 len"
   199.6  
   199.7 -end
   199.8 \ No newline at end of file
   199.9 +end
   200.1 --- a/src/HOL/SPARK/Examples/RIPEMD-160/S_L.thy	Tue Feb 23 16:50:10 2016 +0100
   200.2 +++ b/src/HOL/SPARK/Examples/RIPEMD-160/S_L.thy	Tue Feb 23 18:04:31 2016 +0100
   200.3 @@ -27,4 +27,4 @@
   200.4  
   200.5  spark_end
   200.6  
   200.7 -end
   200.8 \ No newline at end of file
   200.9 +end
   201.1 --- a/src/HOL/SPARK/Examples/RIPEMD-160/S_R.thy	Tue Feb 23 16:50:10 2016 +0100
   201.2 +++ b/src/HOL/SPARK/Examples/RIPEMD-160/S_R.thy	Tue Feb 23 18:04:31 2016 +0100
   201.3 @@ -27,4 +27,4 @@
   201.4  
   201.5  spark_end
   201.6  
   201.7 -end
   201.8 \ No newline at end of file
   201.9 +end
   202.1 --- a/src/HOL/Set.thy	Tue Feb 23 16:50:10 2016 +0100
   202.2 +++ b/src/HOL/Set.thy	Tue Feb 23 18:04:31 2016 +0100
   202.3 @@ -1046,26 +1046,26 @@
   202.4    by auto
   202.5  
   202.6  text \<open>
   202.7 -  Rewrite rules for boolean case-splitting: faster than \<open>split_if [split]\<close>.
   202.8 +  Rewrite rules for boolean case-splitting: faster than \<open>if_split [split]\<close>.
   202.9  \<close>
  202.10  
  202.11 -lemma split_if_eq1: "((if Q then x else y) = b) = ((Q --> x = b) & (~ Q --> y = b))"
  202.12 -  by (rule split_if)
  202.13 -
  202.14 -lemma split_if_eq2: "(a = (if Q then x else y)) = ((Q --> a = x) & (~ Q --> a = y))"
  202.15 -  by (rule split_if)
  202.16 +lemma if_split_eq1: "((if Q then x else y) = b) = ((Q --> x = b) & (~ Q --> y = b))"
  202.17 +  by (rule if_split)
  202.18 +
  202.19 +lemma if_split_eq2: "(a = (if Q then x else y)) = ((Q --> a = x) & (~ Q --> a = y))"
  202.20 +  by (rule if_split)
  202.21  
  202.22  text \<open>
  202.23    Split ifs on either side of the membership relation.  Not for \<open>[simp]\<close> -- can cause goals to blow up!
  202.24  \<close>
  202.25  
  202.26 -lemma split_if_mem1: "((if Q then x else y) : b) = ((Q --> x : b) & (~ Q --> y : b))"
  202.27 -  by (rule split_if)
  202.28 -
  202.29 -lemma split_if_mem2: "(a : (if Q then x else y)) = ((Q --> a : x) & (~ Q --> a : y))"
  202.30 -  by (rule split_if [where P="%S. a : S"])
  202.31 -
  202.32 -lemmas split_ifs = if_bool_eq_conj split_if_eq1 split_if_eq2 split_if_mem1 split_if_mem2
  202.33 +lemma if_split_mem1: "((if Q then x else y) : b) = ((Q --> x : b) & (~ Q --> y : b))"
  202.34 +  by (rule if_split)
  202.35 +
  202.36 +lemma if_split_mem2: "(a : (if Q then x else y)) = ((Q --> a : x) & (~ Q --> a : y))"
  202.37 +  by (rule if_split [where P="%S. a : S"])
  202.38 +
  202.39 +lemmas split_ifs = if_bool_eq_conj if_split_eq1 if_split_eq2 if_split_mem1 if_split_mem2
  202.40  
  202.41  (*Would like to add these, but the existing code only searches for the
  202.42    outer-level constant, which in this case is just Set.member; we instead need
   203.1 --- a/src/HOL/Set_Interval.thy	Tue Feb 23 16:50:10 2016 +0100
   203.2 +++ b/src/HOL/Set_Interval.thy	Tue Feb 23 18:04:31 2016 +0100
   203.3 @@ -929,7 +929,7 @@
   203.4        by (auto intro!: image_eqI[of _ _ "a + c"])
   203.5    next
   203.6      assume "\<not> c < y" with a show ?thesis
   203.7 -      by (auto intro!: image_eqI[of _ _ x] split: split_if_asm)
   203.8 +      by (auto intro!: image_eqI[of _ _ x] split: if_split_asm)
   203.9    qed
  203.10  qed auto
  203.11  
   204.1 --- a/src/HOL/Statespace/DistinctTreeProver.thy	Tue Feb 23 16:50:10 2016 +0100
   204.2 +++ b/src/HOL/Statespace/DistinctTreeProver.thy	Tue Feb 23 18:04:31 2016 +0100
   204.3 @@ -134,12 +134,12 @@
   204.4          by simp
   204.5        with l'_l Some x_l_Some del
   204.6        show ?thesis
   204.7 -        by (auto split: split_if_asm)
   204.8 +        by (auto split: if_split_asm)
   204.9      next
  204.10        case None
  204.11        with l'_l Some x_l_Some del
  204.12        show ?thesis
  204.13 -        by (fastforce split: split_if_asm)
  204.14 +        by (fastforce split: if_split_asm)
  204.15      qed
  204.16    next
  204.17      case None
  204.18 @@ -152,12 +152,12 @@
  204.19          by simp
  204.20        with Some x_l_None del
  204.21        show ?thesis
  204.22 -        by (fastforce split: split_if_asm)
  204.23 +        by (fastforce split: if_split_asm)
  204.24      next
  204.25        case None
  204.26        with x_l_None del
  204.27        show ?thesis
  204.28 -        by (fastforce split: split_if_asm)
  204.29 +        by (fastforce split: if_split_asm)
  204.30      qed
  204.31    qed
  204.32  qed
  204.33 @@ -221,7 +221,7 @@
  204.34        case None
  204.35        with x_l_None del dist_l dist_r d dist_l_r
  204.36        show ?thesis
  204.37 -        by (fastforce split: split_if_asm)
  204.38 +        by (fastforce split: if_split_asm)
  204.39      qed
  204.40    qed
  204.41  qed
  204.42 @@ -257,14 +257,14 @@
  204.43          by simp
  204.44        from x_r x_l Some x_l_Some del 
  204.45        show ?thesis
  204.46 -        by (clarsimp split: split_if_asm)
  204.47 +        by (clarsimp split: if_split_asm)
  204.48      next
  204.49        case None
  204.50        then have "x \<notin> set_of r"
  204.51          by (simp add: delete_None_set_of_conv)
  204.52        with x_l None x_l_Some del
  204.53        show ?thesis
  204.54 -        by (clarsimp split: split_if_asm)
  204.55 +        by (clarsimp split: if_split_asm)
  204.56      qed
  204.57    next
  204.58      case None
  204.59 @@ -279,14 +279,14 @@
  204.60          by simp
  204.61        from x_r x_notin_l Some x_l_None del 
  204.62        show ?thesis
  204.63 -        by (clarsimp split: split_if_asm)
  204.64 +        by (clarsimp split: if_split_asm)
  204.65      next
  204.66        case None
  204.67        then have "x \<notin> set_of r"
  204.68          by (simp add: delete_None_set_of_conv)
  204.69        with None x_l_None x_notin_l del
  204.70        show ?thesis
  204.71 -        by (clarsimp split: split_if_asm)
  204.72 +        by (clarsimp split: if_split_asm)
  204.73      qed
  204.74    qed
  204.75  qed
   205.1 --- a/src/HOL/Statespace/StateFun.thy	Tue Feb 23 16:50:10 2016 +0100
   205.2 +++ b/src/HOL/Statespace/StateFun.thy	Tue Feb 23 18:04:31 2016 +0100
   205.3 @@ -106,4 +106,4 @@
   205.4    apply simp
   205.5    oops
   205.6  
   205.7 -end
   205.8 \ No newline at end of file
   205.9 +end
   206.1 --- a/src/HOL/Statespace/StateSpaceLocale.thy	Tue Feb 23 16:50:10 2016 +0100
   206.2 +++ b/src/HOL/Statespace/StateSpaceLocale.thy	Tue Feb 23 18:04:31 2016 +0100
   206.3 @@ -36,4 +36,4 @@
   206.4  
   206.5  end
   206.6  
   206.7 -end
   206.8 \ No newline at end of file
   206.9 +end
   207.1 --- a/src/HOL/Statespace/distinct_tree_prover.ML	Tue Feb 23 16:50:10 2016 +0100
   207.2 +++ b/src/HOL/Statespace/distinct_tree_prover.ML	Tue Feb 23 18:04:31 2016 +0100
   207.3 @@ -365,4 +365,4 @@
   207.4  
   207.5  end;
   207.6  
   207.7 -end;
   207.8 \ No newline at end of file
   207.9 +end;
   208.1 --- a/src/HOL/TPTP/TPTP_Interpret.thy	Tue Feb 23 16:50:10 2016 +0100
   208.2 +++ b/src/HOL/TPTP/TPTP_Interpret.thy	Tue Feb 23 18:04:31 2016 +0100
   208.3 @@ -14,4 +14,4 @@
   208.4  
   208.5  ML_file "TPTP_Parser/tptp_interpret.ML"
   208.6  
   208.7 -end
   208.8 \ No newline at end of file
   208.9 +end
   209.1 --- a/src/HOL/TPTP/TPTP_Interpret_Test.thy	Tue Feb 23 16:50:10 2016 +0100
   209.2 +++ b/src/HOL/TPTP/TPTP_Interpret_Test.thy	Tue Feb 23 18:04:31 2016 +0100
   209.3 @@ -158,4 +158,4 @@
   209.4    else ()
   209.5  *}
   209.6  
   209.7 -end
   209.8 \ No newline at end of file
   209.9 +end
   210.1 --- a/src/HOL/TPTP/TPTP_Parser.thy	Tue Feb 23 16:50:10 2016 +0100
   210.2 +++ b/src/HOL/TPTP/TPTP_Parser.thy	Tue Feb 23 18:04:31 2016 +0100
   210.3 @@ -44,4 +44,4 @@
   210.4  performance of this software.
   210.5  *}
   210.6  
   210.7 -end
   210.8 \ No newline at end of file
   210.9 +end
   211.1 --- a/src/HOL/TPTP/TPTP_Parser_Test.thy	Tue Feb 23 16:50:10 2016 +0100
   211.2 +++ b/src/HOL/TPTP/TPTP_Parser_Test.thy	Tue Feb 23 18:04:31 2016 +0100
   211.3 @@ -125,4 +125,4 @@
   211.4    else ()
   211.5  *}
   211.6  
   211.7 -end
   211.8 \ No newline at end of file
   211.9 +end
   212.1 --- a/src/HOL/TPTP/TPTP_Proof_Reconstruction_Test.thy	Tue Feb 23 16:50:10 2016 +0100
   212.2 +++ b/src/HOL/TPTP/TPTP_Proof_Reconstruction_Test.thy	Tue Feb 23 18:04:31 2016 +0100
   212.3 @@ -822,4 +822,4 @@
   212.4  
   212.5  Use this to find the smallest failure, then debug that.
   212.6  *)
   212.7 -end
   212.8 \ No newline at end of file
   212.9 +end
   213.1 --- a/src/HOL/TPTP/TPTP_Proof_Reconstruction_Test_Units.thy	Tue Feb 23 16:50:10 2016 +0100
   213.2 +++ b/src/HOL/TPTP/TPTP_Proof_Reconstruction_Test_Units.thy	Tue Feb 23 18:04:31 2016 +0100
   213.3 @@ -2290,4 +2290,4 @@
   213.4  apply (tactic {*standard_cnf_tac @{context} 1*})
   213.5  done
   213.6  
   213.7 -end
   213.8 \ No newline at end of file
   213.9 +end
   214.1 --- a/src/HOL/TPTP/TPTP_Test.thy	Tue Feb 23 16:50:10 2016 +0100
   214.2 +++ b/src/HOL/TPTP/TPTP_Test.thy	Tue Feb 23 18:04:31 2016 +0100
   214.3 @@ -105,4 +105,4 @@
   214.4      Timing.timing TPTP_Parser.parse_file (Path.implode file)
   214.5  *}
   214.6  
   214.7 -end
   214.8 \ No newline at end of file
   214.9 +end
   215.1 --- a/src/HOL/Tools/BNF/bnf_gfp_rec_sugar_tactics.ML	Tue Feb 23 16:50:10 2016 +0100
   215.2 +++ b/src/HOL/Tools/BNF/bnf_gfp_rec_sugar_tactics.ML	Tue Feb 23 18:04:31 2016 +0100
   215.3 @@ -32,8 +32,8 @@
   215.4  val atomize_conjL = @{thm atomize_conjL};
   215.5  val falseEs = @{thms not_TrueE FalseE};
   215.6  val neq_eq_eq_contradict = @{thm neq_eq_eq_contradict};
   215.7 -val split_if = @{thm split_if};
   215.8 -val split_if_asm = @{thm split_if_asm};
   215.9 +val if_split = @{thm if_split};
  215.10 +val if_split_asm = @{thm if_split_asm};
  215.11  val split_connectI = @{thms allI impI conjI};
  215.12  val unfold_lets = @{thms Let_def[abs_def] split_beta}
  215.13  
  215.14 @@ -136,8 +136,8 @@
  215.15    HEADGOAL (REPEAT_DETERM o (rtac ctxt refl ORELSE'
  215.16      eresolve_tac ctxt falseEs ORELSE'
  215.17      resolve_tac ctxt split_connectI ORELSE'
  215.18 -    Splitter.split_asm_tac ctxt (split_if_asm :: split_asms) ORELSE'
  215.19 -    Splitter.split_tac ctxt (split_if :: splits) ORELSE'
  215.20 +    Splitter.split_asm_tac ctxt (if_split_asm :: split_asms) ORELSE'
  215.21 +    Splitter.split_tac ctxt (if_split :: splits) ORELSE'
  215.22      eresolve_tac ctxt (map (fn thm => thm RS neq_eq_eq_contradict) distincts) THEN'
  215.23      assume_tac ctxt ORELSE'
  215.24      etac ctxt notE THEN' assume_tac ctxt ORELSE'
  215.25 @@ -169,7 +169,7 @@
  215.26  fun raw_code_single_tac ctxt distincts discIs splits split_asms m fun_ctr =
  215.27    let
  215.28      val splits' =
  215.29 -      map (fn th => th RS iffD2) (@{thm split_if_eq2} :: map (inst_split_eq ctxt) splits);
  215.30 +      map (fn th => th RS iffD2) (@{thm if_split_eq2} :: map (inst_split_eq ctxt) splits);
  215.31    in
  215.32      HEADGOAL (REPEAT o (resolve_tac ctxt (splits' @ split_connectI))) THEN
  215.33      prelude_tac ctxt [] (fun_ctr RS trans) THEN
  215.34 @@ -177,8 +177,8 @@
  215.35        SELECT_GOAL (SOLVE (HEADGOAL (REPEAT_DETERM o
  215.36        (rtac ctxt refl ORELSE' assume_tac ctxt ORELSE'
  215.37         resolve_tac ctxt (@{thm Code.abort_def} :: split_connectI) ORELSE'
  215.38 -       Splitter.split_tac ctxt (split_if :: splits) ORELSE'
  215.39 -       Splitter.split_asm_tac ctxt (split_if_asm :: split_asms) ORELSE'
  215.40 +       Splitter.split_tac ctxt (if_split :: splits) ORELSE'
  215.41 +       Splitter.split_asm_tac ctxt (if_split_asm :: split_asms) ORELSE'
  215.42         mk_primcorec_assumption_tac ctxt discIs ORELSE'
  215.43         distinct_in_prems_tac ctxt distincts ORELSE'
  215.44         (TRY o dresolve_tac ctxt discIs) THEN' etac ctxt notE THEN' assume_tac ctxt)))))
  215.45 @@ -210,7 +210,7 @@
  215.46      SELECT_GOAL (unfold_thms_tac ctxt unfold_lets) THEN' REPEAT_DETERM o
  215.47      (rtac ctxt refl ORELSE' assume_tac ctxt ORELSE'
  215.48       resolve_tac ctxt split_connectI ORELSE'
  215.49 -     Splitter.split_tac ctxt (split_if :: splits) ORELSE'
  215.50 +     Splitter.split_tac ctxt (if_split :: splits) ORELSE'
  215.51       distinct_in_prems_tac ctxt distincts ORELSE'
  215.52       rtac ctxt sym THEN' assume_tac ctxt ORELSE'
  215.53       etac ctxt notE THEN' assume_tac ctxt));
   216.1 --- a/src/HOL/Tools/Predicate_Compile/core_data.ML	Tue Feb 23 16:50:10 2016 +0100
   216.2 +++ b/src/HOL/Tools/Predicate_Compile/core_data.ML	Tue Feb 23 18:04:31 2016 +0100
   216.3 @@ -477,4 +477,4 @@
   216.4      (map (fn (mode, (fun_name, random)) => (mode, (functional_compilation fun_name mode, random)))
   216.5      fun_names)
   216.6  
   216.7 -end
   216.8 \ No newline at end of file
   216.9 +end
   217.1 --- a/src/HOL/Tools/Predicate_Compile/mode_inference.ML	Tue Feb 23 16:50:10 2016 +0100
   217.2 +++ b/src/HOL/Tools/Predicate_Compile/mode_inference.ML	Tue Feb 23 18:04:31 2016 +0100
   217.3 @@ -544,4 +544,4 @@
   217.4      ((moded_clauses, need_random), errors)
   217.5    end;
   217.6  
   217.7 -end;
   217.8 \ No newline at end of file
   217.9 +end;
   218.1 --- a/src/HOL/Tools/Predicate_Compile/predicate_compile_proof.ML	Tue Feb 23 16:50:10 2016 +0100
   218.2 +++ b/src/HOL/Tools/Predicate_Compile/predicate_compile_proof.ML	Tue Feb 23 18:04:31 2016 +0100
   218.3 @@ -320,7 +320,7 @@
   218.4        else all_tac
   218.5    in
   218.6      split_term_tac (HOLogic.mk_tuple out_ts)
   218.7 -    THEN (DETERM (TRY ((Splitter.split_asm_tac ctxt @{thms split_if_asm} 1)
   218.8 +    THEN (DETERM (TRY ((Splitter.split_asm_tac ctxt @{thms if_split_asm} 1)
   218.9      THEN (eresolve_tac ctxt @{thms botE} 2))))
  218.10    end
  218.11  
  218.12 @@ -505,4 +505,4 @@
  218.13        else (fn _ => ALLGOALS (Skip_Proof.cheat_tac ctxt)))
  218.14    end
  218.15  
  218.16 -end
  218.17 \ No newline at end of file
  218.18 +end
   219.1 --- a/src/HOL/Tools/Predicate_Compile/predicate_compile_specialisation.ML	Tue Feb 23 16:50:10 2016 +0100
   219.2 +++ b/src/HOL/Tools/Predicate_Compile/predicate_compile_specialisation.ML	Tue Feb 23 18:04:31 2016 +0100
   219.3 @@ -209,4 +209,4 @@
   219.4      fold_map specialise' specs thy
   219.5    end
   219.6  
   219.7 -end
   219.8 \ No newline at end of file
   219.9 +end
   220.1 --- a/src/HOL/Tools/Quickcheck/abstract_generators.ML	Tue Feb 23 16:50:10 2016 +0100
   220.2 +++ b/src/HOL/Tools/Quickcheck/abstract_generators.ML	Tue Feb 23 18:04:31 2016 +0100
   220.3 @@ -75,4 +75,4 @@
   220.4        >> (fn ((tyco, opt_pred), constrs) =>
   220.5          Toplevel.theory (quickcheck_generator_cmd tyco opt_pred constrs)))
   220.6  
   220.7 -end;
   220.8 \ No newline at end of file
   220.9 +end;
   221.1 --- a/src/HOL/Tools/Sledgehammer/sledgehammer_prover_atp.ML	Tue Feb 23 16:50:10 2016 +0100
   221.2 +++ b/src/HOL/Tools/Sledgehammer/sledgehammer_prover_atp.ML	Tue Feb 23 18:04:31 2016 +0100
   221.3 @@ -412,4 +412,4 @@
   221.4       preferred_methss = preferred_methss, run_time = run_time, message = message}
   221.5    end
   221.6  
   221.7 -end;
   221.8 \ No newline at end of file
   221.9 +end;
   222.1 --- a/src/HOL/Tools/boolean_algebra_cancel.ML	Tue Feb 23 16:50:10 2016 +0100
   222.2 +++ b/src/HOL/Tools/boolean_algebra_cancel.ML	Tue Feb 23 18:04:31 2016 +0100
   222.3 @@ -78,4 +78,4 @@
   222.4  val cancel_sup_conv = cancel_conv true (fn pos => if pos then mk_meta_eq @{thm sup_cancel_left1} else mk_meta_eq @{thm sup_cancel_left2})
   222.5  val cancel_inf_conv = cancel_conv false (fn pos => if pos then mk_meta_eq @{thm inf_cancel_left1} else mk_meta_eq @{thm inf_cancel_left2})
   222.6  
   222.7 -end
   222.8 \ No newline at end of file
   222.9 +end
   223.1 --- a/src/HOL/Transcendental.thy	Tue Feb 23 16:50:10 2016 +0100
   223.2 +++ b/src/HOL/Transcendental.thy	Tue Feb 23 18:04:31 2016 +0100
   223.3 @@ -4265,11 +4265,11 @@
   223.4  
   223.5  lemma cos_tan: "\<bar>x\<bar> < pi/2 \<Longrightarrow> cos(x) = 1 / sqrt(1 + tan(x) ^ 2)"
   223.6    using cos_gt_zero_pi [of x]
   223.7 -  by (simp add: divide_simps tan_def real_sqrt_divide abs_if split: split_if_asm)
   223.8 +  by (simp add: divide_simps tan_def real_sqrt_divide abs_if split: if_split_asm)
   223.9  
  223.10  lemma sin_tan: "\<bar>x\<bar> < pi/2 \<Longrightarrow> sin(x) = tan(x) / sqrt(1 + tan(x) ^ 2)"
  223.11    using cos_gt_zero [of "x"] cos_gt_zero [of "-x"]
  223.12 -  by (force simp add: divide_simps tan_def real_sqrt_divide abs_if split: split_if_asm)
  223.13 +  by (force simp add: divide_simps tan_def real_sqrt_divide abs_if split: if_split_asm)
  223.14  
  223.15  lemma tan_mono_le: "-(pi/2) < x ==> x \<le> y ==> y < pi/2 \<Longrightarrow> tan(x) \<le> tan(y)"
  223.16    using less_eq_real_def tan_monotone by auto
  223.17 @@ -4284,7 +4284,7 @@
  223.18  
  223.19  lemma tan_bound_pi2: "\<bar>x\<bar> < pi/4 \<Longrightarrow> \<bar>tan x\<bar> < 1"
  223.20    using tan_45 tan_monotone [of x "pi/4"] tan_monotone [of "-x" "pi/4"]
  223.21 -  by (auto simp: abs_if split: split_if_asm)
  223.22 +  by (auto simp: abs_if split: if_split_asm)
  223.23  
  223.24  lemma tan_cot: "tan(pi/2 - x) = inverse(tan x)"
  223.25    by (simp add: tan_def sin_diff cos_diff)
   224.1 --- a/src/HOL/UNITY/Lift_prog.thy	Tue Feb 23 16:50:10 2016 +0100
   224.2 +++ b/src/HOL/UNITY/Lift_prog.thy	Tue Feb 23 18:04:31 2016 +0100
   224.3 @@ -129,7 +129,7 @@
   224.4        ==> \<exists>g'. insert_map i s' f = insert_map j t g'"
   224.5  apply (subst insert_map_upd_same [symmetric])
   224.6  apply (erule ssubst)
   224.7 -apply (simp only: insert_map_upd if_False split: split_if, blast)
   224.8 +apply (simp only: insert_map_upd if_False split: if_split, blast)
   224.9  done
  224.10  
  224.11  lemma lift_map_eq_diff: 
   225.1 --- a/src/HOL/UNITY/Simple/Channel.thy	Tue Feb 23 16:50:10 2016 +0100
   225.2 +++ b/src/HOL/UNITY/Simple/Channel.thy	Tue Feb 23 18:04:31 2016 +0100
   225.3 @@ -29,7 +29,7 @@
   225.4  (*None represents "infinity" while Some represents proper integers*)
   225.5  lemma minSet_eq_SomeD: "minSet A = Some x ==> x \<in> A"
   225.6  apply (unfold minSet_def)
   225.7 -apply (simp split: split_if_asm)
   225.8 +apply (simp split: if_split_asm)
   225.9  apply (fast intro: LeastI)
  225.10  done
  225.11  
   226.1 --- a/src/HOL/UNITY/Simple/Lift.thy	Tue Feb 23 16:50:10 2016 +0100
   226.2 +++ b/src/HOL/UNITY/Simple/Lift.thy	Tue Feb 23 18:04:31 2016 +0100
   226.3 @@ -336,7 +336,7 @@
   226.4  
   226.5  (** Towards lift_4 ***)
   226.6   
   226.7 -declare split_if_asm [split]
   226.8 +declare if_split_asm [split]
   226.9  
  226.10  
  226.11  (*lem_lift_4_1 *)
   227.1 --- a/src/HOL/UNITY/Simple/Reach.thy	Tue Feb 23 16:50:10 2016 +0100
   227.2 +++ b/src/HOL/UNITY/Simple/Reach.thy	Tue Feb 23 18:04:31 2016 +0100
   227.3 @@ -45,7 +45,7 @@
   227.4      "[| if P then Q else R;     
   227.5          [| P;   Q |] ==> S;     
   227.6          [| ~ P; R |] ==> S |] ==> S"
   227.7 -by (simp split: split_if_asm) 
   227.8 +by (simp split: if_split_asm) 
   227.9  
  227.10  
  227.11  declare Rprg_def [THEN def_prg_Init, simp]
   228.1 --- a/src/HOL/UNITY/Simple/Reachability.thy	Tue Feb 23 16:50:10 2016 +0100
   228.2 +++ b/src/HOL/UNITY/Simple/Reachability.thy	Tue Feb 23 18:04:31 2016 +0100
   228.3 @@ -94,7 +94,7 @@
   228.4  
   228.5  lemma Detects_part1: "F \<in> {s. (root,v) \<in> REACHABLE} LeadsTo reachable v"
   228.6  apply (rule single_LeadsTo_I)
   228.7 -apply (simp split add: split_if_asm)
   228.8 +apply (simp split add: if_split_asm)
   228.9  apply (rule MA1 [THEN Always_LeadsToI])
  228.10  apply (erule REACHABLE_LeadsTo_reachable [THEN LeadsTo_weaken_L], auto)
  228.11  done
  228.12 @@ -147,7 +147,7 @@
  228.13    ==> (\<Inter>v \<in> V. \<Inter>e \<in> E. {s. ((s \<in> reachable v) = ((root,v) \<in> REACHABLE))}  
  228.14                             \<inter> nmsg_eq 0 e)    \<subseteq>  final"
  228.15  apply (unfold final_def Equality_def)
  228.16 -apply (auto split add: split_if_asm)
  228.17 +apply (auto split add: if_split_asm)
  228.18  apply (frule E_imp_in_V_L, blast)
  228.19  done
  228.20  
  228.21 @@ -197,7 +197,7 @@
  228.22         (-{s. (v,w) \<in> E} \<union> (nmsg_eq 0 (v,w))))"
  228.23  apply (unfold final_def)
  228.24  apply (rule subset_antisym, blast)
  228.25 -apply (auto split add: split_if_asm)
  228.26 +apply (auto split add: if_split_asm)
  228.27  apply (blast dest: E_imp_in_V_L E_imp_in_V_R)+
  228.28  done
  228.29  
   229.1 --- a/src/HOL/Word/Bool_List_Representation.thy	Tue Feb 23 16:50:10 2016 +0100
   229.2 +++ b/src/HOL/Word/Bool_List_Representation.thy	Tue Feb 23 18:04:31 2016 +0100
   229.3 @@ -922,8 +922,8 @@
   229.4  lemmas bin_rsplit_aux_simps = bin_rsplit_aux.simps bin_rsplitl_aux.simps
   229.5  lemmas rsplit_aux_simps = bin_rsplit_aux_simps
   229.6  
   229.7 -lemmas th_if_simp1 = split_if [where P = "op = l", THEN iffD1, THEN conjunct1, THEN mp] for l
   229.8 -lemmas th_if_simp2 = split_if [where P = "op = l", THEN iffD1, THEN conjunct2, THEN mp] for l
   229.9 +lemmas th_if_simp1 = if_split [where P = "op = l", THEN iffD1, THEN conjunct1, THEN mp] for l
  229.10 +lemmas th_if_simp2 = if_split [where P = "op = l", THEN iffD1, THEN conjunct2, THEN mp] for l
  229.11  
  229.12  lemmas rsplit_aux_simp1s = rsplit_aux_simps [THEN th_if_simp1]
  229.13  
  229.14 @@ -995,7 +995,7 @@
  229.15     apply clarsimp
  229.16    apply clarsimp
  229.17    apply (drule bthrs)
  229.18 -  apply (simp (no_asm_use) add: Let_def split: prod.split_asm split_if_asm)
  229.19 +  apply (simp (no_asm_use) add: Let_def split: prod.split_asm if_split_asm)
  229.20    apply clarify
  229.21    apply (drule split_bintrunc)
  229.22    apply simp
  229.23 @@ -1011,7 +1011,7 @@
  229.24     apply clarsimp
  229.25    apply clarsimp
  229.26    apply (drule bthrs)
  229.27 -  apply (simp (no_asm_use) add: Let_def split: prod.split_asm split_if_asm)
  229.28 +  apply (simp (no_asm_use) add: Let_def split: prod.split_asm if_split_asm)
  229.29    apply clarify
  229.30    apply (erule allE, erule impE, erule exI)
  229.31    apply (case_tac k)
   230.1 --- a/src/HOL/Word/Word.thy	Tue Feb 23 16:50:10 2016 +0100
   230.2 +++ b/src/HOL/Word/Word.thy	Tue Feb 23 18:04:31 2016 +0100
   230.3 @@ -1545,7 +1545,7 @@
   230.4  fun uint_arith_simpset ctxt = 
   230.5    ctxt addsimps @{thms uint_arith_simps}
   230.6       delsimps @{thms word_uint.Rep_inject}
   230.7 -     |> fold Splitter.add_split @{thms split_if_asm}
   230.8 +     |> fold Splitter.add_split @{thms if_split_asm}
   230.9       |> fold Simplifier.add_cong @{thms power_False_cong}
  230.10  
  230.11  fun uint_arith_tacs ctxt = 
  230.12 @@ -1748,7 +1748,7 @@
  230.13    using [[simproc del: linordered_ring_less_cancel_factor]]
  230.14    apply (unfold udvd_def)
  230.15    apply clarify
  230.16 -  apply (simp add: uint_arith_simps split: split_if_asm)
  230.17 +  apply (simp add: uint_arith_simps split: if_split_asm)
  230.18     prefer 2 
  230.19     apply (insert uint_range' [of s])[1]
  230.20     apply arith
  230.21 @@ -2047,7 +2047,7 @@
  230.22  fun unat_arith_simpset ctxt = 
  230.23    ctxt addsimps @{thms unat_arith_simps}
  230.24       delsimps @{thms word_unat.Rep_inject}
  230.25 -     |> fold Splitter.add_split @{thms split_if_asm}
  230.26 +     |> fold Splitter.add_split @{thms if_split_asm}
  230.27       |> fold Simplifier.add_cong @{thms power_False_cong}
  230.28  
  230.29  fun unat_arith_tacs ctxt =   
  230.30 @@ -4217,7 +4217,7 @@
  230.31  
  230.32    show ?thesis
  230.33    apply (unfold word_rot_defs)
  230.34 -  apply (simp only: split: split_if)
  230.35 +  apply (simp only: split: if_split)
  230.36    apply (safe intro!: abl_cong)
  230.37    apply (simp_all only: to_bl_rotl [THEN word_bl.Rep_inverse'] 
  230.38                      to_bl_rotl
   231.1 --- a/src/HOL/Word/WordBitwise.thy	Tue Feb 23 16:50:10 2016 +0100
   231.2 +++ b/src/HOL/Word/WordBitwise.thy	Tue Feb 23 18:04:31 2016 +0100
   231.3 @@ -572,7 +572,7 @@
   231.4  
   231.5  val no_split_ss =
   231.6    simpset_of (put_simpset HOL_ss @{context}
   231.7 -    |> Splitter.del_split @{thm split_if});
   231.8 +    |> Splitter.del_split @{thm if_split});
   231.9  
  231.10  val expand_word_eq_sss =
  231.11    (simpset_of (put_simpset HOL_basic_ss @{context} addsimps
   232.1 --- a/src/HOL/Word/Word_Miscellaneous.thy	Tue Feb 23 16:50:10 2016 +0100
   232.2 +++ b/src/HOL/Word/Word_Miscellaneous.thy	Tue Feb 23 18:04:31 2016 +0100
   232.3 @@ -54,7 +54,7 @@
   232.4    "y = xa # list ==> size y = Suc k ==> size list = k"
   232.5    by auto
   232.6  
   232.7 -lemmas ls_splits = prod.split prod.split_asm split_if_asm
   232.8 +lemmas ls_splits = prod.split prod.split_asm if_split_asm
   232.9  
  232.10  lemma not_B1_is_B0: "y \<noteq> (1::bit) \<Longrightarrow> y = (0::bit)"
  232.11    by (cases y) auto
   233.1 --- a/src/HOL/ex/Cubic_Quartic.thy	Tue Feb 23 16:50:10 2016 +0100
   233.2 +++ b/src/HOL/ex/Cubic_Quartic.thy	Tue Feb 23 18:04:31 2016 +0100
   233.3 @@ -142,4 +142,4 @@
   233.4  apply algebra
   233.5  done
   233.6  
   233.7 -end
   233.8 \ No newline at end of file
   233.9 +end
   234.1 --- a/src/HOL/ex/Erdoes_Szekeres.thy	Tue Feb 23 16:50:10 2016 +0100
   234.2 +++ b/src/HOL/ex/Erdoes_Szekeres.thy	Tue Feb 23 18:04:31 2016 +0100
   234.3 @@ -161,4 +161,4 @@
   234.4    from card_le card_eq show False by simp
   234.5  qed
   234.6  
   234.7 -end
   234.8 \ No newline at end of file
   234.9 +end
   235.1 --- a/src/HOL/ex/FinFunPred.thy	Tue Feb 23 16:50:10 2016 +0100
   235.2 +++ b/src/HOL/ex/FinFunPred.thy	Tue Feb 23 18:04:31 2016 +0100
   235.3 @@ -142,7 +142,7 @@
   235.4  
   235.5  lemma finfun_Ball_except_update:
   235.6    "finfun_Ball_except xs (A(a $:= b)) P = ((a \<in> set xs \<or> (b \<longrightarrow> P a)) \<and> finfun_Ball_except (a # xs) A P)"
   235.7 -by(fastforce simp add: finfun_Ball_except_def finfun_upd_apply split: split_if_asm)
   235.8 +by(fastforce simp add: finfun_Ball_except_def finfun_upd_apply split: if_split_asm)
   235.9  
  235.10  lemma finfun_Ball_except_update_code [code]:
  235.11    fixes a :: "'a :: card_UNIV"
  235.12 @@ -169,7 +169,7 @@
  235.13  
  235.14  lemma finfun_Bex_except_update: 
  235.15    "finfun_Bex_except xs (A(a $:= b)) P \<longleftrightarrow> (a \<notin> set xs \<and> b \<and> P a) \<or> finfun_Bex_except (a # xs) A P"
  235.16 -by(fastforce simp add: finfun_Bex_except_def finfun_upd_apply dest: bspec split: split_if_asm)
  235.17 +by(fastforce simp add: finfun_Bex_except_def finfun_upd_apply dest: bspec split: if_split_asm)
  235.18  
  235.19  lemma finfun_Bex_except_update_code [code]:
  235.20    fixes a :: "'a :: card_UNIV"
  235.21 @@ -265,4 +265,4 @@
  235.22  end
  235.23  declare iso_finfun_Ball_Ball[code_unfold del]
  235.24  
  235.25 -end
  235.26 \ No newline at end of file
  235.27 +end
   236.1 --- a/src/HOL/ex/Induction_Schema.thy	Tue Feb 23 16:50:10 2016 +0100
   236.2 +++ b/src/HOL/ex/Induction_Schema.thy	Tue Feb 23 18:04:31 2016 +0100
   236.3 @@ -45,4 +45,4 @@
   236.4    using assms
   236.5  by induction_schema (pat_completeness+, lexicographic_order)
   236.6  
   236.7 -end
   236.8 \ No newline at end of file
   236.9 +end
   237.1 --- a/src/HOL/ex/Pythagoras.thy	Tue Feb 23 16:50:10 2016 +0100
   237.2 +++ b/src/HOL/ex/Pythagoras.thy	Tue Feb 23 18:04:31 2016 +0100
   237.3 @@ -29,4 +29,4 @@
   237.4   shows "vecsqnorm(vector C A) = vecsqnorm(vector B  A) + vecsqnorm(vector C B)"
   237.5     using o unfolding ort vc vcn by (algebra add: fst_conv snd_conv)
   237.6   
   237.7 - end
   237.8 \ No newline at end of file
   237.9 + end
   238.1 --- a/src/HOL/ex/Tarski.thy	Tue Feb 23 16:50:10 2016 +0100
   238.2 +++ b/src/HOL/ex/Tarski.thy	Tue Feb 23 18:04:31 2016 +0100
   238.3 @@ -659,7 +659,7 @@
   238.4  apply (erule exE)
   238.5  \<comment> \<open>define the lub for the interval as\<close>
   238.6  apply (rule_tac x = "if S = {} then a else L" in exI)
   238.7 -apply (simp (no_asm_simp) add: isLub_def split del: split_if)
   238.8 +apply (simp (no_asm_simp) add: isLub_def split del: if_split)
   238.9  apply (intro impI conjI)
  238.10  \<comment> \<open>\<open>(if S = {} then a else L) \<in> interval r a b\<close>\<close>
  238.11  apply (simp add: CL_imp_PO L_in_interval)
   239.1 --- a/src/HOL/ex/Unification.thy	Tue Feb 23 16:50:10 2016 +0100
   239.2 +++ b/src/HOL/ex/Unification.thy	Tue Feb 23 18:04:31 2016 +0100
   239.3 @@ -285,7 +285,7 @@
   239.4        thus ?thesis by auto
   239.5      qed auto
   239.6    qed
   239.7 -qed (auto split: split_if_asm)
   239.8 +qed (auto split: if_split_asm)
   239.9  
  239.10  
  239.11  text \<open>The result of a unification is either the identity
  239.12 @@ -458,7 +458,7 @@
  239.13        by (rule subst_eq_intro, auto simp:subst_eq_dest[OF eqv] subst_eq_dest[OF eqv2])
  239.14      thus "\<exists>\<gamma>. \<sigma>' \<doteq> \<sigma> \<lozenge> \<gamma>" ..
  239.15    qed
  239.16 -qed (auto simp: MGU_Const intro: MGU_Var MGU_Var[symmetric] split: split_if_asm)
  239.17 +qed (auto simp: MGU_Const intro: MGU_Var MGU_Var[symmetric] split: if_split_asm)
  239.18  
  239.19  
  239.20  subsection \<open>Unification returns Idempotent Substitution\<close>
   240.1 --- a/src/HOL/ex/While_Combinator_Example.thy	Tue Feb 23 16:50:10 2016 +0100
   240.2 +++ b/src/HOL/ex/While_Combinator_Example.thy	Tue Feb 23 18:04:31 2016 +0100
   240.3 @@ -57,4 +57,4 @@
   240.4      done
   240.5  qed
   240.6  
   240.7 -end
   240.8 \ No newline at end of file
   240.9 +end