isabelle update_cartouches;
authorwenzelm
Wed Jun 10 19:10:20 2015 +0200 (2015-06-10)
changeset 60420884f54e01427
parent 60419 7c2404ca7f49
child 60421 92d9557fb78c
isabelle update_cartouches;
src/HOL/Multivariate_Analysis/Bounded_Continuous_Function.thy
src/HOL/Multivariate_Analysis/Brouwer_Fixpoint.thy
src/HOL/Multivariate_Analysis/Cartesian_Euclidean_Space.thy
src/HOL/Multivariate_Analysis/Complex_Analysis_Basics.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/Determinants.thy
src/HOL/Multivariate_Analysis/Euclidean_Space.thy
src/HOL/Multivariate_Analysis/Extended_Real_Limits.thy
src/HOL/Multivariate_Analysis/Fashoda.thy
src/HOL/Multivariate_Analysis/Finite_Cartesian_Product.thy
src/HOL/Multivariate_Analysis/Integration.thy
src/HOL/Multivariate_Analysis/L2_Norm.thy
src/HOL/Multivariate_Analysis/Linear_Algebra.thy
src/HOL/Multivariate_Analysis/Norm_Arith.thy
src/HOL/Multivariate_Analysis/Operator_Norm.thy
src/HOL/Multivariate_Analysis/Ordered_Euclidean_Space.thy
src/HOL/Multivariate_Analysis/Path_Connected.thy
src/HOL/Multivariate_Analysis/PolyRoots.thy
src/HOL/Multivariate_Analysis/Topology_Euclidean_Space.thy
src/HOL/Multivariate_Analysis/ex/Approximations.thy
     1.1 --- a/src/HOL/Multivariate_Analysis/Bounded_Continuous_Function.thy	Wed Jun 10 19:05:19 2015 +0200
     1.2 +++ b/src/HOL/Multivariate_Analysis/Bounded_Continuous_Function.thy	Wed Jun 10 19:10:20 2015 +0200
     1.3 @@ -1,9 +1,9 @@
     1.4 -section {* Bounded Continuous Functions *}
     1.5 +section \<open>Bounded Continuous Functions\<close>
     1.6  theory Bounded_Continuous_Function
     1.7  imports Integration
     1.8  begin
     1.9  
    1.10 -subsection{* Definition *}
    1.11 +subsection\<open>Definition\<close>
    1.12  
    1.13  definition "bcontfun = {f :: 'a::topological_space \<Rightarrow> 'b::metric_space. continuous_on UNIV f \<and> bounded (range f)}"
    1.14  
    1.15 @@ -143,7 +143,7 @@
    1.16      moreover have "eventually (\<lambda>xa. Rep_bcontfun (f xa) x \<in> X x) sequentially"
    1.17      proof (rule always_eventually, safe)
    1.18        fix i
    1.19 -      from seq[THEN spec, of i] `x \<in> I`
    1.20 +      from seq[THEN spec, of i] \<open>x \<in> I\<close>
    1.21        show "Rep_bcontfun (f i) x \<in> X x"
    1.22          by (auto simp: Abs_bcontfun_inverse)
    1.23      qed
    1.24 @@ -155,24 +155,24 @@
    1.25    qed (auto simp: Rep_bcontfun Rep_bcontfun_inverse)
    1.26  qed
    1.27  
    1.28 -subsection {* Complete Space *}
    1.29 +subsection \<open>Complete Space\<close>
    1.30  
    1.31  instance bcontfun :: (metric_space, complete_space) complete_space
    1.32  proof
    1.33    fix f::"nat \<Rightarrow> ('a,'b) bcontfun"
    1.34 -  assume "Cauchy f" --{* Cauchy equals uniform convergence *}
    1.35 +  assume "Cauchy f" --\<open>Cauchy equals uniform convergence\<close>
    1.36    then obtain g where limit_function:
    1.37      "\<forall>e>0. \<exists>N. \<forall>n\<ge>N. \<forall>x. dist (Rep_bcontfun (f n) x) (g x) < e"
    1.38      using uniformly_convergent_eq_cauchy[of "\<lambda>_. True"
    1.39        "\<lambda>n. Rep_bcontfun (f n)"]
    1.40      unfolding Cauchy_def by (metis dist_fun_lt_imp_dist_val_lt)
    1.41  
    1.42 -  then obtain N where fg_dist: --{* for an upper bound on g *}
    1.43 +  then obtain N where fg_dist: --\<open>for an upper bound on g\<close>
    1.44      "\<forall>n\<ge>N. \<forall>x. dist (g x) ( Rep_bcontfun (f n) x) < 1"
    1.45      by (force simp add: dist_commute)
    1.46    from bcontfunE'[OF Rep_bcontfun, of "f N"] obtain b where
    1.47      f_bound: "\<forall>x. dist (Rep_bcontfun (f N) x) undefined \<le> b" by force
    1.48 -  have "g \<in> bcontfun" --{* The limit function is bounded and continuous *}
    1.49 +  have "g \<in> bcontfun" --\<open>The limit function is bounded and continuous\<close>
    1.50    proof (intro bcontfunI)
    1.51      show "continuous_on UNIV g"
    1.52        using bcontfunE[OF Rep_bcontfun] limit_function
    1.53 @@ -189,7 +189,7 @@
    1.54    qed
    1.55    show "convergent f"
    1.56    proof (rule convergentI, subst lim_sequentially, safe)
    1.57 -    --{* The limit function converges according to its norm *}
    1.58 +    --\<open>The limit function converges according to its norm\<close>
    1.59      fix e::real
    1.60      assume "e > 0" hence "e/2 > 0" by simp
    1.61      with limit_function[THEN spec, of"e/2"]
    1.62 @@ -203,12 +203,12 @@
    1.63        with N show "dist (f n) (Abs_bcontfun g) < e"
    1.64          using dist_val_lt_imp_dist_fun_le[of
    1.65            "f n" "Abs_bcontfun g" "e/2"]
    1.66 -          Abs_bcontfun_inverse[OF `g \<in> bcontfun`] `e > 0` by simp
    1.67 +          Abs_bcontfun_inverse[OF \<open>g \<in> bcontfun\<close>] \<open>e > 0\<close> by simp
    1.68      qed
    1.69    qed
    1.70  qed
    1.71  
    1.72 -subsection{* Supremum norm for a normed vector space *}
    1.73 +subsection\<open>Supremum norm for a normed vector space\<close>
    1.74  
    1.75  instantiation bcontfun :: (topological_space, real_normed_vector) real_vector
    1.76  begin
    1.77 @@ -378,7 +378,7 @@
    1.78    by (simp add: norm_bcontfun_def norm_conv_dist Abs_bcontfun_inverse zero_bcontfun_def
    1.79      const_bcontfun)
    1.80  
    1.81 -subsection{* Continuously Extended Functions *}
    1.82 +subsection\<open>Continuously Extended Functions\<close>
    1.83  
    1.84  definition clamp::"'a::euclidean_space \<Rightarrow> 'a \<Rightarrow> 'a \<Rightarrow> 'a" where
    1.85    "clamp a b x = (\<Sum>i\<in>Basis. (if x\<bullet>i < a\<bullet>i then a\<bullet>i else if x\<bullet>i \<le> b\<bullet>i then x\<bullet>i else b\<bullet>i) *\<^sub>R i)"
     2.1 --- a/src/HOL/Multivariate_Analysis/Brouwer_Fixpoint.thy	Wed Jun 10 19:05:19 2015 +0200
     2.2 +++ b/src/HOL/Multivariate_Analysis/Brouwer_Fixpoint.thy	Wed Jun 10 19:10:20 2015 +0200
     2.3 @@ -16,7 +16,7 @@
     2.4  (*              (c) Copyright, John Harrison 1998-2008                       *)
     2.5  (* ========================================================================= *)
     2.6  
     2.7 -section {* Results connected with topological dimension. *}
     2.8 +section \<open>Results connected with topological dimension.\<close>
     2.9  
    2.10  theory Brouwer_Fixpoint
    2.11  imports Convex_Euclidean_Space
    2.12 @@ -137,7 +137,7 @@
    2.13  qed
    2.14  
    2.15  
    2.16 -subsection {* The key "counting" observation, somewhat abstracted. *}
    2.17 +subsection \<open>The key "counting" observation, somewhat abstracted.\<close>
    2.18  
    2.19  lemma kuhn_counting_lemma:
    2.20    fixes bnd compo compo' face S F
    2.21 @@ -168,7 +168,7 @@
    2.22      by auto
    2.23  qed
    2.24  
    2.25 -subsection {* The odd/even result for faces of complete vertices, generalized. *}
    2.26 +subsection \<open>The odd/even result for faces of complete vertices, generalized.\<close>
    2.27  
    2.28  lemma kuhn_complete_lemma:
    2.29    assumes [simp]: "finite simplices"
    2.30 @@ -187,7 +187,7 @@
    2.31    have F_eq: "?F = (\<Union>s\<in>simplices. \<Union>a\<in>s. {s - {a}})"
    2.32      by (auto simp: face)
    2.33    show "finite ?F"
    2.34 -    using `finite simplices` unfolding F_eq by auto
    2.35 +    using \<open>finite simplices\<close> unfolding F_eq by auto
    2.36  
    2.37    { fix f assume "f \<in> ?F" "bnd f" then show "card {s \<in> simplices. face f s} = 1"
    2.38        using bnd by auto }
    2.39 @@ -213,7 +213,7 @@
    2.40      ultimately have n: "{..n} = rl ` (s - {a})"
    2.41        by (auto simp add: inj_on_image_set_diff Diff_subset rl)
    2.42      have "{a\<in>s. rl ` (s - {a}) = {..n}} = {a}"
    2.43 -      using inj_rl `a \<in> s` by (auto simp add: n inj_on_image_eq_iff[OF inj_rl] Diff_subset)
    2.44 +      using inj_rl \<open>a \<in> s\<close> by (auto simp add: n inj_on_image_eq_iff[OF inj_rl] Diff_subset)
    2.45      then show "card ?S = 1"
    2.46        unfolding card_S by simp }
    2.47  
    2.48 @@ -236,16 +236,16 @@
    2.49          then have "rl ` s - {rl x} = rl ` ((s - {a}) - {x})"
    2.50            by (auto simp: eq Diff_subset inj_on_image_set_diff[OF inj])
    2.51          also have "\<dots> = rl ` (s - {x})"
    2.52 -          using ab `x \<notin> {a, b}` by auto
    2.53 +          using ab \<open>x \<notin> {a, b}\<close> by auto
    2.54          also assume "\<dots> = rl ` s"
    2.55          finally have False
    2.56 -          using `x\<in>s` by auto }
    2.57 +          using \<open>x\<in>s\<close> by auto }
    2.58        moreover
    2.59        { fix x assume "x \<in> {a, b}" with ab have "x \<in> s \<and> rl ` (s - {x}) = rl ` s"
    2.60            by (simp add: set_eq_iff image_iff Bex_def) metis }
    2.61        ultimately have "{a\<in>s. rl ` (s - {a}) = {..n}} = {a, b}"
    2.62          unfolding rl_s[symmetric] by fastforce
    2.63 -      with `a \<noteq> b` show "card ?S = 0 \<or> card ?S = 2"
    2.64 +      with \<open>a \<noteq> b\<close> show "card ?S = 0 \<or> card ?S = 2"
    2.65          unfolding card_S by simp
    2.66      next
    2.67        assume "\<not> {..n} \<subseteq> rl ` s"
    2.68 @@ -321,7 +321,7 @@
    2.69      unfolding s_eq by auto
    2.70    from this[of 0] this[of n] have "j \<notin> upd ` {..< n}"
    2.71      by (auto simp: enum_def fun_eq_iff split: split_if_asm)
    2.72 -  with upd `j < n` show False
    2.73 +  with upd \<open>j < n\<close> show False
    2.74      by (auto simp: bij_betw_def)
    2.75  qed
    2.76  
    2.77 @@ -394,7 +394,7 @@
    2.78    assume "x \<noteq> a"
    2.79    have "a j \<noteq> 0"
    2.80      using assms by (intro one_step[where a=a]) auto
    2.81 -  with less[OF `x\<in>s` `a\<in>s`, of j] p[rule_format, of x] `x \<in> s` `x \<noteq> a`
    2.82 +  with less[OF \<open>x\<in>s\<close> \<open>a\<in>s\<close>, of j] p[rule_format, of x] \<open>x \<in> s\<close> \<open>x \<noteq> a\<close>
    2.83    show ?thesis
    2.84      by auto
    2.85  qed simp
    2.86 @@ -406,10 +406,10 @@
    2.87    assume "x \<noteq> a"
    2.88    have "a j \<noteq> p"
    2.89      using assms by (intro one_step[where a=a]) auto
    2.90 -  with enum_le_p[of _ j] `j < n` `a\<in>s`
    2.91 +  with enum_le_p[of _ j] \<open>j < n\<close> \<open>a\<in>s\<close>
    2.92    have "a j < p"
    2.93      by (auto simp: less_le s_eq)
    2.94 -  with less[OF `a\<in>s` `x\<in>s`, of j] p[rule_format, of x] `x \<in> s` `x \<noteq> a`
    2.95 +  with less[OF \<open>a\<in>s\<close> \<open>x\<in>s\<close>, of j] p[rule_format, of x] \<open>x \<in> s\<close> \<open>x \<noteq> a\<close>
    2.96    show ?thesis
    2.97      by auto
    2.98  qed simp
    2.99 @@ -428,24 +428,24 @@
   2.100    case base
   2.101    then have s: "s.enum i \<in> t.enum ` {i + d .. j + d}" and t: "t.enum (i + d) \<in> s.enum ` {i .. j}"
   2.102      using eq by auto
   2.103 -  from t `i \<le> j` `j + d \<le> n` have "s.enum i \<le> t.enum (i + d)"
   2.104 +  from t \<open>i \<le> j\<close> \<open>j + d \<le> n\<close> have "s.enum i \<le> t.enum (i + d)"
   2.105      by (auto simp: s.enum_mono)
   2.106 -  moreover from s `i \<le> j` `j + d \<le> n` have "t.enum (i + d) \<le> s.enum i"
   2.107 +  moreover from s \<open>i \<le> j\<close> \<open>j + d \<le> n\<close> have "t.enum (i + d) \<le> s.enum i"
   2.108      by (auto simp: t.enum_mono)
   2.109    ultimately show ?case
   2.110      by auto
   2.111  next
   2.112    case (step l)
   2.113 -  moreover from step.prems `j + d \<le> n` have
   2.114 +  moreover from step.prems \<open>j + d \<le> n\<close> have
   2.115        "s.enum l < s.enum (Suc l)"
   2.116        "t.enum (l + d) < t.enum (Suc l + d)"
   2.117      by (simp_all add: s.enum_strict_mono t.enum_strict_mono)
   2.118    moreover have
   2.119        "s.enum (Suc l) \<in> t.enum ` {i + d .. j + d}"
   2.120        "t.enum (Suc l + d) \<in> s.enum ` {i .. j}"
   2.121 -    using step `j + d \<le> n` eq by (auto simp: s.enum_inj t.enum_inj)
   2.122 +    using step \<open>j + d \<le> n\<close> eq by (auto simp: s.enum_inj t.enum_inj)
   2.123    ultimately have "s.enum (Suc l) = t.enum (Suc (l + d))"
   2.124 -    using `j + d \<le> n`
   2.125 +    using \<open>j + d \<le> n\<close>
   2.126      by (intro antisym s.enum_less[THEN iffD1] t.enum_less[THEN iffD1]) 
   2.127         (auto intro!: s.enum_in t.enum_in)
   2.128    then show ?case by simp
   2.129 @@ -462,7 +462,7 @@
   2.130    assume "n \<noteq> 0"
   2.131    have "s.enum 0 = (s.enum (Suc 0)) (u_s 0 := s.enum (Suc 0) (u_s 0) - 1)"
   2.132         "t.enum 0 = (t.enum (Suc 0)) (u_t 0 := t.enum (Suc 0) (u_t 0) - 1)"
   2.133 -    using `n \<noteq> 0` by (simp_all add: s.enum_Suc t.enum_Suc)
   2.134 +    using \<open>n \<noteq> 0\<close> by (simp_all add: s.enum_Suc t.enum_Suc)
   2.135    moreover have e0: "a = s.enum 0" "b = t.enum 0"
   2.136      using a b by (simp_all add: s.enum_0_bot t.enum_0_bot)
   2.137    moreover
   2.138 @@ -473,7 +473,7 @@
   2.139        using enum_eq[of "1" j n 0] eq by auto }
   2.140    note enum_eq = this
   2.141    then have "s.enum (Suc 0) = t.enum (Suc 0)"
   2.142 -    using `n \<noteq> 0` by auto
   2.143 +    using \<open>n \<noteq> 0\<close> by auto
   2.144    moreover
   2.145    { fix j assume "Suc j < n"
   2.146      with enum_eq[of "Suc j"] enum_eq[of "Suc (Suc j)"]
   2.147 @@ -482,7 +482,7 @@
   2.148        by (auto simp: fun_eq_iff split: split_if_asm) }
   2.149    then have "\<And>j. 0 < j \<Longrightarrow> j < n \<Longrightarrow> u_s j = u_t j"
   2.150      by (auto simp: gr0_conv_Suc)
   2.151 -  with `n \<noteq> 0` have "u_t 0 = u_s 0"
   2.152 +  with \<open>n \<noteq> 0\<close> have "u_t 0 = u_s 0"
   2.153      by (intro bij_betw_singleton_eq[OF t.upd s.upd, of 0]) auto
   2.154    ultimately have "a = b"
   2.155      by simp
   2.156 @@ -539,7 +539,7 @@
   2.157    { fix a s assume "ksimplex p n s" "a \<in> s"
   2.158      then obtain b u where "kuhn_simplex p n b u s" by (auto elim: ksimplex.cases)
   2.159      then interpret kuhn_simplex p n b u s .
   2.160 -    from s_space `a \<in> s` out_eq_p[OF `a \<in> s`]
   2.161 +    from s_space \<open>a \<in> s\<close> out_eq_p[OF \<open>a \<in> s\<close>]
   2.162      have "a \<in> (\<lambda>f x. if n \<le> x then p else f x) ` ({..< n} \<rightarrow>\<^sub>E {.. p})"
   2.163        by (auto simp: image_iff subset_eq Pi_iff split: split_if_asm
   2.164                 intro!: bexI[of _ "restrict a {..< n}"]) }
   2.165 @@ -568,15 +568,15 @@
   2.166      then interpret kuhn_simplex p "Suc n" base upd "s" .
   2.167  
   2.168      have "a n < p"
   2.169 -      using one_step[of a n p] na `a\<in>s` s_space by (auto simp: less_le)
   2.170 +      using one_step[of a n p] na \<open>a\<in>s\<close> s_space by (auto simp: less_le)
   2.171      then have "a = enum 0"
   2.172 -      using `a \<in> s` na by (subst enum_0_bot) (auto simp: le_less intro!: less[of a _ n])
   2.173 +      using \<open>a \<in> s\<close> na by (subst enum_0_bot) (auto simp: le_less intro!: less[of a _ n])
   2.174      then have s_eq: "s - {a} = enum ` Suc ` {.. n}"
   2.175        using s_eq by (simp add: atMost_Suc_eq_insert_0 insert_ident Zero_notin_Suc in_enum_image subset_eq)
   2.176      then have "enum 1 \<in> s - {a}"
   2.177        by auto
   2.178      then have "upd 0 = n"
   2.179 -      using `a n < p` `a = enum 0` na[rule_format, of "enum 1"]
   2.180 +      using \<open>a n < p\<close> \<open>a = enum 0\<close> na[rule_format, of "enum 1"]
   2.181        by (auto simp: fun_eq_iff enum_Suc split: split_if_asm)
   2.182      then have "bij_betw upd (Suc ` {..< n}) {..< n}"
   2.183        using upd
   2.184 @@ -586,7 +586,7 @@
   2.185        by (rule bij_betw_trans[rotated]) (auto simp: bij_betw_def)
   2.186  
   2.187      have "a n = p - 1"
   2.188 -      using enum_Suc[of 0] na[rule_format, OF `enum 1 \<in> s - {a}`] `a = enum 0` by (auto simp: `upd 0 = n`)
   2.189 +      using enum_Suc[of 0] na[rule_format, OF \<open>enum 1 \<in> s - {a}\<close>] \<open>a = enum 0\<close> by (auto simp: \<open>upd 0 = n\<close>)
   2.190  
   2.191      show ?thesis
   2.192      proof (rule ksimplex.intros, default)
   2.193 @@ -597,14 +597,14 @@
   2.194        have "\<And>i. Suc ` {..< i} = {..< Suc i} - {0}"
   2.195          by (auto simp: image_iff Ball_def) arith
   2.196        then have upd_Suc: "\<And>i. i \<le> n \<Longrightarrow> (upd\<circ>Suc) ` {..< i} = upd ` {..< Suc i} - {n}"
   2.197 -        using `upd 0 = n` upd_inj
   2.198 +        using \<open>upd 0 = n\<close> upd_inj
   2.199          by (auto simp add: image_comp[symmetric] inj_on_image_set_diff[OF inj_upd])
   2.200        have n_in_upd: "\<And>i. n \<in> upd ` {..< Suc i}"
   2.201 -        using `upd 0 = n` by auto
   2.202 +        using \<open>upd 0 = n\<close> by auto
   2.203  
   2.204        def f' \<equiv> "\<lambda>i j. if j \<in> (upd\<circ>Suc)`{..< i} then Suc ((base(n := p)) j) else (base(n := p)) j"
   2.205        { fix x i assume i[arith]: "i \<le> n" then have "enum (Suc i) x = f' i x"
   2.206 -          unfolding f'_def enum_def using `a n < p` `a = enum 0` `upd 0 = n` `a n = p - 1`
   2.207 +          unfolding f'_def enum_def using \<open>a n < p\<close> \<open>a = enum 0\<close> \<open>upd 0 = n\<close> \<open>a n = p - 1\<close>
   2.208            by (simp add: upd_Suc enum_0 n_in_upd) }
   2.209        then show "s - {a} = f' ` {.. n}"
   2.210          unfolding s_eq image_comp by (intro image_cong) auto
   2.211 @@ -622,7 +622,7 @@
   2.212      have "ksimplex p (Suc n) (s' \<union> {b})"
   2.213      proof (rule ksimplex.intros, default)
   2.214        show "b \<in> {..<Suc n} \<rightarrow> {..<p}"
   2.215 -        using base `0 < p` unfolding lessThan_Suc b_def by (auto simp: PiE_iff)
   2.216 +        using base \<open>0 < p\<close> unfolding lessThan_Suc b_def by (auto simp: PiE_iff)
   2.217        show "\<And>i. Suc n \<le> i \<Longrightarrow> b i = p"
   2.218          using base_out by (auto simp: b_def)
   2.219  
   2.220 @@ -646,13 +646,13 @@
   2.221        also have "\<dots> = (f' \<circ> Suc) ` {.. n} \<union> {b}"
   2.222          by (auto simp: f'_def)
   2.223        also have "(f' \<circ> Suc) ` {.. n} = s'"
   2.224 -        using `0 < p` base_out[of n]
   2.225 +        using \<open>0 < p\<close> base_out[of n]
   2.226          unfolding s_eq enum_def[abs_def] f'_def[abs_def] upd_space
   2.227          by (intro image_cong) (simp_all add: u_eq b_def fun_eq_iff n_not_upd)
   2.228        finally show "s' \<union> {b} = f' ` {.. Suc n}" ..
   2.229      qed
   2.230      moreover have "b \<notin> s'"
   2.231 -      using * `0 < p` by (auto simp: b_def)
   2.232 +      using * \<open>0 < p\<close> by (auto simp: b_def)
   2.233      ultimately show ?thesis by auto
   2.234    qed
   2.235  qed
   2.236 @@ -675,7 +675,7 @@
   2.237      with a j p s.replace_0[of _ a] t.replace_0[of _ b] have "s = t"
   2.238        by (intro ksimplex_eq_top[of a b]) auto }
   2.239    then have "{s'. ksimplex p n s' \<and> (\<exists>b\<in>s'. s' - {b} = s - {a})} = {s}"
   2.240 -    using s `a \<in> s` by auto
   2.241 +    using s \<open>a \<in> s\<close> by auto
   2.242    then show ?thesis
   2.243      by simp
   2.244  qed
   2.245 @@ -698,7 +698,7 @@
   2.246      with a j p s.replace_1[of _ a] t.replace_1[of _ b] have "s = t"
   2.247        by (intro ksimplex_eq_bot[of a b]) auto }
   2.248    then have "{s'. ksimplex p n s' \<and> (\<exists>b\<in>s'. s' - {b} = s - {a})} = {s}"
   2.249 -    using s `a \<in> s` by auto
   2.250 +    using s \<open>a \<in> s\<close> by auto
   2.251    then show ?thesis
   2.252      by simp
   2.253  qed
   2.254 @@ -716,10 +716,10 @@
   2.255    case (ksimplex base upd)
   2.256    then interpret kuhn_simplex p n base upd s .
   2.257  
   2.258 -  from `a \<in> s` obtain i where "i \<le> n" "a = enum i"
   2.259 +  from \<open>a \<in> s\<close> obtain i where "i \<le> n" "a = enum i"
   2.260      unfolding s_eq by auto
   2.261  
   2.262 -  from `i \<le> n` have "i = 0 \<or> i = n \<or> (0 < i \<and> i < n)"
   2.263 +  from \<open>i \<le> n\<close> have "i = 0 \<or> i = n \<or> (0 < i \<and> i < n)"
   2.264      by linarith
   2.265    then have "\<exists>!s'. s' \<noteq> s \<and> ksimplex p n s' \<and> (\<exists>b\<in>s'. s - {a} = s'- {b})"
   2.266    proof (elim disjE conjE)
   2.267 @@ -737,7 +737,7 @@
   2.268  
   2.269      interpret b: kuhn_simplex p n "enum (Suc 0)" "upd \<circ> rot" "f' ` {.. n}"
   2.270      proof
   2.271 -      from `a = enum i` ub `n \<noteq> 0` `i = 0`
   2.272 +      from \<open>a = enum i\<close> ub \<open>n \<noteq> 0\<close> \<open>i = 0\<close>
   2.273        obtain i' where "i' \<le> n" "enum i' \<noteq> enum 0" "enum i' (upd 0) \<noteq> p"
   2.274          unfolding s_eq by (auto intro: upd_space simp: enum_inj)
   2.275        then have "enum 1 \<le> enum i'" "enum i' (upd 0) < p"
   2.276 @@ -745,10 +745,10 @@
   2.277        then have "enum 1 (upd 0) < p"
   2.278          by (auto simp add: le_fun_def intro: le_less_trans)
   2.279        then show "enum (Suc 0) \<in> {..<n} \<rightarrow> {..<p}"
   2.280 -        using base `n \<noteq> 0` by (auto simp add: enum_0 enum_Suc PiE_iff extensional_def upd_space)
   2.281 +        using base \<open>n \<noteq> 0\<close> by (auto simp add: enum_0 enum_Suc PiE_iff extensional_def upd_space)
   2.282  
   2.283        { fix i assume "n \<le> i" then show "enum (Suc 0) i = p"
   2.284 -        using `n \<noteq> 0` by (auto simp: enum_eq_p) }
   2.285 +        using \<open>n \<noteq> 0\<close> by (auto simp: enum_eq_p) }
   2.286        show "bij_betw ?upd {..<n} {..<n}" by fact
   2.287      qed (simp add: f'_def)
   2.288      have ks_f': "ksimplex p n (f' ` {.. n})"
   2.289 @@ -762,7 +762,7 @@
   2.290           arith
   2.291  
   2.292      { fix j assume j: "j < n"
   2.293 -      from j `n \<noteq> 0` have "f' j = enum (Suc j)"
   2.294 +      from j \<open>n \<noteq> 0\<close> have "f' j = enum (Suc j)"
   2.295          by (auto simp add: f'_def enum_def upd_inj in_upd_image image_comp[symmetric] fun_eq_iff) }
   2.296      note f'_eq_enum = this
   2.297      then have "enum ` Suc ` {..< n} = f' ` {..< n}"
   2.298 @@ -772,39 +772,39 @@
   2.299      also have "{..< n} = {.. n} - {n}"
   2.300        by auto
   2.301      finally have eq: "s - {a} = f' ` {.. n} - {f' n}"
   2.302 -      unfolding s_eq `a = enum i` `i = 0`
   2.303 +      unfolding s_eq \<open>a = enum i\<close> \<open>i = 0\<close>
   2.304        by (simp add: Diff_subset inj_on_image_set_diff[OF inj_enum] inj_on_image_set_diff[OF inj_f'])
   2.305  
   2.306      have "enum 0 < f' 0"
   2.307 -      using `n \<noteq> 0` by (simp add: enum_strict_mono f'_eq_enum)
   2.308 +      using \<open>n \<noteq> 0\<close> by (simp add: enum_strict_mono f'_eq_enum)
   2.309      also have "\<dots> < f' n"
   2.310 -      using `n \<noteq> 0` b.enum_strict_mono[of 0 n] unfolding b_enum by simp
   2.311 +      using \<open>n \<noteq> 0\<close> b.enum_strict_mono[of 0 n] unfolding b_enum by simp
   2.312      finally have "a \<noteq> f' n"
   2.313 -      using `a = enum i` `i = 0` by auto
   2.314 +      using \<open>a = enum i\<close> \<open>i = 0\<close> by auto
   2.315  
   2.316      { fix t c assume "ksimplex p n t" "c \<in> t" and eq_sma: "s - {a} = t - {c}"
   2.317        obtain b u where "kuhn_simplex p n b u t"
   2.318 -        using `ksimplex p n t` by (auto elim: ksimplex.cases)
   2.319 +        using \<open>ksimplex p n t\<close> by (auto elim: ksimplex.cases)
   2.320        then interpret t: kuhn_simplex p n b u t .
   2.321  
   2.322        { fix x assume "x \<in> s" "x \<noteq> a"
   2.323           then have "x (upd 0) = enum (Suc 0) (upd 0)"
   2.324 -           by (auto simp: `a = enum i` `i = 0` s_eq enum_def enum_inj) }
   2.325 +           by (auto simp: \<open>a = enum i\<close> \<open>i = 0\<close> s_eq enum_def enum_inj) }
   2.326        then have eq_upd0: "\<forall>x\<in>t-{c}. x (upd 0) = enum (Suc 0) (upd 0)"
   2.327          unfolding eq_sma[symmetric] by auto
   2.328        then have "c (upd 0) \<noteq> enum (Suc 0) (upd 0)"
   2.329 -        using `n \<noteq> 0` by (intro t.one_step[OF `c\<in>t` ]) (auto simp: upd_space)
   2.330 +        using \<open>n \<noteq> 0\<close> by (intro t.one_step[OF \<open>c\<in>t\<close> ]) (auto simp: upd_space)
   2.331        then have "c (upd 0) < enum (Suc 0) (upd 0) \<or> c (upd 0) > enum (Suc 0) (upd 0)"
   2.332          by auto
   2.333        then have "t = s \<or> t = f' ` {..n}"
   2.334        proof (elim disjE conjE)
   2.335          assume *: "c (upd 0) < enum (Suc 0) (upd 0)"
   2.336          interpret st: kuhn_simplex_pair p n base upd s b u t ..
   2.337 -        { fix x assume "x \<in> t" with * `c\<in>t` eq_upd0[rule_format, of x] have "c \<le> x"
   2.338 +        { fix x assume "x \<in> t" with * \<open>c\<in>t\<close> eq_upd0[rule_format, of x] have "c \<le> x"
   2.339              by (auto simp: le_less intro!: t.less[of _ _ "upd 0"]) }
   2.340          note top = this
   2.341          have "s = t"
   2.342 -          using `a = enum i` `i = 0` `c \<in> t`
   2.343 +          using \<open>a = enum i\<close> \<open>i = 0\<close> \<open>c \<in> t\<close>
   2.344            by (intro st.ksimplex_eq_bot[OF _ _ _ _ eq_sma])
   2.345               (auto simp: s_eq enum_mono t.s_eq t.enum_mono top)
   2.346          then show ?thesis by simp
   2.347 @@ -813,23 +813,23 @@
   2.348          interpret st: kuhn_simplex_pair p n "enum (Suc 0)" "upd \<circ> rot" "f' ` {.. n}" b u t ..
   2.349          have eq: "f' ` {..n} - {f' n} = t - {c}"
   2.350            using eq_sma eq by simp
   2.351 -        { fix x assume "x \<in> t" with * `c\<in>t` eq_upd0[rule_format, of x] have "x \<le> c"
   2.352 +        { fix x assume "x \<in> t" with * \<open>c\<in>t\<close> eq_upd0[rule_format, of x] have "x \<le> c"
   2.353              by (auto simp: le_less intro!: t.less[of _ _ "upd 0"]) }
   2.354          note top = this
   2.355          have "f' ` {..n} = t"
   2.356 -          using `a = enum i` `i = 0` `c \<in> t`
   2.357 +          using \<open>a = enum i\<close> \<open>i = 0\<close> \<open>c \<in> t\<close>
   2.358            by (intro st.ksimplex_eq_top[OF _ _ _ _ eq])
   2.359               (auto simp: b.s_eq b.enum_mono t.s_eq t.enum_mono b_enum[symmetric] top)
   2.360          then show ?thesis by simp
   2.361        qed }
   2.362 -    with ks_f' eq `a \<noteq> f' n` `n \<noteq> 0` show ?thesis
   2.363 +    with ks_f' eq \<open>a \<noteq> f' n\<close> \<open>n \<noteq> 0\<close> show ?thesis
   2.364        apply (intro ex1I[of _ "f' ` {.. n}"])
   2.365        apply auto []
   2.366        apply metis
   2.367        done
   2.368    next
   2.369      assume "i = n"
   2.370 -    from `n \<noteq> 0` obtain n' where n': "n = Suc n'"
   2.371 +    from \<open>n \<noteq> 0\<close> obtain n' where n': "n = Suc n'"
   2.372        by (cases n) auto
   2.373  
   2.374      def rot \<equiv> "\<lambda>i. case i of 0 \<Rightarrow> n' | Suc i \<Rightarrow> i"
   2.375 @@ -849,7 +849,7 @@
   2.376        { fix i assume "n \<le> i" then show "b i = p"
   2.377            using base_out[of i] upd_space[of n'] by (auto simp: b_def n') }
   2.378        show "b \<in> {..<n} \<rightarrow> {..<p}"
   2.379 -        using base `n \<noteq> 0` upd_space[of n']
   2.380 +        using base \<open>n \<noteq> 0\<close> upd_space[of n']
   2.381          by (auto simp: b_def PiE_def Pi_iff Ball_def upd_space extensional_def n')
   2.382  
   2.383        show "bij_betw ?upd {..<n} {..<n}" by fact
   2.384 @@ -859,17 +859,17 @@
   2.385        unfolding f' by rule unfold_locales
   2.386  
   2.387      have "0 < n" 
   2.388 -      using `n \<noteq> 0` by auto
   2.389 +      using \<open>n \<noteq> 0\<close> by auto
   2.390  
   2.391 -    { from `a = enum i` `n \<noteq> 0` `i = n` lb upd_space[of n']
   2.392 +    { from \<open>a = enum i\<close> \<open>n \<noteq> 0\<close> \<open>i = n\<close> lb upd_space[of n']
   2.393        obtain i' where "i' \<le> n" "enum i' \<noteq> enum n" "0 < enum i' (upd n')"
   2.394          unfolding s_eq by (auto simp: enum_inj n')
   2.395        moreover have "enum i' (upd n') = base (upd n')"
   2.396 -        unfolding enum_def using `i' \<le> n` `enum i' \<noteq> enum n` by (auto simp: n' upd_inj enum_inj)
   2.397 +        unfolding enum_def using \<open>i' \<le> n\<close> \<open>enum i' \<noteq> enum n\<close> by (auto simp: n' upd_inj enum_inj)
   2.398        ultimately have "0 < base (upd n')"
   2.399          by auto }
   2.400      then have benum1: "b.enum (Suc 0) = base"
   2.401 -      unfolding b.enum_Suc[OF `0<n`] b.enum_0 by (auto simp: b_def rot_def)
   2.402 +      unfolding b.enum_Suc[OF \<open>0<n\<close>] b.enum_0 by (auto simp: b_def rot_def)
   2.403  
   2.404      have [simp]: "\<And>j. Suc j < n \<Longrightarrow> rot ` {..< Suc j} = {n'} \<union> {..< j}"
   2.405        by (auto simp: rot_def image_iff Ball_def split: nat.splits)
   2.406 @@ -886,7 +886,7 @@
   2.407      also have "{..< n} = {.. n} - {n}"
   2.408        by auto
   2.409      finally have eq: "s - {a} = b.enum ` {.. n} - {b.enum 0}"
   2.410 -      unfolding s_eq `a = enum i` `i = n`
   2.411 +      unfolding s_eq \<open>a = enum i\<close> \<open>i = n\<close>
   2.412        using inj_on_image_set_diff[OF inj_enum Diff_subset, of "{n}"]
   2.413              inj_on_image_set_diff[OF b.inj_enum Diff_subset, of "{0}"]
   2.414        by (simp add: comp_def )
   2.415 @@ -894,33 +894,33 @@
   2.416      have "b.enum 0 \<le> b.enum n"
   2.417        by (simp add: b.enum_mono)
   2.418      also have "b.enum n < enum n"
   2.419 -      using `n \<noteq> 0` by (simp add: enum_strict_mono b_enum_eq_enum n')
   2.420 +      using \<open>n \<noteq> 0\<close> by (simp add: enum_strict_mono b_enum_eq_enum n')
   2.421      finally have "a \<noteq> b.enum 0"
   2.422 -      using `a = enum i` `i = n` by auto
   2.423 +      using \<open>a = enum i\<close> \<open>i = n\<close> by auto
   2.424  
   2.425      { fix t c assume "ksimplex p n t" "c \<in> t" and eq_sma: "s - {a} = t - {c}"
   2.426        obtain b' u where "kuhn_simplex p n b' u t"
   2.427 -        using `ksimplex p n t` by (auto elim: ksimplex.cases)
   2.428 +        using \<open>ksimplex p n t\<close> by (auto elim: ksimplex.cases)
   2.429        then interpret t: kuhn_simplex p n b' u t .
   2.430  
   2.431        { fix x assume "x \<in> s" "x \<noteq> a"
   2.432           then have "x (upd n') = enum n' (upd n')"
   2.433 -           by (auto simp: `a = enum i` n' `i = n` s_eq enum_def enum_inj in_upd_image) }
   2.434 +           by (auto simp: \<open>a = enum i\<close> n' \<open>i = n\<close> s_eq enum_def enum_inj in_upd_image) }
   2.435        then have eq_upd0: "\<forall>x\<in>t-{c}. x (upd n') = enum n' (upd n')"
   2.436          unfolding eq_sma[symmetric] by auto
   2.437        then have "c (upd n') \<noteq> enum n' (upd n')"
   2.438 -        using `n \<noteq> 0` by (intro t.one_step[OF `c\<in>t` ]) (auto simp: n' upd_space[unfolded n'])
   2.439 +        using \<open>n \<noteq> 0\<close> by (intro t.one_step[OF \<open>c\<in>t\<close> ]) (auto simp: n' upd_space[unfolded n'])
   2.440        then have "c (upd n') < enum n' (upd n') \<or> c (upd n') > enum n' (upd n')"
   2.441          by auto
   2.442        then have "t = s \<or> t = b.enum ` {..n}"
   2.443        proof (elim disjE conjE)
   2.444          assume *: "c (upd n') > enum n' (upd n')"
   2.445          interpret st: kuhn_simplex_pair p n base upd s b' u t ..
   2.446 -        { fix x assume "x \<in> t" with * `c\<in>t` eq_upd0[rule_format, of x] have "x \<le> c"
   2.447 +        { fix x assume "x \<in> t" with * \<open>c\<in>t\<close> eq_upd0[rule_format, of x] have "x \<le> c"
   2.448              by (auto simp: le_less intro!: t.less[of _ _ "upd n'"]) }
   2.449          note top = this
   2.450          have "s = t"
   2.451 -          using `a = enum i` `i = n` `c \<in> t`
   2.452 +          using \<open>a = enum i\<close> \<open>i = n\<close> \<open>c \<in> t\<close>
   2.453            by (intro st.ksimplex_eq_top[OF _ _ _ _ eq_sma])
   2.454               (auto simp: s_eq enum_mono t.s_eq t.enum_mono top)
   2.455          then show ?thesis by simp
   2.456 @@ -929,16 +929,16 @@
   2.457          interpret st: kuhn_simplex_pair p n b "upd \<circ> rot" "f' ` {.. n}" b' u t ..
   2.458          have eq: "f' ` {..n} - {b.enum 0} = t - {c}"
   2.459            using eq_sma eq f' by simp
   2.460 -        { fix x assume "x \<in> t" with * `c\<in>t` eq_upd0[rule_format, of x] have "c \<le> x"
   2.461 +        { fix x assume "x \<in> t" with * \<open>c\<in>t\<close> eq_upd0[rule_format, of x] have "c \<le> x"
   2.462              by (auto simp: le_less intro!: t.less[of _ _ "upd n'"]) }
   2.463          note bot = this
   2.464          have "f' ` {..n} = t"
   2.465 -          using `a = enum i` `i = n` `c \<in> t`
   2.466 +          using \<open>a = enum i\<close> \<open>i = n\<close> \<open>c \<in> t\<close>
   2.467            by (intro st.ksimplex_eq_bot[OF _ _ _ _ eq])
   2.468               (auto simp: b.s_eq b.enum_mono t.s_eq t.enum_mono bot)
   2.469          with f' show ?thesis by simp
   2.470        qed }
   2.471 -    with ks_f' eq `a \<noteq> b.enum 0` `n \<noteq> 0` show ?thesis
   2.472 +    with ks_f' eq \<open>a \<noteq> b.enum 0\<close> \<open>n \<noteq> 0\<close> show ?thesis
   2.473        apply (intro ex1I[of _ "b.enum ` {.. n}"])
   2.474        apply auto []
   2.475        apply metis
   2.476 @@ -979,81 +979,81 @@
   2.477      then have "enum ` ({.. n} - {i}) = b.enum ` ({.. n} - {i})"
   2.478        by (intro image_cong) auto
   2.479      then have eq: "s - {a} = b.enum ` {.. n} - {b.enum i}"
   2.480 -      unfolding s_eq `a = enum i`
   2.481 -      using inj_on_image_set_diff[OF inj_enum Diff_subset `{i} \<subseteq> {..n}`]
   2.482 -            inj_on_image_set_diff[OF b.inj_enum Diff_subset `{i} \<subseteq> {..n}`]
   2.483 +      unfolding s_eq \<open>a = enum i\<close>
   2.484 +      using inj_on_image_set_diff[OF inj_enum Diff_subset \<open>{i} \<subseteq> {..n}\<close>]
   2.485 +            inj_on_image_set_diff[OF b.inj_enum Diff_subset \<open>{i} \<subseteq> {..n}\<close>]
   2.486        by (simp add: comp_def)
   2.487  
   2.488      have "a \<noteq> b.enum i"
   2.489 -      using `a = enum i` enum_eq_benum i by auto
   2.490 +      using \<open>a = enum i\<close> enum_eq_benum i by auto
   2.491  
   2.492      { fix t c assume "ksimplex p n t" "c \<in> t" and eq_sma: "s - {a} = t - {c}"
   2.493        obtain b' u where "kuhn_simplex p n b' u t"
   2.494 -        using `ksimplex p n t` by (auto elim: ksimplex.cases)
   2.495 +        using \<open>ksimplex p n t\<close> by (auto elim: ksimplex.cases)
   2.496        then interpret t: kuhn_simplex p n b' u t .
   2.497        have "enum i' \<in> s - {a}" "enum (i + 1) \<in> s - {a}"
   2.498 -        using `a = enum i` i enum_in by (auto simp: enum_inj i'_def)
   2.499 +        using \<open>a = enum i\<close> i enum_in by (auto simp: enum_inj i'_def)
   2.500        then obtain l k where
   2.501          l: "t.enum l = enum i'" "l \<le> n" "t.enum l \<noteq> c" and
   2.502          k: "t.enum k = enum (i + 1)" "k \<le> n" "t.enum k \<noteq> c"
   2.503          unfolding eq_sma by (auto simp: t.s_eq)
   2.504        with i have "t.enum l < t.enum k"
   2.505          by (simp add: enum_strict_mono i'_def)
   2.506 -      with `l \<le> n` `k \<le> n` have "l < k"
   2.507 +      with \<open>l \<le> n\<close> \<open>k \<le> n\<close> have "l < k"
   2.508          by (simp add: t.enum_strict_mono)
   2.509        { assume "Suc l = k"
   2.510          have "enum (Suc (Suc i')) = t.enum (Suc l)"
   2.511 -          using i by (simp add: k `Suc l = k` i'_def)
   2.512 +          using i by (simp add: k \<open>Suc l = k\<close> i'_def)
   2.513          then have False
   2.514 -          using `l < k` `k \<le> n` `Suc i' < n`
   2.515 +          using \<open>l < k\<close> \<open>k \<le> n\<close> \<open>Suc i' < n\<close>
   2.516            by (auto simp: t.enum_Suc enum_Suc l upd_inj fun_eq_iff split: split_if_asm)
   2.517               (metis Suc_lessD n_not_Suc_n upd_inj) }
   2.518 -      with `l < k` have "Suc l < k"
   2.519 +      with \<open>l < k\<close> have "Suc l < k"
   2.520          by arith
   2.521        have c_eq: "c = t.enum (Suc l)"
   2.522        proof (rule ccontr)
   2.523          assume "c \<noteq> t.enum (Suc l)"
   2.524          then have "t.enum (Suc l) \<in> s - {a}"
   2.525 -          using `l < k` `k \<le> n` by (simp add: t.s_eq eq_sma)
   2.526 +          using \<open>l < k\<close> \<open>k \<le> n\<close> by (simp add: t.s_eq eq_sma)
   2.527          then obtain j where "t.enum (Suc l) = enum j" "j \<le> n" "enum j \<noteq> enum i"
   2.528 -          unfolding s_eq `a = enum i` by auto
   2.529 +          unfolding s_eq \<open>a = enum i\<close> by auto
   2.530          with i have "t.enum (Suc l) \<le> t.enum l \<or> t.enum k \<le> t.enum (Suc l)"
   2.531            by (auto simp add: i'_def enum_mono enum_inj l k)
   2.532 -        with `Suc l < k` `k \<le> n` show False
   2.533 +        with \<open>Suc l < k\<close> \<open>k \<le> n\<close> show False
   2.534            by (simp add: t.enum_mono)
   2.535        qed
   2.536  
   2.537        { have "t.enum (Suc (Suc l)) \<in> s - {a}"
   2.538 -          unfolding eq_sma c_eq t.s_eq using `Suc l < k` `k \<le> n` by (auto simp: t.enum_inj)
   2.539 +          unfolding eq_sma c_eq t.s_eq using \<open>Suc l < k\<close> \<open>k \<le> n\<close> by (auto simp: t.enum_inj)
   2.540          then obtain j where eq: "t.enum (Suc (Suc l)) = enum j" and "j \<le> n" "j \<noteq> i"
   2.541 -          by (auto simp: s_eq `a = enum i`)
   2.542 +          by (auto simp: s_eq \<open>a = enum i\<close>)
   2.543          moreover have "enum i' < t.enum (Suc (Suc l))"
   2.544 -          unfolding l(1)[symmetric] using `Suc l < k` `k \<le> n` by (auto simp: t.enum_strict_mono)
   2.545 +          unfolding l(1)[symmetric] using \<open>Suc l < k\<close> \<open>k \<le> n\<close> by (auto simp: t.enum_strict_mono)
   2.546          ultimately have "i' < j"
   2.547            using i by (simp add: enum_strict_mono i'_def)
   2.548 -        with `j \<noteq> i` `j \<le> n` have "t.enum k \<le> t.enum (Suc (Suc l))"
   2.549 +        with \<open>j \<noteq> i\<close> \<open>j \<le> n\<close> have "t.enum k \<le> t.enum (Suc (Suc l))"
   2.550            unfolding i'_def by (simp add: enum_mono k eq)
   2.551          then have "k \<le> Suc (Suc l)"
   2.552 -          using `k \<le> n` `Suc l < k` by (simp add: t.enum_mono) }
   2.553 -      with `Suc l < k` have "Suc (Suc l) = k" by simp
   2.554 +          using \<open>k \<le> n\<close> \<open>Suc l < k\<close> by (simp add: t.enum_mono) }
   2.555 +      with \<open>Suc l < k\<close> have "Suc (Suc l) = k" by simp
   2.556        then have "enum (Suc (Suc i')) = t.enum (Suc (Suc l))"
   2.557          using i by (simp add: k i'_def)
   2.558        also have "\<dots> = (enum i') (u l := Suc (enum i' (u l)), u (Suc l) := Suc (enum i' (u (Suc l))))"
   2.559 -        using `Suc l < k` `k \<le> n` by (simp add: t.enum_Suc l t.upd_inj)
   2.560 +        using \<open>Suc l < k\<close> \<open>k \<le> n\<close> by (simp add: t.enum_Suc l t.upd_inj)
   2.561        finally have "(u l = upd i' \<and> u (Suc l) = upd (Suc i')) \<or> 
   2.562          (u l = upd (Suc i') \<and> u (Suc l) = upd i')"
   2.563 -        using `Suc i' < n` by (auto simp: enum_Suc fun_eq_iff split: split_if_asm)
   2.564 +        using \<open>Suc i' < n\<close> by (auto simp: enum_Suc fun_eq_iff split: split_if_asm)
   2.565  
   2.566        then have "t = s \<or> t = b.enum ` {..n}"
   2.567        proof (elim disjE conjE)
   2.568          assume u: "u l = upd i'"
   2.569          have "c = t.enum (Suc l)" unfolding c_eq ..
   2.570          also have "t.enum (Suc l) = enum (Suc i')"
   2.571 -          using u `l < k` `k \<le> n` `Suc i' < n` by (simp add: enum_Suc t.enum_Suc l)
   2.572 +          using u \<open>l < k\<close> \<open>k \<le> n\<close> \<open>Suc i' < n\<close> by (simp add: enum_Suc t.enum_Suc l)
   2.573          also have "\<dots> = a"
   2.574 -          using `a = enum i` i by (simp add: i'_def)
   2.575 +          using \<open>a = enum i\<close> i by (simp add: i'_def)
   2.576          finally show ?thesis
   2.577 -          using eq_sma `a \<in> s` `c \<in> t` by auto
   2.578 +          using eq_sma \<open>a \<in> s\<close> \<open>c \<in> t\<close> by auto
   2.579        next
   2.580          assume u: "u l = upd (Suc i')"
   2.581          def B \<equiv> "b.enum ` {..n}"
   2.582 @@ -1061,30 +1061,30 @@
   2.583            using enum_eq_benum[of i'] i by (auto simp add: i'_def gr0_conv_Suc)
   2.584          have "c = t.enum (Suc l)" unfolding c_eq ..
   2.585          also have "t.enum (Suc l) = b.enum (Suc i')"
   2.586 -          using u `l < k` `k \<le> n` `Suc i' < n`
   2.587 -          by (simp_all add: enum_Suc t.enum_Suc l b.enum_Suc `b.enum i' = enum i'` swap_apply1)
   2.588 +          using u \<open>l < k\<close> \<open>k \<le> n\<close> \<open>Suc i' < n\<close>
   2.589 +          by (simp_all add: enum_Suc t.enum_Suc l b.enum_Suc \<open>b.enum i' = enum i'\<close> swap_apply1)
   2.590               (simp add: Suc_i')
   2.591          also have "\<dots> = b.enum i"
   2.592            using i by (simp add: i'_def)
   2.593          finally have "c = b.enum i" .
   2.594          then have "t - {c} = B - {c}" "c \<in> B"
   2.595            unfolding eq_sma[symmetric] eq B_def using i by auto
   2.596 -        with `c \<in> t` have "t = B"
   2.597 +        with \<open>c \<in> t\<close> have "t = B"
   2.598            by auto
   2.599          then show ?thesis
   2.600            by (simp add: B_def)
   2.601        qed }
   2.602 -    with ks_f' eq `a \<noteq> b.enum i` `n \<noteq> 0` `i \<le> n` show ?thesis
   2.603 +    with ks_f' eq \<open>a \<noteq> b.enum i\<close> \<open>n \<noteq> 0\<close> \<open>i \<le> n\<close> show ?thesis
   2.604        apply (intro ex1I[of _ "b.enum ` {.. n}"])
   2.605        apply auto []
   2.606        apply metis
   2.607        done
   2.608    qed
   2.609    then show ?thesis
   2.610 -    using s `a \<in> s` by (simp add: card_2_exists Ex1_def) metis
   2.611 +    using s \<open>a \<in> s\<close> by (simp add: card_2_exists Ex1_def) metis
   2.612  qed
   2.613  
   2.614 -text {* Hence another step towards concreteness. *}
   2.615 +text \<open>Hence another step towards concreteness.\<close>
   2.616  
   2.617  lemma kuhn_simplex_lemma:
   2.618    assumes "\<forall>s. ksimplex p (Suc n) s \<longrightarrow> rl ` s \<subseteq> {.. Suc n}"
   2.619 @@ -1129,7 +1129,7 @@
   2.620        by (subst (asm) eq_commute) auto }
   2.621  qed
   2.622  
   2.623 -subsection {* Reduced labelling *}
   2.624 +subsection \<open>Reduced labelling\<close>
   2.625  
   2.626  definition reduced :: "nat \<Rightarrow> (nat \<Rightarrow> nat) \<Rightarrow> nat" where "reduced n x = (LEAST k. k = n \<or> x k \<noteq> 0)"
   2.627  
   2.628 @@ -1185,7 +1185,7 @@
   2.629        with assms j have "reduced (Suc n) (lab x) \<le> j"
   2.630          by (intro reduced_labelling_nonzero) auto
   2.631        then have "reduced (Suc n) (lab x) \<noteq> n"
   2.632 -        using `j \<noteq> n` `j \<le> n` by simp }
   2.633 +        using \<open>j \<noteq> n\<close> \<open>j \<le> n\<close> by simp }
   2.634      moreover
   2.635      have "n \<in> (reduced (Suc n) \<circ> lab) ` f" 
   2.636        using eq by auto
   2.637 @@ -1198,7 +1198,7 @@
   2.638      using j x by auto
   2.639  qed auto
   2.640  
   2.641 -text {* Hence we get just about the nice induction. *}
   2.642 +text \<open>Hence we get just about the nice induction.\<close>
   2.643  
   2.644  lemma kuhn_induction:
   2.645    assumes "0 < p"
   2.646 @@ -1231,7 +1231,7 @@
   2.647        using rl by (simp cong: image_cong)
   2.648      moreover
   2.649      obtain t a where "ksimplex p (Suc n) t" "a \<in> t" "s = t - {a}"
   2.650 -      using s unfolding simplex_top_face[OF `0 < p` all_eq_p] by auto
   2.651 +      using s unfolding simplex_top_face[OF \<open>0 < p\<close> all_eq_p] by auto
   2.652      ultimately
   2.653      show "\<exists>t a. ksimplex p (Suc n) t \<and> a \<in> t \<and> s = t - {a} \<and> ?rl ` s = {..n} \<and> ?ext s"
   2.654        by auto
   2.655 @@ -1253,7 +1253,7 @@
   2.656      then show rl': "(reduced n\<circ>lab) ` (s - {a}) = {..n}"
   2.657        unfolding rl[symmetric] by (intro image_cong) auto
   2.658  
   2.659 -    from `?ext (s - {a})`
   2.660 +    from \<open>?ext (s - {a})\<close>
   2.661      have all_eq_p: "\<forall>x\<in>s - {a}. x n = p"
   2.662      proof (elim disjE exE conjE)
   2.663        fix j assume "j \<le> n" "\<forall>x\<in>s - {a}. x j = 0"
   2.664 @@ -1261,7 +1261,7 @@
   2.665        have "\<And>x. x \<in> s - {a} \<Longrightarrow> reduced (Suc n) (lab x) \<noteq> j"
   2.666          by (intro reduced_labelling_zero) auto
   2.667        moreover have "j \<in> ?rl ` (s - {a})"
   2.668 -        using `j \<le> n` unfolding rl by auto
   2.669 +        using \<open>j \<le> n\<close> unfolding rl by auto
   2.670        ultimately show ?thesis
   2.671          by force
   2.672      next
   2.673 @@ -1275,12 +1275,12 @@
   2.674            have "reduced n (lab x) \<le> j"
   2.675            proof (rule reduced_labelling_nonzero)
   2.676              show "lab x j \<noteq> 0"
   2.677 -              using lab_1[rule_format, of j x] x s_le_p[of x] eq_p `j \<le> n` by auto
   2.678 +              using lab_1[rule_format, of j x] x s_le_p[of x] eq_p \<open>j \<le> n\<close> by auto
   2.679              show "j < n"
   2.680 -              using `j \<le> n` `j \<noteq> n` by simp
   2.681 +              using \<open>j \<le> n\<close> \<open>j \<noteq> n\<close> by simp
   2.682            qed
   2.683            then have "reduced n (lab x) \<noteq> n"
   2.684 -            using `j \<le> n` `j \<noteq> n` by simp }
   2.685 +            using \<open>j \<le> n\<close> \<open>j \<noteq> n\<close> by simp }
   2.686          moreover have "n \<in> (reduced n\<circ>lab) ` (s - {a})"
   2.687            unfolding rl' by auto
   2.688          ultimately show ?thesis
   2.689 @@ -1288,13 +1288,13 @@
   2.690        qed
   2.691      qed
   2.692      show "ksimplex p n (s - {a})"
   2.693 -      unfolding simplex_top_face[OF `0 < p` all_eq_p] using s a by auto
   2.694 +      unfolding simplex_top_face[OF \<open>0 < p\<close> all_eq_p] using s a by auto
   2.695    qed
   2.696    ultimately show ?thesis
   2.697      using assms by (intro kuhn_simplex_lemma) auto
   2.698  qed
   2.699  
   2.700 -text {* And so we get the final combinatorial result. *}
   2.701 +text \<open>And so we get the final combinatorial result.\<close>
   2.702  
   2.703  lemma ksimplex_0: "ksimplex p 0 s \<longleftrightarrow> s = {(\<lambda>x. p)}"
   2.704  proof
   2.705 @@ -1360,18 +1360,18 @@
   2.706  
   2.707      have "label u i \<noteq> label v i"
   2.708        using reduced_labelling [of n "label u"] reduced_labelling [of n "label v"]
   2.709 -        u(2)[symmetric] v(2)[symmetric] `i < n`
   2.710 +        u(2)[symmetric] v(2)[symmetric] \<open>i < n\<close>
   2.711        by auto
   2.712      moreover
   2.713      { fix j assume "j < n"
   2.714        then have "b j \<le> u j" "u j \<le> b j + 1" "b j \<le> v j" "v j \<le> b j + 1"
   2.715 -        using base_le[OF `u\<in>s`] le_Suc_base[OF `u\<in>s`] base_le[OF `v\<in>s`] le_Suc_base[OF `v\<in>s`] by auto }
   2.716 +        using base_le[OF \<open>u\<in>s\<close>] le_Suc_base[OF \<open>u\<in>s\<close>] base_le[OF \<open>v\<in>s\<close>] le_Suc_base[OF \<open>v\<in>s\<close>] by auto }
   2.717      ultimately show ?case
   2.718        by blast
   2.719    qed
   2.720  qed
   2.721  
   2.722 -subsection {* The main result for the unit cube *}
   2.723 +subsection \<open>The main result for the unit cube\<close>
   2.724  
   2.725  lemma kuhn_labelling_lemma':
   2.726    assumes "(\<forall>x::nat\<Rightarrow>real. P x \<longrightarrow> P (f x))"
   2.727 @@ -1645,7 +1645,7 @@
   2.728      (\<forall>i<n. (label (\<Sum>i\<in>Basis. (real (x (b' i)) / real p) *\<^sub>R i) \<circ> b) i = 0 \<or>
   2.729             (label (\<Sum>i\<in>Basis. (real (x (b' i)) / real p) *\<^sub>R i) \<circ> b) i = 1)"
   2.730      unfolding *
   2.731 -    using `p > 0` `n > 0`
   2.732 +    using \<open>p > 0\<close> \<open>n > 0\<close>
   2.733      using label(1)[OF b'']
   2.734      by auto
   2.735    { fix x :: "nat \<Rightarrow> nat" and i assume "\<forall>i<n. x i \<le> p" "i < n" "x i = p \<or> x i = 0"
   2.736 @@ -1655,10 +1655,10 @@
   2.737    note cube = this
   2.738    have q2: "\<forall>x. (\<forall>i<n. x i \<le> p) \<longrightarrow> (\<forall>i<n. x i = 0 \<longrightarrow>
   2.739        (label (\<Sum>i\<in>Basis. (real (x (b' i)) / real p) *\<^sub>R i) \<circ> b) i = 0)"
   2.740 -    unfolding o_def using cube `p > 0` by (intro allI impI label(2)) (auto simp add: b'')
   2.741 +    unfolding o_def using cube \<open>p > 0\<close> by (intro allI impI label(2)) (auto simp add: b'')
   2.742    have q3: "\<forall>x. (\<forall>i<n. x i \<le> p) \<longrightarrow> (\<forall>i<n. x i = p \<longrightarrow> 
   2.743        (label (\<Sum>i\<in>Basis. (real (x (b' i)) / real p) *\<^sub>R i) \<circ> b) i = 1)"
   2.744 -    using cube `p > 0` unfolding o_def by (intro allI impI label(3)) (auto simp add: b'')
   2.745 +    using cube \<open>p > 0\<close> unfolding o_def by (intro allI impI label(3)) (auto simp add: b'')
   2.746    obtain q where q:
   2.747        "\<forall>i<n. q i < p"
   2.748        "\<forall>i<n.
   2.749 @@ -1681,7 +1681,7 @@
   2.750        by (rule d)
   2.751      assume "\<not> ?thesis"
   2.752      then have as: "\<forall>i\<in>Basis. \<bar>f z \<bullet> i - z \<bullet> i\<bar> < d / real n"
   2.753 -      using `n > 0`
   2.754 +      using \<open>n > 0\<close>
   2.755        by (auto simp add: not_le inner_diff)
   2.756      have "norm (f z - z) \<le> (\<Sum>i\<in>Basis. \<bar>f z \<bullet> i - z \<bullet> i\<bar>)"
   2.757        unfolding inner_diff_left[symmetric]
   2.758 @@ -1733,7 +1733,7 @@
   2.759      by (auto simp add: bij_betw_def zero_le_divide_iff divide_le_eq_1)
   2.760    have "z \<in> unit_cube"
   2.761      unfolding z_def mem_unit_cube
   2.762 -    using b'_Basis q(1)[rule_format,OF b'_im] `p > 0`
   2.763 +    using b'_Basis q(1)[rule_format,OF b'_im] \<open>p > 0\<close>
   2.764      by (auto simp add: bij_betw_def zero_le_divide_iff divide_le_eq_1 less_imp_le)
   2.765    have *: "\<And>x. 1 + real x = real (Suc x)"
   2.766      by auto
   2.767 @@ -1744,7 +1744,7 @@
   2.768        apply (auto simp add:* field_simps)
   2.769        done
   2.770      also have "\<dots> < e * real p"
   2.771 -      using p `e > 0` `p > 0`
   2.772 +      using p \<open>e > 0\<close> \<open>p > 0\<close>
   2.773        by (auto simp add: field_simps n_def real_of_nat_def)
   2.774      finally have "(\<Sum>i\<in>Basis. \<bar>real (r (b' i)) - real (q (b' i))\<bar>) < e * real p" .
   2.775    }
   2.776 @@ -1756,27 +1756,27 @@
   2.777        apply (auto simp add:* field_simps)
   2.778        done
   2.779      also have "\<dots> < e * real p"
   2.780 -      using p `e > 0` `p > 0`
   2.781 +      using p \<open>e > 0\<close> \<open>p > 0\<close>
   2.782        by (auto simp add: field_simps n_def real_of_nat_def)
   2.783      finally have "(\<Sum>i\<in>Basis. \<bar>real (s (b' i)) - real (q (b' i))\<bar>) < e * real p" .
   2.784    }
   2.785    ultimately
   2.786    have "norm (r' - z) < e" and "norm (s' - z) < e"
   2.787      unfolding r'_def s'_def z_def
   2.788 -    using `p > 0`
   2.789 +    using \<open>p > 0\<close>
   2.790      apply (rule_tac[!] le_less_trans[OF norm_le_l1])
   2.791      apply (auto simp add: field_simps setsum_divide_distrib[symmetric] inner_diff_left)
   2.792      done
   2.793    then have "\<bar>(f z - z) \<bullet> i\<bar> < d / real n"
   2.794      using rs(3) i
   2.795      unfolding r'_def[symmetric] s'_def[symmetric] o_def bb'
   2.796 -    by (intro e(2)[OF `r'\<in>unit_cube` `s'\<in>unit_cube` `z\<in>unit_cube`]) auto
   2.797 +    by (intro e(2)[OF \<open>r'\<in>unit_cube\<close> \<open>s'\<in>unit_cube\<close> \<open>z\<in>unit_cube\<close>]) auto
   2.798    then show False
   2.799      using i by auto
   2.800  qed
   2.801  
   2.802  
   2.803 -subsection {* Retractions *}
   2.804 +subsection \<open>Retractions\<close>
   2.805  
   2.806  definition "retraction s t r \<longleftrightarrow> t \<subseteq> s \<and> continuous_on s r \<and> r ` s \<subseteq> t \<and> (\<forall>x\<in>t. r x = x)"
   2.807  
   2.808 @@ -1786,7 +1786,7 @@
   2.809  lemma retraction_idempotent: "retraction s t r \<Longrightarrow> x \<in> s \<Longrightarrow>  r (r x) = r x"
   2.810    unfolding retraction_def by auto
   2.811  
   2.812 -subsection {* Preservation of fixpoints under (more general notion of) retraction *}
   2.813 +subsection \<open>Preservation of fixpoints under (more general notion of) retraction\<close>
   2.814  
   2.815  lemma invertible_fixpoint_property:
   2.816    fixes s :: "'a::euclidean_space set"
   2.817 @@ -1876,7 +1876,7 @@
   2.818  qed
   2.819  
   2.820  
   2.821 -subsection {* The Brouwer theorem for any set with nonempty interior *}
   2.822 +subsection \<open>The Brouwer theorem for any set with nonempty interior\<close>
   2.823  
   2.824  lemma convex_unit_cube: "convex unit_cube"
   2.825    apply (rule is_interval_convex)
   2.826 @@ -1918,7 +1918,7 @@
   2.827  qed
   2.828  
   2.829  
   2.830 -text {* And in particular for a closed ball. *}
   2.831 +text \<open>And in particular for a closed ball.\<close>
   2.832  
   2.833  lemma brouwer_ball:
   2.834    fixes f :: "'a::euclidean_space \<Rightarrow> 'a"
   2.835 @@ -1930,9 +1930,9 @@
   2.836    unfolding interior_cball ball_eq_empty
   2.837    using assms by auto
   2.838  
   2.839 -text {*Still more general form; could derive this directly without using the
   2.840 +text \<open>Still more general form; could derive this directly without using the
   2.841    rather involved @{text "HOMEOMORPHIC_CONVEX_COMPACT"} theorem, just using
   2.842 -  a scaling and translation to put the set inside the unit cube. *}
   2.843 +  a scaling and translation to put the set inside the unit cube.\<close>
   2.844  
   2.845  lemma brouwer:
   2.846    fixes f :: "'a::euclidean_space \<Rightarrow> 'a"
   2.847 @@ -1981,7 +1981,7 @@
   2.848      done
   2.849  qed
   2.850  
   2.851 -text {*So we get the no-retraction theorem. *}
   2.852 +text \<open>So we get the no-retraction theorem.\<close>
   2.853  
   2.854  lemma no_retraction_cball:
   2.855    fixes a :: "'a::euclidean_space"
     3.1 --- a/src/HOL/Multivariate_Analysis/Cartesian_Euclidean_Space.thy	Wed Jun 10 19:05:19 2015 +0200
     3.2 +++ b/src/HOL/Multivariate_Analysis/Cartesian_Euclidean_Space.thy	Wed Jun 10 19:10:20 2015 +0200
     3.3 @@ -1,4 +1,4 @@
     3.4 -section {*Instanciates the finite cartesian product of euclidean spaces as a euclidean space.*}
     3.5 +section \<open>Instanciates the finite cartesian product of euclidean spaces as a euclidean space.\<close>
     3.6  
     3.7  theory Cartesian_Euclidean_Space
     3.8  imports Finite_Cartesian_Product Integration
     3.9 @@ -31,7 +31,7 @@
    3.10  qed simp
    3.11  
    3.12  
    3.13 -subsection{* Basic componentwise operations on vectors. *}
    3.14 +subsection\<open>Basic componentwise operations on vectors.\<close>
    3.15  
    3.16  instantiation vec :: (times, finite) times
    3.17  begin
    3.18 @@ -58,7 +58,7 @@
    3.19  
    3.20  end
    3.21  
    3.22 -text{* The ordering on one-dimensional vectors is linear. *}
    3.23 +text\<open>The ordering on one-dimensional vectors is linear.\<close>
    3.24  
    3.25  class cart_one =
    3.26    assumes UNIV_one: "card (UNIV \<Colon> 'a set) = Suc 0"
    3.27 @@ -90,20 +90,20 @@
    3.28    show "x \<le> y \<or> y \<le> x" by auto
    3.29  qed
    3.30  
    3.31 -text{* Constant Vectors *}
    3.32 +text\<open>Constant Vectors\<close>
    3.33  
    3.34  definition "vec x = (\<chi> i. x)"
    3.35  
    3.36  lemma interval_cbox_cart: "{a::real^'n..b} = cbox a b"
    3.37    by (auto simp add: less_eq_vec_def mem_box Basis_vec_def inner_axis)
    3.38  
    3.39 -text{* Also the scalar-vector multiplication. *}
    3.40 +text\<open>Also the scalar-vector multiplication.\<close>
    3.41  
    3.42  definition vector_scalar_mult:: "'a::times \<Rightarrow> 'a ^ 'n \<Rightarrow> 'a ^ 'n" (infixl "*s" 70)
    3.43    where "c *s x = (\<chi> i. c * (x$i))"
    3.44  
    3.45  
    3.46 -subsection {* A naive proof procedure to lift really trivial arithmetic stuff from the basis of the vector space. *}
    3.47 +subsection \<open>A naive proof procedure to lift really trivial arithmetic stuff from the basis of the vector space.\<close>
    3.48  
    3.49  lemma setsum_cong_aux:
    3.50    "(\<And>x. x \<in> A \<Longrightarrow> f x = g x) \<Longrightarrow> setsum f A = setsum g A"
    3.51 @@ -111,7 +111,7 @@
    3.52  
    3.53  hide_fact (open) setsum_cong_aux
    3.54  
    3.55 -method_setup vector = {*
    3.56 +method_setup vector = \<open>
    3.57  let
    3.58    val ss1 =
    3.59      simpset_of (put_simpset HOL_basic_ss @{context}
    3.60 @@ -135,7 +135,7 @@
    3.61  in
    3.62    Attrib.thms >> (fn ths => fn ctxt => SIMPLE_METHOD' (vector_arith_tac ctxt ths))
    3.63  end
    3.64 -*} "lift trivial vector statements to real arith statements"
    3.65 +\<close> "lift trivial vector statements to real arith statements"
    3.66  
    3.67  lemma vec_0[simp]: "vec 0 = 0" by vector
    3.68  lemma vec_1[simp]: "vec 1 = 1" by vector
    3.69 @@ -161,7 +161,7 @@
    3.70    then show ?case by (auto simp add: vec_add)
    3.71  qed
    3.72  
    3.73 -text{* Obvious "component-pushing". *}
    3.74 +text\<open>Obvious "component-pushing".\<close>
    3.75  
    3.76  lemma vec_component [simp]: "vec x $ i = x"
    3.77    by vector
    3.78 @@ -180,7 +180,7 @@
    3.79    vector_scaleR_component cond_component
    3.80  
    3.81  
    3.82 -subsection {* Some frequently useful arithmetic lemmas over vectors. *}
    3.83 +subsection \<open>Some frequently useful arithmetic lemmas over vectors.\<close>
    3.84  
    3.85  instance vec :: (semigroup_mult, finite) semigroup_mult
    3.86    by default (vector mult.assoc)
    3.87 @@ -332,9 +332,9 @@
    3.88    using setsum_norm_allsubsets_bound[OF assms]
    3.89    by simp
    3.90  
    3.91 -subsection {* Matrix operations *}
    3.92 +subsection \<open>Matrix operations\<close>
    3.93  
    3.94 -text{* Matrix notation. NB: an MxN matrix is of type @{typ "'a^'n^'m"}, not @{typ "'a^'m^'n"} *}
    3.95 +text\<open>Matrix notation. NB: an MxN matrix is of type @{typ "'a^'n^'m"}, not @{typ "'a^'m^'n"}\<close>
    3.96  
    3.97  definition matrix_matrix_mult :: "('a::semiring_1) ^'n^'m \<Rightarrow> 'a ^'p^'n \<Rightarrow> 'a ^ 'p ^'m"
    3.98      (infixl "**" 70)
    3.99 @@ -445,7 +445,7 @@
   3.100  lemma columns_transpose: "columns(transpose (A::'a::semiring_1^_^_)) = rows A"
   3.101    by (metis transpose_transpose rows_transpose)
   3.102  
   3.103 -text{* Two sometimes fruitful ways of looking at matrix-vector multiplication. *}
   3.104 +text\<open>Two sometimes fruitful ways of looking at matrix-vector multiplication.\<close>
   3.105  
   3.106  lemma matrix_mult_dot: "A *v x = (\<chi> i. A$i \<bullet> x)"
   3.107    by (simp add: matrix_vector_mult_def inner_vec_def)
   3.108 @@ -477,7 +477,7 @@
   3.109      by simp
   3.110  qed
   3.111  
   3.112 -text{* Inverse matrices  (not necessarily square) *}
   3.113 +text\<open>Inverse matrices  (not necessarily square)\<close>
   3.114  
   3.115  definition
   3.116    "invertible(A::'a::semiring_1^'n^'m) \<longleftrightarrow> (\<exists>A'::'a^'m^'n. A ** A' = mat 1 \<and> A' ** A = mat 1)"
   3.117 @@ -486,7 +486,7 @@
   3.118    "matrix_inv(A:: 'a::semiring_1^'n^'m) =
   3.119      (SOME A'::'a^'m^'n. A ** A' = mat 1 \<and> A' ** A = mat 1)"
   3.120  
   3.121 -text{* Correspondence between matrices and linear operators. *}
   3.122 +text\<open>Correspondence between matrices and linear operators.\<close>
   3.123  
   3.124  definition matrix :: "('a::{plus,times, one, zero}^'m \<Rightarrow> 'a ^ 'n) \<Rightarrow> 'a^'m^'n"
   3.125    where "matrix f = (\<chi> i j. (f(axis j 1))$i)"
   3.126 @@ -536,7 +536,7 @@
   3.127    done
   3.128  
   3.129  
   3.130 -subsection {* lambda skolemization on cartesian products *}
   3.131 +subsection \<open>lambda skolemization on cartesian products\<close>
   3.132  
   3.133  (* FIXME: rename do choice_cart *)
   3.134  
   3.135 @@ -736,7 +736,7 @@
   3.136    unfolding matrix_right_invertible_span_columns
   3.137    ..
   3.138  
   3.139 -text {* The same result in terms of square matrices. *}
   3.140 +text \<open>The same result in terms of square matrices.\<close>
   3.141  
   3.142  lemma matrix_left_right_inverse:
   3.143    fixes A A' :: "real ^'n^'n"
   3.144 @@ -765,7 +765,7 @@
   3.145    then show ?thesis by blast
   3.146  qed
   3.147  
   3.148 -text {* Considering an n-element vector as an n-by-1 or 1-by-n matrix. *}
   3.149 +text \<open>Considering an n-element vector as an n-by-1 or 1-by-n matrix.\<close>
   3.150  
   3.151  definition "rowvector v = (\<chi> i j. (v$j))"
   3.152  
   3.153 @@ -836,7 +836,7 @@
   3.154      obtain l1::"'a^'n" and r1 where r1:"subseq r1"
   3.155        and lr1:"\<forall>e>0. eventually (\<lambda>n. \<forall>i\<in>d. dist (f (r1 n) $ i) (l1 $ i) < e) sequentially"
   3.156        using insert(3) by auto
   3.157 -    have s': "bounded ((\<lambda>x. x $ k) ` range f)" using `bounded (range f)`
   3.158 +    have s': "bounded ((\<lambda>x. x $ k) ` range f)" using \<open>bounded (range f)\<close>
   3.159        by (auto intro!: bounded_component_cart)
   3.160      have f': "\<forall>n. f (r1 n) $ k \<in> (\<lambda>x. x $ k) ` range f" by simp
   3.161      have "bounded (range (\<lambda>i. f (r1 i) $ k))"
   3.162 @@ -850,9 +850,9 @@
   3.163      moreover
   3.164      def l \<equiv> "(\<chi> i. if i = k then l2 else l1$i)::'a^'n"
   3.165      { fix e :: real assume "e > 0"
   3.166 -      from lr1 `e>0` have N1:"eventually (\<lambda>n. \<forall>i\<in>d. dist (f (r1 n) $ i) (l1 $ i) < e) sequentially"
   3.167 +      from lr1 \<open>e>0\<close> have N1:"eventually (\<lambda>n. \<forall>i\<in>d. dist (f (r1 n) $ i) (l1 $ i) < e) sequentially"
   3.168          by blast
   3.169 -      from lr2 `e>0` have N2:"eventually (\<lambda>n. dist (f (r1 (r2 n)) $ k) l2 < e) sequentially"
   3.170 +      from lr2 \<open>e>0\<close> have N2:"eventually (\<lambda>n. dist (f (r1 (r2 n)) $ k) l2 < e) sequentially"
   3.171          by (rule tendstoD)
   3.172        from r2 N1 have N1': "eventually (\<lambda>n. \<forall>i\<in>d. dist (f (r1 (r2 n)) $ i) (l1 $ i) < e) sequentially"
   3.173          by (rule eventually_subseq)
   3.174 @@ -1159,8 +1159,8 @@
   3.175    done
   3.176  
   3.177  
   3.178 -subsection {* Component of the differential must be zero if it exists at a local
   3.179 -  maximum or minimum for that corresponding component. *}
   3.180 +subsection \<open>Component of the differential must be zero if it exists at a local
   3.181 +  maximum or minimum for that corresponding component.\<close>
   3.182  
   3.183  lemma differential_zero_maxmin_cart:
   3.184    fixes f::"real^'a \<Rightarrow> real^'b"
   3.185 @@ -1171,7 +1171,7 @@
   3.186      vector_cart[of "\<lambda>j. frechet_derivative f (at x) j $ k"]
   3.187    by (simp add: Basis_vec_def axis_eq_axis inner_axis jacobian_def matrix_def)
   3.188  
   3.189 -subsection {* Lemmas for working on @{typ "real^1"} *}
   3.190 +subsection \<open>Lemmas for working on @{typ "real^1"}\<close>
   3.191  
   3.192  lemma forall_1[simp]: "(\<forall>i::1. P i) \<longleftrightarrow> P 1"
   3.193    by (metis (full_types) num1_eq_iff)
   3.194 @@ -1233,7 +1233,7 @@
   3.195  
   3.196  end
   3.197  
   3.198 -subsection{* The collapse of the general concepts to dimension one. *}
   3.199 +subsection\<open>The collapse of the general concepts to dimension one.\<close>
   3.200  
   3.201  lemma vector_one: "(x::'a ^1) = (\<chi> i. (x$1))"
   3.202    by (simp add: vec_eq_iff)
   3.203 @@ -1254,7 +1254,7 @@
   3.204    by (auto simp add: norm_real dist_norm)
   3.205  
   3.206  
   3.207 -subsection{* Explicit vector construction from lists. *}
   3.208 +subsection\<open>Explicit vector construction from lists.\<close>
   3.209  
   3.210  definition "vector l = (\<chi> i. foldr (\<lambda>x f n. fun_upd (f (n+1)) n x) l (\<lambda>n x. 0) 1 i)"
   3.211  
     4.1 --- a/src/HOL/Multivariate_Analysis/Complex_Analysis_Basics.thy	Wed Jun 10 19:05:19 2015 +0200
     4.2 +++ b/src/HOL/Multivariate_Analysis/Complex_Analysis_Basics.thy	Wed Jun 10 19:10:20 2015 +0200
     4.3 @@ -2,7 +2,7 @@
     4.4      Ported from "hol_light/Multivariate/canal.ml" by L C Paulson (2014)
     4.5  *)
     4.6  
     4.7 -section {* Complex Analysis Basics *}
     4.8 +section \<open>Complex Analysis Basics\<close>
     4.9  
    4.10  theory Complex_Analysis_Basics
    4.11  imports  "~~/src/HOL/Multivariate_Analysis/Cartesian_Euclidean_Space"
    4.12 @@ -12,7 +12,7 @@
    4.13  lemma cmod_fact [simp]: "cmod (fact n) = fact n"
    4.14    by (metis norm_of_nat of_nat_fact)
    4.15  
    4.16 -subsection{*General lemmas*}
    4.17 +subsection\<open>General lemmas\<close>
    4.18  
    4.19  lemma has_derivative_mult_right:
    4.20    fixes c:: "'a :: real_normed_algebra"
    4.21 @@ -141,7 +141,7 @@
    4.22  lemma continuous_on_norm_id [continuous_intros]: "continuous_on S norm"
    4.23    by (intro continuous_on_id continuous_on_norm)
    4.24  
    4.25 -subsection{*DERIV stuff*}
    4.26 +subsection\<open>DERIV stuff\<close>
    4.27  
    4.28  lemma DERIV_zero_connected_constant:
    4.29    fixes f :: "'a::{real_normed_field,euclidean_space} \<Rightarrow> 'a"
    4.30 @@ -211,7 +211,7 @@
    4.31    shows "(\<And>x. DERIV f x :> 0) \<Longrightarrow> f x = f a" 
    4.32  by (metis DERIV_zero_unique UNIV_I assms convex_UNIV)
    4.33  
    4.34 -subsection {*Some limit theorems about real part of real series etc.*}
    4.35 +subsection \<open>Some limit theorems about real part of real series etc.\<close>
    4.36  
    4.37  (*MOVE? But not to Finite_Cartesian_Product*)
    4.38  lemma sums_vec_nth :
    4.39 @@ -226,7 +226,7 @@
    4.40  using assms unfolding summable_def
    4.41  by (blast intro: sums_vec_nth)
    4.42  
    4.43 -subsection {*Complex number lemmas *}
    4.44 +subsection \<open>Complex number lemmas\<close>
    4.45  
    4.46  lemma
    4.47    shows open_halfspace_Re_lt: "open {z. Re(z) < b}"
    4.48 @@ -289,7 +289,7 @@
    4.49    assumes "eventually (\<lambda>x. norm(f x) \<le> Re(g x)) F" "(g ---> 0) F" shows "(f ---> 0) F"
    4.50    by (rule Lim_null_comparison[OF assms(1)] tendsto_eq_intros assms(2))+ simp
    4.51  
    4.52 -subsection{*Holomorphic functions*}
    4.53 +subsection\<open>Holomorphic functions\<close>
    4.54  
    4.55  definition complex_differentiable :: "[complex \<Rightarrow> complex, complex filter] \<Rightarrow> bool"
    4.56             (infixr "(complex'_differentiable)" 50)  
    4.57 @@ -406,7 +406,7 @@
    4.58    unfolding complex_differentiable_def
    4.59    by (metis at_within_open)
    4.60  
    4.61 -subsection{*Caratheodory characterization.*}
    4.62 +subsection\<open>Caratheodory characterization.\<close>
    4.63  
    4.64  lemma complex_differentiable_caratheodory_at:
    4.65    "f complex_differentiable (at z) \<longleftrightarrow>
    4.66 @@ -420,7 +420,7 @@
    4.67    using DERIV_caratheodory_within [of f]
    4.68    by (simp add: complex_differentiable_def has_field_derivative_def)
    4.69  
    4.70 -subsection{*Holomorphic*}
    4.71 +subsection\<open>Holomorphic\<close>
    4.72  
    4.73  definition holomorphic_on :: "[complex \<Rightarrow> complex, complex set] \<Rightarrow> bool"
    4.74             (infixl "(holomorphic'_on)" 50)
    4.75 @@ -578,7 +578,7 @@
    4.76  apply (simp add: algebra_simps)
    4.77  done
    4.78  
    4.79 -subsection{*Analyticity on a set*}
    4.80 +subsection\<open>Analyticity on a set\<close>
    4.81  
    4.82  definition analytic_on (infixl "(analytic'_on)" 50)  
    4.83    where
    4.84 @@ -777,7 +777,7 @@
    4.85    "(\<And>i. i \<in> I \<Longrightarrow> (f i) analytic_on s) \<Longrightarrow> (\<lambda>x. setsum (\<lambda>i. f i x) I) analytic_on s"
    4.86    by (induct I rule: infinite_finite_induct) (auto simp: analytic_on_const analytic_on_add)
    4.87  
    4.88 -subsection{*analyticity at a point.*}
    4.89 +subsection\<open>analyticity at a point.\<close>
    4.90  
    4.91  lemma analytic_at_ball:
    4.92    "f analytic_on {z} \<longleftrightarrow> (\<exists>e. 0<e \<and> f holomorphic_on ball z e)"
    4.93 @@ -812,7 +812,7 @@
    4.94      by (force simp add: analytic_at)
    4.95  qed
    4.96  
    4.97 -subsection{*Combining theorems for derivative with ``analytic at'' hypotheses*}
    4.98 +subsection\<open>Combining theorems for derivative with ``analytic at'' hypotheses\<close>
    4.99  
   4.100  lemma 
   4.101    assumes "f analytic_on {z}" "g analytic_on {z}"
   4.102 @@ -848,7 +848,7 @@
   4.103    "f analytic_on {z} \<Longrightarrow>  deriv (\<lambda>w. f w * c) z = deriv f z * c"
   4.104  by (auto simp: complex_derivative_mult_at complex_derivative_const analytic_on_const)
   4.105  
   4.106 -subsection{*Complex differentiation of sequences and series*}
   4.107 +subsection\<open>Complex differentiation of sequences and series\<close>
   4.108  
   4.109  lemma has_complex_derivative_sequence:
   4.110    fixes s :: "complex set"
   4.111 @@ -930,7 +930,7 @@
   4.112    qed
   4.113  qed
   4.114  
   4.115 -subsection{*Bound theorem*}
   4.116 +subsection\<open>Bound theorem\<close>
   4.117  
   4.118  lemma complex_differentiable_bound:
   4.119    fixes s :: "complex set"
   4.120 @@ -946,7 +946,7 @@
   4.121    apply fact
   4.122    done
   4.123  
   4.124 -subsection{*Inverse function theorem for complex derivatives.*}
   4.125 +subsection\<open>Inverse function theorem for complex derivatives.\<close>
   4.126  
   4.127  lemma has_complex_derivative_inverse_basic:
   4.128    fixes f :: "complex \<Rightarrow> complex"
   4.129 @@ -991,7 +991,7 @@
   4.130    using assms 
   4.131    by auto
   4.132  
   4.133 -subsection {* Taylor on Complex Numbers *}
   4.134 +subsection \<open>Taylor on Complex Numbers\<close>
   4.135  
   4.136  lemma setsum_Suc_reindex:
   4.137    fixes f :: "nat \<Rightarrow> 'a::ab_group_add"
   4.138 @@ -1055,7 +1055,7 @@
   4.139                  has_field_derivative f (Suc n) u * (z-u) ^ n / (fact n))
   4.140                 (at u within s)"
   4.141        apply (intro derivative_eq_intros)
   4.142 -      apply (blast intro: assms `u \<in> s`)
   4.143 +      apply (blast intro: assms \<open>u \<in> s\<close>)
   4.144        apply (rule refl)+
   4.145        apply (auto simp: field_simps)
   4.146        done
   4.147 @@ -1092,7 +1092,7 @@
   4.148    finally show ?thesis .
   4.149  qed
   4.150  
   4.151 -text{* Something more like the traditional MVT for real components.*}
   4.152 +text\<open>Something more like the traditional MVT for real components.\<close>
   4.153  
   4.154  lemma complex_mvt_line:
   4.155    assumes "\<And>u. u \<in> closed_segment w z \<Longrightarrow> (f has_field_derivative f'(u)) (at u)"
   4.156 @@ -1167,7 +1167,7 @@
   4.157  qed
   4.158  
   4.159  
   4.160 -subsection {* Polynomal function extremal theorem, from HOL Light*}
   4.161 +subsection \<open>Polynomal function extremal theorem, from HOL Light\<close>
   4.162  
   4.163  lemma polyfun_extremal_lemma: (*COMPLEX_POLYFUN_EXTREMAL_LEMMA in HOL Light*)
   4.164      fixes c :: "nat \<Rightarrow> 'a::real_normed_div_algebra"
   4.165 @@ -1235,7 +1235,7 @@
   4.166        then have z2: "\<bar>B\<bar> \<le> norm (c (Suc m)) * norm z / 2"
   4.167          using False by (simp add: field_simps)
   4.168        have nz: "norm z \<le> norm z ^ Suc m"
   4.169 -        by (metis `1 \<le> norm z` One_nat_def less_eq_Suc_le power_increasing power_one_right zero_less_Suc)
   4.170 +        by (metis \<open>1 \<le> norm z\<close> One_nat_def less_eq_Suc_le power_increasing power_one_right zero_less_Suc)
   4.171        have *: "\<And>y x. norm (c (Suc m)) * norm z / 2 \<le> norm y - norm x \<Longrightarrow> B \<le> norm (x + y)"
   4.172          by (metis abs_le_iff add.commute norm_diff_ineq order_trans z2)
   4.173        have "norm z * norm (c (Suc m)) + 2 * norm (\<Sum>i\<le>m. c i * z^i)
     5.1 --- a/src/HOL/Multivariate_Analysis/Complex_Transcendental.thy	Wed Jun 10 19:05:19 2015 +0200
     5.2 +++ b/src/HOL/Multivariate_Analysis/Complex_Transcendental.thy	Wed Jun 10 19:10:20 2015 +0200
     5.3 @@ -2,7 +2,7 @@
     5.4      Ported from "hol_light/Multivariate/transcendentals.ml" by L C Paulson (2015)
     5.5  *)
     5.6  
     5.7 -section {* Complex Transcendental Functions *}
     5.8 +section \<open>Complex Transcendental Functions\<close>
     5.9  
    5.10  theory Complex_Transcendental
    5.11  imports  "~~/src/HOL/Multivariate_Analysis/Complex_Analysis_Basics"
    5.12 @@ -40,7 +40,7 @@
    5.13    apply (simp add: norm_power Im_power2)
    5.14    done
    5.15  
    5.16 -subsection{*The Exponential Function is Differentiable and Continuous*}
    5.17 +subsection\<open>The Exponential Function is Differentiable and Continuous\<close>
    5.18  
    5.19  lemma complex_differentiable_within_exp: "exp complex_differentiable (at z within s)"
    5.20    using DERIV_exp complex_differentiable_at_within complex_differentiable_def by blast
    5.21 @@ -58,9 +58,9 @@
    5.22  lemma holomorphic_on_exp: "exp holomorphic_on s"
    5.23    by (simp add: complex_differentiable_within_exp holomorphic_on_def)
    5.24  
    5.25 -subsection{*Euler and de Moivre formulas.*}
    5.26 -
    5.27 -text{*The sine series times @{term i}*}
    5.28 +subsection\<open>Euler and de Moivre formulas.\<close>
    5.29 +
    5.30 +text\<open>The sine series times @{term i}\<close>
    5.31  lemma sin_ii_eq: "(\<lambda>n. (ii * sin_coeff n) * z^n) sums (ii * sin z)"
    5.32  proof -
    5.33    have "(\<lambda>n. ii * sin_coeff n *\<^sub>R z^n) sums (ii * sin z)"
    5.34 @@ -101,7 +101,7 @@
    5.35  lemma cos_exp_eq:  "cos z = (exp(ii * z) + exp(-(ii * z))) / 2"
    5.36    by (simp add: exp_Euler exp_minus_Euler)
    5.37  
    5.38 -subsection{*Relationships between real and complex trig functions*}
    5.39 +subsection\<open>Relationships between real and complex trig functions\<close>
    5.40  
    5.41  lemma real_sin_eq [simp]:
    5.42    fixes x::real
    5.43 @@ -157,7 +157,7 @@
    5.44  lemma holomorphic_on_cos: "cos holomorphic_on s"
    5.45    by (simp add: complex_differentiable_within_cos holomorphic_on_def)
    5.46  
    5.47 -subsection{* Get a nice real/imaginary separation in Euler's formula.*}
    5.48 +subsection\<open>Get a nice real/imaginary separation in Euler's formula.\<close>
    5.49  
    5.50  lemma Euler: "exp(z) = of_real(exp(Re z)) *
    5.51                (of_real(cos(Im z)) + ii * of_real(sin(Im z)))"
    5.52 @@ -184,7 +184,7 @@
    5.53  lemma Im_sin_nonneg2: "Re z = pi \<Longrightarrow> Im z \<le> 0 \<Longrightarrow> 0 \<le> Im (sin z)"
    5.54    by (simp add: Re_sin Im_sin algebra_simps)
    5.55  
    5.56 -subsection{*More on the Polar Representation of Complex Numbers*}
    5.57 +subsection\<open>More on the Polar Representation of Complex Numbers\<close>
    5.58  
    5.59  lemma exp_Complex: "exp(Complex r t) = of_real(exp r) * Complex (cos t) (sin t)"
    5.60    by (simp add: exp_add exp_Euler exp_of_real sin_of_real cos_of_real)
    5.61 @@ -456,7 +456,7 @@
    5.62      done
    5.63  qed
    5.64  
    5.65 -subsection{* Taylor series for complex exponential, sine and cosine.*}
    5.66 +subsection\<open>Taylor series for complex exponential, sine and cosine.\<close>
    5.67  
    5.68  declare power_Suc [simp del]
    5.69  
    5.70 @@ -600,7 +600,7 @@
    5.71  
    5.72  declare power_Suc [simp]
    5.73  
    5.74 -text{*32-bit Approximation to e*}
    5.75 +text\<open>32-bit Approximation to e\<close>
    5.76  lemma e_approx_32: "abs(exp(1) - 5837465777 / 2147483648) \<le> (inverse(2 ^ 32)::real)"
    5.77    using Taylor_exp [of 1 14] exp_le
    5.78    apply (simp add: setsum_left_distrib in_Reals_norm Re_exp atMost_nat_numeral fact_numeral)
    5.79 @@ -615,7 +615,7 @@
    5.80    by (metis e_less_3 exp_less_cancel_iff exp_ln_iff less_trans ln_exp)
    5.81  
    5.82  
    5.83 -subsection{*The argument of a complex number*}
    5.84 +subsection\<open>The argument of a complex number\<close>
    5.85  
    5.86  definition Arg :: "complex \<Rightarrow> real" where
    5.87   "Arg z \<equiv> if z = 0 then 0
    5.88 @@ -874,7 +874,7 @@
    5.89    by (rule Arg_unique [of  "exp(Re z)"]) (auto simp: Exp_eq_polar)
    5.90  
    5.91  
    5.92 -subsection{*Analytic properties of tangent function*}
    5.93 +subsection\<open>Analytic properties of tangent function\<close>
    5.94  
    5.95  lemma cnj_tan: "cnj(tan z) = tan(cnj z)"
    5.96    by (simp add: cnj_cos cnj_sin tan_def)
    5.97 @@ -897,7 +897,7 @@
    5.98    by (simp add: complex_differentiable_within_tan holomorphic_on_def)
    5.99  
   5.100  
   5.101 -subsection{*Complex logarithms (the conventional principal value)*}
   5.102 +subsection\<open>Complex logarithms (the conventional principal value)\<close>
   5.103  
   5.104  instantiation complex :: ln
   5.105  begin
   5.106 @@ -934,7 +934,7 @@
   5.107    apply auto
   5.108    done
   5.109  
   5.110 -subsection{*Relation to Real Logarithm*}
   5.111 +subsection\<open>Relation to Real Logarithm\<close>
   5.112  
   5.113  lemma Ln_of_real:
   5.114    assumes "0 < z"
   5.115 @@ -998,9 +998,9 @@
   5.116    done
   5.117  
   5.118  
   5.119 -subsection{*The Unwinding Number and the Ln-product Formula*}
   5.120 -
   5.121 -text{*Note that in this special case the unwinding number is -1, 0 or 1.*}
   5.122 +subsection\<open>The Unwinding Number and the Ln-product Formula\<close>
   5.123 +
   5.124 +text\<open>Note that in this special case the unwinding number is -1, 0 or 1.\<close>
   5.125  
   5.126  definition unwinding :: "complex \<Rightarrow> complex" where
   5.127     "unwinding(z) = (z - Ln(exp z)) / (of_real(2*pi) * ii)"
   5.128 @@ -1013,7 +1013,7 @@
   5.129    using unwinding_2pi by (simp add: exp_add)
   5.130  
   5.131  
   5.132 -subsection{*Derivative of Ln away from the branch cut*}
   5.133 +subsection\<open>Derivative of Ln away from the branch cut\<close>
   5.134  
   5.135  lemma
   5.136    assumes "Im(z) = 0 \<Longrightarrow> 0 < Re(z)"
   5.137 @@ -1061,7 +1061,7 @@
   5.138    by (simp add: complex_differentiable_within_Ln holomorphic_on_def)
   5.139  
   5.140  
   5.141 -subsection{*Quadrant-type results for Ln*}
   5.142 +subsection\<open>Quadrant-type results for Ln\<close>
   5.143  
   5.144  lemma cos_lt_zero_pi: "pi/2 < x \<Longrightarrow> x < 3*pi/2 \<Longrightarrow> cos x < 0"
   5.145    using cos_minus_pi cos_gt_zero_pi [of "x-pi"]
   5.146 @@ -1160,7 +1160,7 @@
   5.147    by (metis Im_Ln_eq_0 Im_Ln_less_pi Im_Ln_pos_le Im_Ln_pos_lt add.right_neutral complex_eq mult_zero_right not_less not_less_iff_gr_or_eq of_real_0)
   5.148  
   5.149  
   5.150 -subsection{*More Properties of Ln*}
   5.151 +subsection\<open>More Properties of Ln\<close>
   5.152  
   5.153  lemma cnj_Ln: "(Im z = 0 \<Longrightarrow> 0 < Re z) \<Longrightarrow> cnj(Ln z) = Ln(cnj z)"
   5.154    apply (cases "z=0", auto)
   5.155 @@ -1283,7 +1283,7 @@
   5.156    by (auto simp: of_real_numeral Ln_times)
   5.157  
   5.158  
   5.159 -subsection{*Relation between Ln and Arg, and hence continuity of Arg*}
   5.160 +subsection\<open>Relation between Ln and Arg, and hence continuity of Arg\<close>
   5.161  
   5.162  lemma Arg_Ln: 
   5.163    assumes "0 < Arg z" shows "Arg z = Im(Ln(-z)) + pi"
   5.164 @@ -1327,7 +1327,7 @@
   5.165      done
   5.166  qed
   5.167  
   5.168 -text{*Relation between Arg and arctangent in upper halfplane*}
   5.169 +text\<open>Relation between Arg and arctangent in upper halfplane\<close>
   5.170  lemma Arg_arctan_upperhalf: 
   5.171    assumes "0 < Im z"
   5.172      shows "Arg z = pi/2 - arctan(Re z / Im z)"
   5.173 @@ -1439,7 +1439,7 @@
   5.174    using open_Arg_gt [of t]
   5.175    by (simp add: closed_def Set.Collect_neg_eq [symmetric] not_le)
   5.176  
   5.177 -subsection{*Complex Powers*}
   5.178 +subsection\<open>Complex Powers\<close>
   5.179  
   5.180  lemma powr_to_1 [simp]: "z powr 1 = (z::complex)"
   5.181    by (simp add: powr_def)
   5.182 @@ -1517,7 +1517,7 @@
   5.183    by (auto simp add: norm_powr_real powr_def Im_Ln_eq_0 complex_is_Real_iff in_Reals_norm)
   5.184  
   5.185  
   5.186 -subsection{*Some Limits involving Logarithms*}
   5.187 +subsection\<open>Some Limits involving Logarithms\<close>
   5.188          
   5.189  lemma lim_Ln_over_power:
   5.190    fixes s::complex
   5.191 @@ -1626,12 +1626,12 @@
   5.192      by (simp add: divide_simps)
   5.193    then have "ln (exp (inverse r)) < ln (of_nat n)"
   5.194      by (metis exp_gt_zero less_trans ln_exp ln_less_cancel_iff)
   5.195 -  with `0 < r` have "1 < r * ln (real_of_nat n)"
   5.196 +  with \<open>0 < r\<close> have "1 < r * ln (real_of_nat n)"
   5.197      by (simp add: field_simps)
   5.198    moreover have "n > 0" using n
   5.199      using neq0_conv by fastforce
   5.200    ultimately show "\<exists>no. \<forall>n. Ln (of_nat n) \<noteq> 0 \<longrightarrow> no \<le> n \<longrightarrow> 1 < r * cmod (Ln (of_nat n))"
   5.201 -    using n `0 < r`
   5.202 +    using n \<open>0 < r\<close>
   5.203      apply (rule_tac x=n in exI)
   5.204      apply (auto simp: divide_simps)
   5.205      apply (erule less_le_trans, auto)
   5.206 @@ -1646,7 +1646,7 @@
   5.207    done
   5.208  
   5.209  
   5.210 -subsection{*Relation between Square Root and exp/ln, hence its derivative*}
   5.211 +subsection\<open>Relation between Square Root and exp/ln, hence its derivative\<close>
   5.212  
   5.213  lemma csqrt_exp_Ln:
   5.214    assumes "z \<noteq> 0"
   5.215 @@ -1757,9 +1757,9 @@
   5.216  by (metis linear not_less real_sqrt_less_iff real_sqrt_pow2_iff real_sqrt_power)
   5.217  qed
   5.218  
   5.219 -subsection{*Complex arctangent*}
   5.220 -
   5.221 -text{*branch cut gives standard bounds in real case.*}
   5.222 +subsection\<open>Complex arctangent\<close>
   5.223 +
   5.224 +text\<open>branch cut gives standard bounds in real case.\<close>
   5.225  
   5.226  definition Arctan :: "complex \<Rightarrow> complex" where
   5.227      "Arctan \<equiv> \<lambda>z. (\<i>/2) * Ln((1 - \<i>*z) / (1 + \<i>*z))"
   5.228 @@ -1889,7 +1889,7 @@
   5.229    by (simp add: complex_differentiable_within_Arctan holomorphic_on_def)
   5.230  
   5.231  
   5.232 -subsection {*Real arctangent*}
   5.233 +subsection \<open>Real arctangent\<close>
   5.234  
   5.235  lemma norm_exp_ii_times [simp]: "norm (exp(\<i> * of_real y)) = 1"
   5.236    by simp
   5.237 @@ -2026,7 +2026,7 @@
   5.238    by (metis abs_arctan_le abs_less_iff arctan_tan minus_less_iff)
   5.239  
   5.240  
   5.241 -subsection{*Inverse Sine*}
   5.242 +subsection\<open>Inverse Sine\<close>
   5.243  
   5.244  definition Arcsin :: "complex \<Rightarrow> complex" where
   5.245     "Arcsin \<equiv> \<lambda>z. -\<i> * Ln(\<i> * z + csqrt(1 - z\<^sup>2))"
   5.246 @@ -2074,7 +2074,7 @@
   5.247  lemma sin_Arcsin [simp]: "sin(Arcsin z) = z"
   5.248  proof -
   5.249    have "\<i>*z*2 + csqrt (1 - z\<^sup>2)*2 = 0 \<longleftrightarrow> (\<i>*z)*2 + csqrt (1 - z\<^sup>2)*2 = 0"
   5.250 -    by (simp add: algebra_simps)  --{*Cancelling a factor of 2*}
   5.251 +    by (simp add: algebra_simps)  --\<open>Cancelling a factor of 2\<close>
   5.252    moreover have "... \<longleftrightarrow> (\<i>*z) + csqrt (1 - z\<^sup>2) = 0"
   5.253      by (metis Arcsin_body_lemma distrib_right no_zero_divisors zero_neq_numeral)
   5.254    ultimately show ?thesis
   5.255 @@ -2177,7 +2177,7 @@
   5.256    by (simp add: complex_differentiable_within_Arcsin holomorphic_on_def)
   5.257  
   5.258  
   5.259 -subsection{*Inverse Cosine*}
   5.260 +subsection\<open>Inverse Cosine\<close>
   5.261  
   5.262  definition Arccos :: "complex \<Rightarrow> complex" where
   5.263     "Arccos \<equiv> \<lambda>z. -\<i> * Ln(z + \<i> * csqrt(1 - z\<^sup>2))"
   5.264 @@ -2197,7 +2197,7 @@
   5.265  lemma Im_Arccos: "Im(Arccos z) = - ln (cmod (z + \<i> * csqrt (1 - z\<^sup>2)))"
   5.266    by (simp add: Arccos_def Arccos_body_lemma)
   5.267  
   5.268 -text{*A very tricky argument to find!*}
   5.269 +text\<open>A very tricky argument to find!\<close>
   5.270  lemma abs_Re_less_1_preserve:
   5.271    assumes "(Im z = 0 \<Longrightarrow> \<bar>Re z\<bar> < 1)"  "Im (z + \<i> * csqrt (1 - z\<^sup>2)) = 0"
   5.272      shows "0 < Re (z + \<i> * csqrt (1 - z\<^sup>2))"
   5.273 @@ -2252,7 +2252,7 @@
   5.274  lemma cos_Arccos [simp]: "cos(Arccos z) = z"
   5.275  proof -
   5.276    have "z*2 + \<i> * (2 * csqrt (1 - z\<^sup>2)) = 0 \<longleftrightarrow> z*2 + \<i> * csqrt (1 - z\<^sup>2)*2 = 0"
   5.277 -    by (simp add: algebra_simps)  --{*Cancelling a factor of 2*}
   5.278 +    by (simp add: algebra_simps)  --\<open>Cancelling a factor of 2\<close>
   5.279    moreover have "... \<longleftrightarrow> z + \<i> * csqrt (1 - z\<^sup>2) = 0"
   5.280      by (metis distrib_right mult_eq_0_iff zero_neq_numeral)
   5.281    ultimately show ?thesis
   5.282 @@ -2349,7 +2349,7 @@
   5.283    by (simp add: complex_differentiable_within_Arccos holomorphic_on_def)
   5.284  
   5.285  
   5.286 -subsection{*Upper and Lower Bounds for Inverse Sine and Cosine*}
   5.287 +subsection\<open>Upper and Lower Bounds for Inverse Sine and Cosine\<close>
   5.288  
   5.289  lemma Arcsin_bounds: "\<bar>Re z\<bar> < 1 \<Longrightarrow> abs(Re(Arcsin z)) < pi/2"
   5.290    unfolding Re_Arcsin
   5.291 @@ -2374,7 +2374,7 @@
   5.292    using Re_Arcsin_bounds abs_le_interval_iff less_eq_real_def by blast
   5.293  
   5.294  
   5.295 -subsection{*Interrelations between Arcsin and Arccos*}
   5.296 +subsection\<open>Interrelations between Arcsin and Arccos\<close>
   5.297  
   5.298  lemma cos_Arcsin_nonzero:
   5.299    assumes "z\<^sup>2 \<noteq> 1" shows "cos(Arcsin z) \<noteq> 0"
   5.300 @@ -2478,7 +2478,7 @@
   5.301    by (simp add: Arcsin_Arccos_csqrt_pos)
   5.302  
   5.303  
   5.304 -subsection{*Relationship with Arcsin on the Real Numbers*}
   5.305 +subsection\<open>Relationship with Arcsin on the Real Numbers\<close>
   5.306  
   5.307  lemma Im_Arcsin_of_real:
   5.308    assumes "abs x \<le> 1"
   5.309 @@ -2528,7 +2528,7 @@
   5.310    by (metis Im_Arcsin_of_real add.right_neutral arcsin_eq_Re_Arcsin complex_eq mult_zero_right of_real_0)
   5.311  
   5.312  
   5.313 -subsection{*Relationship with Arccos on the Real Numbers*}
   5.314 +subsection\<open>Relationship with Arccos on the Real Numbers\<close>
   5.315  
   5.316  lemma Im_Arccos_of_real:
   5.317    assumes "abs x \<le> 1"
   5.318 @@ -2577,7 +2577,7 @@
   5.319  lemma of_real_arccos: "abs x \<le> 1 \<Longrightarrow> of_real(arccos x) = Arccos(of_real x)"
   5.320    by (metis Im_Arccos_of_real add.right_neutral arccos_eq_Re_Arccos complex_eq mult_zero_right of_real_0)
   5.321  
   5.322 -subsection{*Some interrelationships among the real inverse trig functions.*}
   5.323 +subsection\<open>Some interrelationships among the real inverse trig functions.\<close>
   5.324  
   5.325  lemma arccos_arctan:
   5.326    assumes "-1 < x" "x < 1"
   5.327 @@ -2647,7 +2647,7 @@
   5.328    using arccos_arcsin_sqrt_pos [of "-x"]
   5.329    by (simp add: arccos_minus)
   5.330  
   5.331 -subsection{*continuity results for arcsin and arccos.*}
   5.332 +subsection\<open>continuity results for arcsin and arccos.\<close>
   5.333  
   5.334  lemma continuous_on_Arcsin_real [continuous_intros]:
   5.335      "continuous_on {w \<in> \<real>. \<bar>Re w\<bar> \<le> 1} Arcsin"
   5.336 @@ -2702,7 +2702,7 @@
   5.337  qed
   5.338  
   5.339  
   5.340 -subsection{*Roots of unity*}
   5.341 +subsection\<open>Roots of unity\<close>
   5.342  
   5.343  lemma complex_root_unity:
   5.344    fixes j::nat
     6.1 --- a/src/HOL/Multivariate_Analysis/Convex_Euclidean_Space.thy	Wed Jun 10 19:05:19 2015 +0200
     6.2 +++ b/src/HOL/Multivariate_Analysis/Convex_Euclidean_Space.thy	Wed Jun 10 19:10:20 2015 +0200
     6.3 @@ -3,7 +3,7 @@
     6.4      Author:     Bogdan Grechuk, University of Edinburgh
     6.5  *)
     6.6  
     6.7 -section {* Convex sets, functions and related things. *}
     6.8 +section \<open>Convex sets, functions and related things.\<close>
     6.9  
    6.10  theory Convex_Euclidean_Space
    6.11  imports
    6.12 @@ -100,7 +100,7 @@
    6.13    also have "\<dots> \<longleftrightarrow> (\<forall>x \<in> S. \<forall>y \<in> S. f (x - y) = 0 \<longrightarrow> x - y = 0)"
    6.14      by (simp add: linear_sub[OF lf])
    6.15    also have "\<dots> \<longleftrightarrow> (\<forall>x \<in> S. f x = 0 \<longrightarrow> x = 0)"
    6.16 -    using `subspace S` subspace_def[of S] subspace_sub[of S] by auto
    6.17 +    using \<open>subspace S\<close> subspace_def[of S] subspace_sub[of S] by auto
    6.18    finally show ?thesis .
    6.19  qed
    6.20  
    6.21 @@ -221,7 +221,7 @@
    6.22    from C independent_bound have fC: "finite C"
    6.23      by blast
    6.24    from B(4) C(4) card_le_inj[of B C] d obtain f where
    6.25 -    f: "f ` B \<subseteq> C" "inj_on f B" using `finite B` `finite C` by auto
    6.26 +    f: "f ` B \<subseteq> C" "inj_on f B" using \<open>finite B\<close> \<open>finite C\<close> by auto
    6.27    from linear_independent_extend[OF B(2)] obtain g where
    6.28      g: "linear g" "\<forall>x \<in> B. g x = f x" by blast
    6.29    from inj_on_iff_eq_card[OF fB, of f] f(2)
    6.30 @@ -367,7 +367,7 @@
    6.31    unfolding norm_eq_sqrt_inner by simp
    6.32  
    6.33  
    6.34 -subsection {* Affine set and affine hull *}
    6.35 +subsection \<open>Affine set and affine hull\<close>
    6.36  
    6.37  definition affine :: "'a::real_vector set \<Rightarrow> bool"
    6.38    where "affine s \<longleftrightarrow> (\<forall>x\<in>s. \<forall>y\<in>s. \<forall>u v. u + v = 1 \<longrightarrow> u *\<^sub>R x + v *\<^sub>R y \<in> s)"
    6.39 @@ -398,7 +398,7 @@
    6.40    by (metis affine_affine_hull hull_same)
    6.41  
    6.42  
    6.43 -subsubsection {* Some explicit formulations (from Lars Schewe) *}
    6.44 +subsubsection \<open>Some explicit formulations (from Lars Schewe)\<close>
    6.45  
    6.46  lemma affine:
    6.47    fixes V::"'a::real_vector set"
    6.48 @@ -457,22 +457,22 @@
    6.49          then have "setsum u s = real_of_nat (card s)"
    6.50            unfolding card_eq_setsum by auto
    6.51          then show False
    6.52 -          using as(7) and `card s > 2`
    6.53 +          using as(7) and \<open>card s > 2\<close>
    6.54            by (metis One_nat_def less_Suc0 Zero_not_Suc of_nat_1 of_nat_eq_iff numeral_2_eq_2)
    6.55        qed
    6.56        then obtain x where x:"x \<in> s" "u x \<noteq> 1" by auto
    6.57  
    6.58        have c: "card (s - {x}) = card s - 1"
    6.59          apply (rule card_Diff_singleton)
    6.60 -        using `x\<in>s` as(4)
    6.61 +        using \<open>x\<in>s\<close> as(4)
    6.62          apply auto
    6.63          done
    6.64        have *: "s = insert x (s - {x})" "finite (s - {x})"
    6.65 -        using `x\<in>s` and as(4) by auto
    6.66 +        using \<open>x\<in>s\<close> and as(4) by auto
    6.67        have **: "setsum u (s - {x}) = 1 - u x"
    6.68          using setsum_clauses(2)[OF *(2), of u x, unfolded *(1)[symmetric] as(7)] by auto
    6.69        have ***: "inverse (1 - u x) * setsum u (s - {x}) = 1"
    6.70 -        unfolding ** using `u x \<noteq> 1` by auto
    6.71 +        unfolding ** using \<open>u x \<noteq> 1\<close> by auto
    6.72        have "(\<Sum>xa\<in>s - {x}. (inverse (1 - u x) * u xa) *\<^sub>R xa) \<in> V"
    6.73        proof (cases "card (s - {x}) > 2")
    6.74          case True
    6.75 @@ -497,7 +497,7 @@
    6.76            unfolding card_Suc_eq by auto
    6.77          then show ?thesis
    6.78            using as(3)[THEN bspec[where x=a], THEN bspec[where x=b]]
    6.79 -          using *** *(2) and `s \<subseteq> V`
    6.80 +          using *** *(2) and \<open>s \<subseteq> V\<close>
    6.81            unfolding setsum_right_distrib
    6.82            by (auto simp add: setsum_clauses(2))
    6.83        qed
    6.84 @@ -513,7 +513,7 @@
    6.85          unfolding scaleR_scaleR[symmetric] and scaleR_right.setsum [symmetric]
    6.86          apply (subst *)
    6.87          unfolding setsum_clauses(2)[OF *(2)]
    6.88 -        using `u x \<noteq> 1`
    6.89 +        using \<open>u x \<noteq> 1\<close>
    6.90          apply auto
    6.91          done
    6.92      qed
    6.93 @@ -523,7 +523,7 @@
    6.94        by (auto simp add: card_Suc_eq)
    6.95      then show ?thesis
    6.96        using as(4,5) by simp
    6.97 -  qed (insert `s\<noteq>{}` `finite s`, auto)
    6.98 +  qed (insert \<open>s\<noteq>{}\<close> \<open>finite s\<close>, auto)
    6.99  qed
   6.100  
   6.101  lemma affine_hull_explicit:
   6.102 @@ -622,7 +622,7 @@
   6.103  qed
   6.104  
   6.105  
   6.106 -subsubsection {* Stepping theorems and hence small special cases *}
   6.107 +subsubsection \<open>Stepping theorems and hence small special cases\<close>
   6.108  
   6.109  lemma affine_hull_empty[simp]: "affine hull {} = {}"
   6.110    by (rule hull_unique) auto
   6.111 @@ -759,7 +759,7 @@
   6.112    by (metis add_uminus_conv_diff mem_affine_3_minus real_vector.scale_minus_left)
   6.113  
   6.114  
   6.115 -subsubsection {* Some relations between affine hull and subspaces *}
   6.116 +subsubsection \<open>Some relations between affine hull and subspaces\<close>
   6.117  
   6.118  lemma affine_hull_insert_subset_span:
   6.119    "affine hull (insert a s) \<subseteq> {a + v| v . v \<in> span {x - a | x . x \<in> s}}"
   6.120 @@ -820,7 +820,7 @@
   6.121    using affine_hull_insert_span[of a "s - {a}", unfolded insert_Diff[OF assms]] by auto
   6.122  
   6.123  
   6.124 -subsubsection {* Parallel affine sets *}
   6.125 +subsubsection \<open>Parallel affine sets\<close>
   6.126  
   6.127  definition affine_parallel :: "'a::real_vector set \<Rightarrow> 'a::real_vector set \<Rightarrow> bool"
   6.128    where "affine_parallel S T \<longleftrightarrow> (\<exists>a. T = (\<lambda>x. a + x) ` S)"
   6.129 @@ -894,7 +894,7 @@
   6.130      have "u *\<^sub>R (a + x) + v *\<^sub>R (a + y) = (u + v) *\<^sub>R a + (u *\<^sub>R x + v *\<^sub>R y)"
   6.131        by (simp add: algebra_simps)
   6.132      also have "\<dots> = a + (u *\<^sub>R x + v *\<^sub>R y)"
   6.133 -      using `u + v = 1` by auto
   6.134 +      using \<open>u + v = 1\<close> by auto
   6.135      ultimately have "a + (u *\<^sub>R x + v *\<^sub>R y) \<in> (\<lambda>x. a + x) ` S"
   6.136        using h1 by auto
   6.137      then have "u *\<^sub>R x + v *\<^sub>R y : S" by auto
   6.138 @@ -927,7 +927,7 @@
   6.139    unfolding subspace_def affine_def by auto
   6.140  
   6.141  
   6.142 -subsubsection {* Subspace parallel to an affine set *}
   6.143 +subsubsection \<open>Subspace parallel to an affine set\<close>
   6.144  
   6.145  lemma subspace_affine: "subspace S \<longleftrightarrow> affine S \<and> 0 \<in> S"
   6.146  proof -
   6.147 @@ -1051,7 +1051,7 @@
   6.148  qed
   6.149  
   6.150  
   6.151 -subsection {* Cones *}
   6.152 +subsection \<open>Cones\<close>
   6.153  
   6.154  definition cone :: "'a::real_vector set \<Rightarrow> bool"
   6.155    where "cone s \<longleftrightarrow> (\<forall>x\<in>s. \<forall>c\<ge>0. c *\<^sub>R x \<in> s)"
   6.156 @@ -1066,7 +1066,7 @@
   6.157    unfolding cone_def by auto
   6.158  
   6.159  
   6.160 -subsubsection {* Conic hull *}
   6.161 +subsubsection \<open>Conic hull\<close>
   6.162  
   6.163  lemma cone_cone_hull: "cone (cone hull s)"
   6.164    unfolding hull_def by auto
   6.165 @@ -1116,7 +1116,7 @@
   6.166          assume "x \<in> S"
   6.167          then have "x \<in> (op *\<^sub>R c) ` S"
   6.168            unfolding image_def
   6.169 -          using `cone S` `c>0` mem_cone[of S x "1/c"]
   6.170 +          using \<open>cone S\<close> \<open>c>0\<close> mem_cone[of S x "1/c"]
   6.171              exI[of "(\<lambda>t. t \<in> S \<and> x = c *\<^sub>R t)" "(1 / c) *\<^sub>R x"]
   6.172            by auto
   6.173        }
   6.174 @@ -1125,13 +1125,13 @@
   6.175          fix x
   6.176          assume "x \<in> (op *\<^sub>R c) ` S"
   6.177          then have "x \<in> S"
   6.178 -          using `cone S` `c > 0`
   6.179 -          unfolding cone_def image_def `c > 0` by auto
   6.180 +          using \<open>cone S\<close> \<open>c > 0\<close>
   6.181 +          unfolding cone_def image_def \<open>c > 0\<close> by auto
   6.182        }
   6.183        ultimately have "(op *\<^sub>R c) ` S = S" by auto
   6.184      }
   6.185      then have "0 \<in> S \<and> (\<forall>c. c > 0 \<longrightarrow> (op *\<^sub>R c) ` S = S)"
   6.186 -      using `cone S` cone_contains_0[of S] assms by auto
   6.187 +      using \<open>cone S\<close> cone_contains_0[of S] assms by auto
   6.188    }
   6.189    moreover
   6.190    {
   6.191 @@ -1142,7 +1142,7 @@
   6.192        fix c1 :: real
   6.193        assume "c1 \<ge> 0"
   6.194        then have "c1 = 0 \<or> c1 > 0" by auto
   6.195 -      then have "c1 *\<^sub>R x \<in> S" using a `x \<in> S` by auto
   6.196 +      then have "c1 *\<^sub>R x \<in> S" using a \<open>x \<in> S\<close> by auto
   6.197      }
   6.198      then have "cone S" unfolding cone_def by auto
   6.199    }
   6.200 @@ -1197,7 +1197,7 @@
   6.201    }
   6.202    then have "S \<subseteq> ?rhs" by auto
   6.203    then have "?lhs \<subseteq> ?rhs"
   6.204 -    using `?rhs \<in> Collect cone` hull_minimal[of S "?rhs" "cone"] by auto
   6.205 +    using \<open>?rhs \<in> Collect cone\<close> hull_minimal[of S "?rhs" "cone"] by auto
   6.206    moreover
   6.207    {
   6.208      fix x
   6.209 @@ -1230,7 +1230,7 @@
   6.210  qed
   6.211  
   6.212  
   6.213 -subsection {* Affine dependence and consequential theorems (from Lars Schewe) *}
   6.214 +subsection \<open>Affine dependence and consequential theorems (from Lars Schewe)\<close>
   6.215  
   6.216  definition affine_dependent :: "'a::real_vector set \<Rightarrow> bool"
   6.217    where "affine_dependent s \<longleftrightarrow> (\<exists>x\<in>s. x \<in> affine hull (s - {x}))"
   6.218 @@ -1253,7 +1253,7 @@
   6.219    have "x \<notin> s" using as(1,4) by auto
   6.220    show "\<exists>s u. finite s \<and> s \<subseteq> p \<and> setsum u s = 0 \<and> (\<exists>v\<in>s. u v \<noteq> 0) \<and> (\<Sum>v\<in>s. u v *\<^sub>R v) = 0"
   6.221      apply (rule_tac x="insert x s" in exI, rule_tac x="\<lambda>v. if v = x then - 1 else u v" in exI)
   6.222 -    unfolding if_smult and setsum_clauses(2)[OF as(2)] and setsum_delta_notmem[OF `x\<notin>s`] and as
   6.223 +    unfolding if_smult and setsum_clauses(2)[OF as(2)] and setsum_delta_notmem[OF \<open>x\<notin>s\<close>] and as
   6.224      using as
   6.225      apply auto
   6.226      done
   6.227 @@ -1289,7 +1289,7 @@
   6.228    then show ?rhs
   6.229      apply (rule_tac x="\<lambda>x. if x\<in>t then u x else 0" in exI)
   6.230      apply auto unfolding * and setsum.inter_restrict[OF assms, symmetric]
   6.231 -    unfolding Int_absorb1[OF `t\<subseteq>s`]
   6.232 +    unfolding Int_absorb1[OF \<open>t\<subseteq>s\<close>]
   6.233      apply auto
   6.234      done
   6.235  next
   6.236 @@ -1301,7 +1301,7 @@
   6.237  qed
   6.238  
   6.239  
   6.240 -subsection {* Connectedness of convex sets *}
   6.241 +subsection \<open>Connectedness of convex sets\<close>
   6.242  
   6.243  lemma connectedD:
   6.244    "connected S \<Longrightarrow> open A \<Longrightarrow> open B \<Longrightarrow> S \<subseteq> A \<union> B \<Longrightarrow> A \<inter> B \<inter> S = {} \<Longrightarrow> A \<inter> S = {} \<or> B \<inter> S = {}"
   6.245 @@ -1328,16 +1328,16 @@
   6.246    moreover have "b \<in> B \<inter> f ` {0 .. 1}"
   6.247      using b by (auto intro!: image_eqI[of _ _ 0] simp: f_def)
   6.248    moreover have "f ` {0 .. 1} \<subseteq> s"
   6.249 -    using `convex s` a b unfolding convex_def f_def by auto
   6.250 +    using \<open>convex s\<close> a b unfolding convex_def f_def by auto
   6.251    ultimately show False by auto
   6.252  qed
   6.253  
   6.254 -text {* One rather trivial consequence. *}
   6.255 +text \<open>One rather trivial consequence.\<close>
   6.256  
   6.257  lemma connected_UNIV[intro]: "connected (UNIV :: 'a::real_normed_vector set)"
   6.258    by(simp add: convex_connected convex_UNIV)
   6.259  
   6.260 -text {* Balls, being convex, are connected. *}
   6.261 +text \<open>Balls, being convex, are connected.\<close>
   6.262  
   6.263  lemma convex_prod:
   6.264    assumes "\<And>i. i \<in> Basis \<Longrightarrow> convex {x. P i x}"
   6.265 @@ -1363,9 +1363,9 @@
   6.266      by (auto simp add: dist_nz[symmetric])
   6.267  
   6.268    then obtain u where "0 < u" "u \<le> 1" and u: "u < e / dist x y"
   6.269 -    using real_lbound_gt_zero[of 1 "e / dist x y"] xy `e>0` by auto
   6.270 +    using real_lbound_gt_zero[of 1 "e / dist x y"] xy \<open>e>0\<close> by auto
   6.271    then have "f ((1-u) *\<^sub>R x + u *\<^sub>R y) \<le> (1-u) * f x + u * f y"
   6.272 -    using `x\<in>s` `y\<in>s`
   6.273 +    using \<open>x\<in>s\<close> \<open>y\<in>s\<close>
   6.274      using assms(2)[unfolded convex_on_def,
   6.275        THEN bspec[where x=x], THEN bspec[where x=y], THEN spec[where x="1-u"]]
   6.276      by auto
   6.277 @@ -1374,7 +1374,7 @@
   6.278      by (simp add: algebra_simps)
   6.279    have "(1 - u) *\<^sub>R x + u *\<^sub>R y \<in> ball x e"
   6.280      unfolding mem_ball dist_norm
   6.281 -    unfolding * and norm_scaleR and abs_of_pos[OF `0<u`]
   6.282 +    unfolding * and norm_scaleR and abs_of_pos[OF \<open>0<u\<close>]
   6.283      unfolding dist_norm[symmetric]
   6.284      using u
   6.285      unfolding pos_less_divide_eq[OF xy]
   6.286 @@ -1382,7 +1382,7 @@
   6.287    then have "f x \<le> f ((1 - u) *\<^sub>R x + u *\<^sub>R y)"
   6.288      using assms(4) by auto
   6.289    ultimately show False
   6.290 -    using mult_strict_left_mono[OF y `u>0`]
   6.291 +    using mult_strict_left_mono[OF y \<open>u>0\<close>]
   6.292      unfolding left_diff_distrib
   6.293      by auto
   6.294  qed
   6.295 @@ -1435,7 +1435,7 @@
   6.296    using convex_connected convex_cball by auto
   6.297  
   6.298  
   6.299 -subsection {* Convex hull *}
   6.300 +subsection \<open>Convex hull\<close>
   6.301  
   6.302  lemma convex_convex_hull: "convex (convex hull s)"
   6.303    unfolding hull_def
   6.304 @@ -1467,7 +1467,7 @@
   6.305    by auto
   6.306  
   6.307  
   6.308 -subsubsection {* Convex hull is "preserved" by a linear function *}
   6.309 +subsubsection \<open>Convex hull is "preserved" by a linear function\<close>
   6.310  
   6.311  lemma convex_hull_linear_image:
   6.312    assumes f: "linear f"
   6.313 @@ -1525,7 +1525,7 @@
   6.314  qed
   6.315  
   6.316  
   6.317 -subsubsection {* Stepping theorems for convex hulls of finite sets *}
   6.318 +subsubsection \<open>Stepping theorems for convex hulls of finite sets\<close>
   6.319  
   6.320  lemma convex_hull_empty[simp]: "convex hull {} = {}"
   6.321    by (rule hull_unique) auto
   6.322 @@ -1586,7 +1586,7 @@
   6.323        have *: "\<And>(x::'a) s1 s2. x - s1 *\<^sub>R x - s2 *\<^sub>R x = ((1::real) - (s1 + s2)) *\<^sub>R x"
   6.324          by (auto simp add: algebra_simps)
   6.325        from True have ***: "u * v1 = 0" "v * v2 = 0"
   6.326 -        using mult_nonneg_nonneg[OF `u\<ge>0` `v1\<ge>0`] mult_nonneg_nonneg[OF `v\<ge>0` `v2\<ge>0`]
   6.327 +        using mult_nonneg_nonneg[OF \<open>u\<ge>0\<close> \<open>v1\<ge>0\<close>] mult_nonneg_nonneg[OF \<open>v\<ge>0\<close> \<open>v2\<ge>0\<close>]
   6.328          by arith+
   6.329        then have "u * u1 + v * u2 = 1"
   6.330          using as(3) obt1(3) obt2(3) by auto
   6.331 @@ -1644,7 +1644,7 @@
   6.332  qed
   6.333  
   6.334  
   6.335 -subsubsection {* Explicit expression for convex hull *}
   6.336 +subsubsection \<open>Explicit expression for convex hull\<close>
   6.337  
   6.338  lemma convex_hull_indexed:
   6.339    fixes s :: "'a::real_vector set"
   6.340 @@ -1789,7 +1789,7 @@
   6.341  qed
   6.342  
   6.343  
   6.344 -subsubsection {* Another formulation from Lars Schewe *}
   6.345 +subsubsection \<open>Another formulation from Lars Schewe\<close>
   6.346  
   6.347  lemma setsum_constant_scaleR:
   6.348    fixes y :: "'a::real_vector"
   6.349 @@ -1901,7 +1901,7 @@
   6.350  qed
   6.351  
   6.352  
   6.353 -subsubsection {* A stepping theorem for that expansion *}
   6.354 +subsubsection \<open>A stepping theorem for that expansion\<close>
   6.355  
   6.356  lemma convex_hull_finite_step:
   6.357    fixes s :: "'a::real_vector set"
   6.358 @@ -1930,7 +1930,7 @@
   6.359      using u(1)[THEN bspec[where x=a]]
   6.360      apply simp
   6.361      apply (rule_tac x=u in exI)
   6.362 -    using u[unfolded setsum_clauses(2)[OF assms]] and `a\<notin>s`
   6.363 +    using u[unfolded setsum_clauses(2)[OF assms]] and \<open>a\<notin>s\<close>
   6.364      apply auto
   6.365      done
   6.366  next
   6.367 @@ -1944,7 +1944,7 @@
   6.368      apply (rule_tac x = "\<lambda>x. (if a = x then v else 0) + u x" in exI)
   6.369      unfolding scaleR_left_distrib and setsum.distrib and setsum_delta''[OF fin] and setsum.delta'[OF fin]
   6.370      unfolding setsum_clauses(2)[OF assms]
   6.371 -    using uv and uv(2)[THEN bspec[where x=a]] and `a\<in>s`
   6.372 +    using uv and uv(2)[THEN bspec[where x=a]] and \<open>a\<in>s\<close>
   6.373      apply auto
   6.374      done
   6.375  next
   6.376 @@ -1960,7 +1960,7 @@
   6.377      apply (rule_tac setsum.cong) apply rule
   6.378      defer
   6.379      apply (rule_tac setsum.cong) apply rule
   6.380 -    using `a \<notin> s`
   6.381 +    using \<open>a \<notin> s\<close>
   6.382      apply auto
   6.383      done
   6.384    ultimately show ?lhs
   6.385 @@ -1971,7 +1971,7 @@
   6.386  qed
   6.387  
   6.388  
   6.389 -subsubsection {* Hence some special cases *}
   6.390 +subsubsection \<open>Hence some special cases\<close>
   6.391  
   6.392  lemma convex_hull_2:
   6.393    "convex hull {a,b} = {u *\<^sub>R a + v *\<^sub>R b | u v. 0 \<le> u \<and> 0 \<le> v \<and> u + v = 1}"
   6.394 @@ -2051,7 +2051,7 @@
   6.395  qed
   6.396  
   6.397  
   6.398 -subsection {* Relations among closure notions and corresponding hulls *}
   6.399 +subsection \<open>Relations among closure notions and corresponding hulls\<close>
   6.400  
   6.401  lemma affine_imp_convex: "affine s \<Longrightarrow> convex s"
   6.402    unfolding affine_def convex_def by auto
   6.403 @@ -2093,25 +2093,25 @@
   6.404      by auto
   6.405    moreover have *: "\<And>P Q. (\<Sum>x\<in>t. (if x = a then P x else Q x)) = (\<Sum>x\<in>t. Q x)"
   6.406      apply (rule setsum.cong)
   6.407 -    using `a\<notin>s` `t\<subseteq>s`
   6.408 +    using \<open>a\<notin>s\<close> \<open>t\<subseteq>s\<close>
   6.409      apply auto
   6.410      done
   6.411    have "(\<Sum>x\<in>insert a t. if x = a then - (\<Sum>x\<in>t. u (x - a)) else u (x - a)) = 0"
   6.412      unfolding setsum_clauses(2)[OF fin]
   6.413 -    using `a\<notin>s` `t\<subseteq>s`
   6.414 +    using \<open>a\<notin>s\<close> \<open>t\<subseteq>s\<close>
   6.415      apply auto
   6.416      unfolding *
   6.417      apply auto
   6.418      done
   6.419    moreover have "\<exists>v\<in>insert a t. (if v = a then - (\<Sum>x\<in>t. u (x - a)) else u (v - a)) \<noteq> 0"
   6.420      apply (rule_tac x="v + a" in bexI)
   6.421 -    using obt(3,4) and `0\<notin>S`
   6.422 +    using obt(3,4) and \<open>0\<notin>S\<close>
   6.423      unfolding t_def
   6.424      apply auto
   6.425      done
   6.426    moreover have *: "\<And>P Q. (\<Sum>x\<in>t. (if x = a then P x else Q x) *\<^sub>R x) = (\<Sum>x\<in>t. Q x *\<^sub>R x)"
   6.427      apply (rule setsum.cong)
   6.428 -    using `a\<notin>s` `t\<subseteq>s`
   6.429 +    using \<open>a\<notin>s\<close> \<open>t\<subseteq>s\<close>
   6.430      apply auto
   6.431      done
   6.432    have "(\<Sum>x\<in>t. u (x - a)) *\<^sub>R a = (\<Sum>v\<in>t. u (v - a) *\<^sub>R v)"
   6.433 @@ -2121,7 +2121,7 @@
   6.434      by (auto simp add: setsum.distrib scaleR_right_distrib)
   6.435    then have "(\<Sum>v\<in>insert a t. (if v = a then - (\<Sum>x\<in>t. u (x - a)) else u (v - a)) *\<^sub>R v) = 0"
   6.436      unfolding setsum_clauses(2)[OF fin]
   6.437 -    using `a\<notin>s` `t\<subseteq>s`
   6.438 +    using \<open>a\<notin>s\<close> \<open>t\<subseteq>s\<close>
   6.439      by (auto simp add: *)
   6.440    ultimately show ?thesis
   6.441      unfolding affine_dependent_explicit
   6.442 @@ -2140,7 +2140,7 @@
   6.443      then have "2 *\<^sub>R x \<in>s" "2 *\<^sub>R y \<in> s"
   6.444        unfolding cone_def by auto
   6.445      then have "x + y \<in> s"
   6.446 -      using `?lhs`[unfolded convex_def, THEN conjunct1]
   6.447 +      using \<open>?lhs\<close>[unfolded convex_def, THEN conjunct1]
   6.448        apply (erule_tac x="2*\<^sub>R x" in ballE)
   6.449        apply (erule_tac x="2*\<^sub>R y" in ballE)
   6.450        apply (erule_tac x="1/2" in allE)
   6.451 @@ -2169,9 +2169,9 @@
   6.452      apply auto
   6.453      done
   6.454    also have "\<dots> > DIM('a)" using assms(2)
   6.455 -    unfolding card_Diff_singleton[OF assms(1) `a\<in>s`] by auto
   6.456 +    unfolding card_Diff_singleton[OF assms(1) \<open>a\<in>s\<close>] by auto
   6.457    finally show ?thesis
   6.458 -    apply (subst insert_Diff[OF `a\<in>s`, symmetric])
   6.459 +    apply (subst insert_Diff[OF \<open>a\<in>s\<close>, symmetric])
   6.460      apply (rule dependent_imp_affine_dependent)
   6.461      apply (rule dependent_biggerset)
   6.462      apply auto
   6.463 @@ -2196,16 +2196,16 @@
   6.464    have "dim {x - a |x. x \<in> s - {a}} \<le> dim s"
   6.465      apply (rule subset_le_dim)
   6.466      unfolding subset_eq
   6.467 -    using `a\<in>s`
   6.468 +    using \<open>a\<in>s\<close>
   6.469      apply (auto simp add:span_superset span_sub)
   6.470      done
   6.471    also have "\<dots> < dim s + 1" by auto
   6.472    also have "\<dots> \<le> card (s - {a})"
   6.473      using assms
   6.474 -    using card_Diff_singleton[OF assms(1) `a\<in>s`]
   6.475 +    using card_Diff_singleton[OF assms(1) \<open>a\<in>s\<close>]
   6.476      by auto
   6.477    finally show ?thesis
   6.478 -    apply (subst insert_Diff[OF `a\<in>s`, symmetric])
   6.479 +    apply (subst insert_Diff[OF \<open>a\<in>s\<close>, symmetric])
   6.480      apply (rule dependent_imp_affine_dependent)
   6.481      apply (rule dependent_biggerset_general)
   6.482      unfolding **
   6.483 @@ -2214,7 +2214,7 @@
   6.484  qed
   6.485  
   6.486  
   6.487 -subsection {* Caratheodory's theorem. *}
   6.488 +subsection \<open>Caratheodory's theorem.\<close>
   6.489  
   6.490  lemma convex_hull_caratheodory:
   6.491    fixes p :: "('a::euclidean_space) set"
   6.492 @@ -2254,9 +2254,9 @@
   6.493          apply auto
   6.494          done
   6.495        then have "setsum w s > 0"
   6.496 -        unfolding setsum.remove[OF obt(1) `v\<in>s`]
   6.497 -        using as[THEN bspec[where x=v]] and `v\<in>s`
   6.498 -        using `w v \<noteq> 0`
   6.499 +        unfolding setsum.remove[OF obt(1) \<open>v\<in>s\<close>]
   6.500 +        using as[THEN bspec[where x=v]] and \<open>v\<in>s\<close>
   6.501 +        using \<open>w v \<noteq> 0\<close>
   6.502          by auto
   6.503        then show False using wv(1) by auto
   6.504      qed
   6.505 @@ -2276,11 +2276,11 @@
   6.506        show "0 \<le> u v + t * w v"
   6.507        proof (cases "w v < 0")
   6.508          case False
   6.509 -        thus ?thesis using v `t\<ge>0` by auto
   6.510 +        thus ?thesis using v \<open>t\<ge>0\<close> by auto
   6.511        next
   6.512          case True
   6.513          then have "t \<le> u v / (- w v)"
   6.514 -          using `v\<in>s`
   6.515 +          using \<open>v\<in>s\<close>
   6.516            unfolding t_def i_def
   6.517            apply (rule_tac Min_le)
   6.518            using obt(1)
   6.519 @@ -2294,10 +2294,10 @@
   6.520      qed
   6.521  
   6.522      obtain a where "a \<in> s" and "t = (\<lambda>v. (u v) / (- w v)) a" and "w a < 0"
   6.523 -      using Min_in[OF _ `i\<noteq>{}`] and obt(1) unfolding i_def t_def by auto
   6.524 +      using Min_in[OF _ \<open>i\<noteq>{}\<close>] and obt(1) unfolding i_def t_def by auto
   6.525      then have a: "a \<in> s" "u a + t * w a = 0" by auto
   6.526      have *: "\<And>f. setsum f (s - {a}) = setsum f s - ((f a)::'b::ab_group_add)"
   6.527 -      unfolding setsum.remove[OF obt(1) `a\<in>s`] by auto
   6.528 +      unfolding setsum.remove[OF obt(1) \<open>a\<in>s\<close>] by auto
   6.529      have "(\<Sum>v\<in>s. u v + t * w v) = 1"
   6.530        unfolding setsum.distrib wv(1) setsum_right_distrib[symmetric] obt(5) by auto
   6.531      moreover have "(\<Sum>v\<in>s. u v *\<^sub>R v + (t * w v) *\<^sub>R v) - (u a *\<^sub>R a + (t * w a) *\<^sub>R a) = y"
   6.532 @@ -2344,11 +2344,11 @@
   6.533    then obtain s where "finite s" "s \<subseteq> p" "card s \<le> DIM('a) + 1" "x \<in> convex hull s"
   6.534      by auto
   6.535    then show "x \<in> convex hull p"
   6.536 -    using hull_mono[OF `s\<subseteq>p`] by auto
   6.537 -qed
   6.538 -
   6.539 -
   6.540 -subsection {* Some Properties of Affine Dependent Sets *}
   6.541 +    using hull_mono[OF \<open>s\<subseteq>p\<close>] by auto
   6.542 +qed
   6.543 +
   6.544 +
   6.545 +subsection \<open>Some Properties of Affine Dependent Sets\<close>
   6.546  
   6.547  lemma affine_independent_empty: "\<not> affine_dependent {}"
   6.548    by (simp add: affine_dependent_def)
   6.549 @@ -2553,7 +2553,7 @@
   6.550      using T_def affine_dependent_translation_eq[of "insert 0 B"]
   6.551        affine_dependent_imp_dependent2 B
   6.552      by auto
   6.553 -  ultimately show ?thesis using `T \<subseteq> V` by auto
   6.554 +  ultimately show ?thesis using \<open>T \<subseteq> V\<close> by auto
   6.555  qed
   6.556  
   6.557  lemma affine_basis_exists:
   6.558 @@ -2572,7 +2572,7 @@
   6.559  qed
   6.560  
   6.561  
   6.562 -subsection {* Affine Dimension of a Set *}
   6.563 +subsection \<open>Affine Dimension of a Set\<close>
   6.564  
   6.565  definition "aff_dim V =
   6.566    (SOME d :: int.
   6.567 @@ -2670,7 +2670,7 @@
   6.568    moreover have "card B - 1 = dim Lb" and "finite B"
   6.569      using Lb_def aff_dim_parallel_subspace_aux a B by auto
   6.570    ultimately show ?thesis
   6.571 -    using B `B \<noteq> {}` card_gt_0_iff[of B] by auto
   6.572 +    using B \<open>B \<noteq> {}\<close> card_gt_0_iff[of B] by auto
   6.573  qed
   6.574  
   6.575  lemma aff_independent_finite:
   6.576 @@ -2712,7 +2712,7 @@
   6.577    then have "T \<subseteq> span B"
   6.578      using card_eq_dim[of B T] B independent_finite assms by auto
   6.579    then show ?thesis
   6.580 -    using assms `span B = S` by auto
   6.581 +    using assms \<open>span B = S\<close> by auto
   6.582  qed
   6.583  
   6.584  lemma span_substd_basis:
   6.585 @@ -2766,7 +2766,7 @@
   6.586      unfolding t[symmetric] span_substd_basis[OF d] dim_substandard[OF d]
   6.587      apply auto
   6.588      done
   6.589 -  with t `card B = dim B` d show ?thesis by auto
   6.590 +  with t \<open>card B = dim B\<close> d show ?thesis by auto
   6.591  qed
   6.592  
   6.593  lemma aff_dim_empty:
   6.594 @@ -2804,7 +2804,7 @@
   6.595    then have "aff_dim V = (-1::int)"
   6.596      using aff_dim_empty by auto
   6.597    then show ?thesis
   6.598 -    using `B = {}` by auto
   6.599 +    using \<open>B = {}\<close> by auto
   6.600  next
   6.601    case False
   6.602    then obtain a where a: "a \<in> B" by auto
   6.603 @@ -2816,11 +2816,11 @@
   6.604    moreover have "subspace Lb"
   6.605      using Lb_def subspace_span by auto
   6.606    ultimately have "aff_dim B = int(dim Lb)"
   6.607 -    using aff_dim_parallel_subspace[of B Lb] `B \<noteq> {}` by auto
   6.608 +    using aff_dim_parallel_subspace[of B Lb] \<open>B \<noteq> {}\<close> by auto
   6.609    moreover have "(card B) - 1 = dim Lb" "finite B"
   6.610      using Lb_def aff_dim_parallel_subspace_aux a assms by auto
   6.611    ultimately have "of_nat (card B) = aff_dim B + 1"
   6.612 -    using `B \<noteq> {}` card_gt_0_iff[of B] by auto
   6.613 +    using \<open>B \<noteq> {}\<close> card_gt_0_iff[of B] by auto
   6.614    then show ?thesis
   6.615      using aff_dim_affine_hull2 assms by auto
   6.616  qed
   6.617 @@ -2871,11 +2871,11 @@
   6.618          affine_affine_hull[of T] affine_hull_nonempty
   6.619        by auto
   6.620      then have "aff_dim T = int (dim L)"
   6.621 -      using aff_dim_parallel_subspace `T \<noteq> {}` by auto
   6.622 +      using aff_dim_parallel_subspace \<open>T \<noteq> {}\<close> by auto
   6.623      moreover have *: "subspace L \<and> affine_parallel (affine hull S) L"
   6.624         using L affine_parallel_assoc[of "affine hull S" "affine hull T" L] assms by auto
   6.625      moreover from * have "aff_dim S = int (dim L)"
   6.626 -      using aff_dim_parallel_subspace `S \<noteq> {}` by auto
   6.627 +      using aff_dim_parallel_subspace \<open>S \<noteq> {}\<close> by auto
   6.628      ultimately have ?thesis by auto
   6.629    }
   6.630    moreover
   6.631 @@ -3034,15 +3034,15 @@
   6.632    then have "a \<in> T" using assms by auto
   6.633    def LS \<equiv> "{y. \<exists>x \<in> S. (-a) + x = y}"
   6.634    then have ls: "subspace LS" "affine_parallel S LS"
   6.635 -    using assms parallel_subspace_explicit[of S a LS] `a \<in> S` by auto
   6.636 +    using assms parallel_subspace_explicit[of S a LS] \<open>a \<in> S\<close> by auto
   6.637    then have h1: "int(dim LS) = aff_dim S"
   6.638      using assms aff_dim_affine[of S LS] by auto
   6.639    have "T \<noteq> {}" using assms by auto
   6.640    def LT \<equiv> "{y. \<exists>x \<in> T. (-a) + x = y}"
   6.641    then have lt: "subspace LT \<and> affine_parallel T LT"
   6.642 -    using assms parallel_subspace_explicit[of T a LT] `a \<in> T` by auto
   6.643 +    using assms parallel_subspace_explicit[of T a LT] \<open>a \<in> T\<close> by auto
   6.644    then have "int(dim LT) = aff_dim T"
   6.645 -    using assms aff_dim_affine[of T LT] `T \<noteq> {}` by auto
   6.646 +    using assms aff_dim_affine[of T LT] \<open>T \<noteq> {}\<close> by auto
   6.647    then have "dim LS = dim LT"
   6.648      using h1 assms by auto
   6.649    moreover have "LS \<le> LT"
   6.650 @@ -3075,7 +3075,7 @@
   6.651      using h0 h1 h2 by auto
   6.652    then show ?thesis
   6.653      using affine_dim_equal[of "affine hull S" "(UNIV :: ('n::euclidean_space) set)"]
   6.654 -      affine_affine_hull[of S] affine_UNIV assms h4 h0 `S \<noteq> {}`
   6.655 +      affine_affine_hull[of S] affine_UNIV assms h4 h0 \<open>S \<noteq> {}\<close>
   6.656      by auto
   6.657  qed
   6.658  
   6.659 @@ -3138,7 +3138,7 @@
   6.660    shows "dim S < DIM ('n) \<Longrightarrow> interior S = {}"
   6.661  by (metis low_dim_interior affine_hull_univ dim_affine_hull less_not_refl dim_UNIV)
   6.662  
   6.663 -subsection {* Relative interior of a set *}
   6.664 +subsection \<open>Relative interior of a set\<close>
   6.665  
   6.666  definition "rel_interior S =
   6.667    {x. \<exists>T. openin (subtopology euclidean (affine hull S)) T \<and> x \<in> T \<and> T \<subseteq> S}"
   6.668 @@ -3280,25 +3280,25 @@
   6.669      fix y
   6.670      assume as: "dist (x - e *\<^sub>R (x - c)) y < e * d" "y \<in> affine hull S"
   6.671      have *: "y = (1 - (1 - e)) *\<^sub>R ((1 / e) *\<^sub>R y - ((1 - e) / e) *\<^sub>R x) + (1 - e) *\<^sub>R x"
   6.672 -      using `e > 0` by (auto simp add: scaleR_left_diff_distrib scaleR_right_diff_distrib)
   6.673 +      using \<open>e > 0\<close> by (auto simp add: scaleR_left_diff_distrib scaleR_right_diff_distrib)
   6.674      have "x \<in> affine hull S"
   6.675        using assms hull_subset[of S] by auto
   6.676      moreover have "1 / e + - ((1 - e) / e) = 1"
   6.677 -      using `e > 0` left_diff_distrib[of "1" "(1-e)" "1/e"] by auto
   6.678 +      using \<open>e > 0\<close> left_diff_distrib[of "1" "(1-e)" "1/e"] by auto
   6.679      ultimately have **: "(1 / e) *\<^sub>R y - ((1 - e) / e) *\<^sub>R x \<in> affine hull S"
   6.680        using as affine_affine_hull[of S] mem_affine[of "affine hull S" y x "(1 / e)" "-((1 - e) / e)"]
   6.681        by (simp add: algebra_simps)
   6.682      have "dist c ((1 / e) *\<^sub>R y - ((1 - e) / e) *\<^sub>R x) = abs(1/e) * norm (e *\<^sub>R c - y + (1 - e) *\<^sub>R x)"
   6.683        unfolding dist_norm norm_scaleR[symmetric]
   6.684        apply (rule arg_cong[where f=norm])
   6.685 -      using `e > 0`
   6.686 +      using \<open>e > 0\<close>
   6.687        apply (auto simp add: euclidean_eq_iff[where 'a='a] field_simps inner_simps)
   6.688        done
   6.689      also have "\<dots> = abs (1/e) * norm (x - e *\<^sub>R (x - c) - y)"
   6.690        by (auto intro!:arg_cong[where f=norm] simp add: algebra_simps)
   6.691      also have "\<dots> < d"
   6.692 -      using as[unfolded dist_norm] and `e > 0`
   6.693 -      by (auto simp add:pos_divide_less_eq[OF `e > 0`] mult.commute)
   6.694 +      using as[unfolded dist_norm] and \<open>e > 0\<close>
   6.695 +      by (auto simp add:pos_divide_less_eq[OF \<open>e > 0\<close>] mult.commute)
   6.696      finally have "y \<in> S"
   6.697        apply (subst *)
   6.698        apply (rule assms(1)[unfolded convex_alt,rule_format])
   6.699 @@ -3311,7 +3311,7 @@
   6.700    then have "ball (x - e *\<^sub>R (x - c)) (e*d) \<inter> affine hull S \<subseteq> S"
   6.701      by auto
   6.702    moreover have "e * d > 0"
   6.703 -    using `e > 0` `d > 0` by simp
   6.704 +    using \<open>e > 0\<close> \<open>d > 0\<close> by simp
   6.705    moreover have c: "c \<in> S"
   6.706      using assms rel_interior_subset by auto
   6.707    moreover from c have "x - e *\<^sub>R (x - c) \<in> S"
   6.708 @@ -3321,7 +3321,7 @@
   6.709      apply auto
   6.710      done
   6.711    ultimately show ?thesis
   6.712 -    using mem_rel_interior_ball[of "x - e *\<^sub>R (x - c)" S] `e > 0` by auto
   6.713 +    using mem_rel_interior_ball[of "x - e *\<^sub>R (x - c)" S] \<open>e > 0\<close> by auto
   6.714  qed
   6.715  
   6.716  lemma interior_real_semiline:
   6.717 @@ -3375,7 +3375,7 @@
   6.718      by (auto split: split_if_asm)
   6.719  qed
   6.720  
   6.721 -subsubsection {* Relative open sets *}
   6.722 +subsubsection \<open>Relative open sets\<close>
   6.723  
   6.724  definition "rel_open S \<longleftrightarrow> rel_interior S = S"
   6.725  
   6.726 @@ -3463,7 +3463,7 @@
   6.727    have "\<exists>y \<in> S. norm (y - x) * (1 - e) < e * d"
   6.728    proof (cases "x \<in> S")
   6.729      case True
   6.730 -    then show ?thesis using `e > 0` `d > 0`
   6.731 +    then show ?thesis using \<open>e > 0\<close> \<open>d > 0\<close>
   6.732        apply (rule_tac bexI[where x=x])
   6.733        apply (auto)
   6.734        done
   6.735 @@ -3479,13 +3479,13 @@
   6.736        then show ?thesis
   6.737          apply (rule_tac x=y in bexI)
   6.738          unfolding True
   6.739 -        using `d > 0`
   6.740 +        using \<open>d > 0\<close>
   6.741          apply auto
   6.742          done
   6.743      next
   6.744        case False
   6.745        then have "0 < e * d / (1 - e)" and *: "1 - e > 0"
   6.746 -        using `e \<le> 1` `e > 0` `d > 0` by (auto)
   6.747 +        using \<open>e \<le> 1\<close> \<open>e > 0\<close> \<open>d > 0\<close> by (auto)
   6.748        then obtain y where "y \<in> S" "y \<noteq> x" "dist y x < e * d / (1 - e)"
   6.749          using x[unfolded islimpt_approachable,THEN spec[where x="e*d / (1 - e)"]] by auto
   6.750        then show ?thesis
   6.751 @@ -3500,7 +3500,7 @@
   6.752      by auto
   6.753    def z \<equiv> "c + ((1 - e) / e) *\<^sub>R (x - y)"
   6.754    have *: "x - e *\<^sub>R (x - c) = y - e *\<^sub>R (y - z)"
   6.755 -    unfolding z_def using `e > 0`
   6.756 +    unfolding z_def using \<open>e > 0\<close>
   6.757      by (auto simp add: scaleR_right_diff_distrib scaleR_right_distrib scaleR_left_diff_distrib)
   6.758    have zball: "z \<in> ball c d"
   6.759      using mem_ball z_def dist_norm[of c]
   6.760 @@ -3509,7 +3509,7 @@
   6.761    have "x \<in> affine hull S"
   6.762      using closure_affine_hull assms by auto
   6.763    moreover have "y \<in> affine hull S"
   6.764 -    using `y \<in> S` hull_subset[of S] by auto
   6.765 +    using \<open>y \<in> S\<close> hull_subset[of S] by auto
   6.766    moreover have "c \<in> affine hull S"
   6.767      using assms rel_interior_subset hull_subset[of S] by auto
   6.768    ultimately have "z \<in> affine hull S"
   6.769 @@ -3525,14 +3525,14 @@
   6.770    then have "ball z d1 \<inter> affine hull S \<subseteq> S"
   6.771      using d by auto
   6.772    then have "z \<in> rel_interior S"
   6.773 -    using mem_rel_interior_ball using `d1 > 0` `z \<in> S` by auto
   6.774 +    using mem_rel_interior_ball using \<open>d1 > 0\<close> \<open>z \<in> S\<close> by auto
   6.775    then have "y - e *\<^sub>R (y - z) \<in> rel_interior S"
   6.776 -    using rel_interior_convex_shrink[of S z y e] assms `y \<in> S` by auto
   6.777 +    using rel_interior_convex_shrink[of S z y e] assms \<open>y \<in> S\<close> by auto
   6.778    then show ?thesis using * by auto
   6.779  qed
   6.780  
   6.781  
   6.782 -subsubsection{* Relative interior preserves under linear transformations *}
   6.783 +subsubsection\<open>Relative interior preserves under linear transformations\<close>
   6.784  
   6.785  lemma rel_interior_translation_aux:
   6.786    fixes a :: "'n::euclidean_space"
   6.787 @@ -3637,7 +3637,7 @@
   6.788          by auto
   6.789      }
   6.790      then have "z \<in> f ` (rel_interior S)"
   6.791 -      using mem_rel_interior_cball[of x S] `e > 0` x by auto
   6.792 +      using mem_rel_interior_cball[of x S] \<open>e > 0\<close> x by auto
   6.793    }
   6.794    moreover
   6.795    {
   6.796 @@ -3668,7 +3668,7 @@
   6.797        moreover have "f x - f xy = f (x - xy)"
   6.798          using assms linear_sub[of f x xy] linear_conv_bounded_linear[of f] by auto
   6.799        moreover have *: "x - xy \<in> span S"
   6.800 -        using subspace_sub[of "span S" x xy] subspace_span `x \<in> S` xy
   6.801 +        using subspace_sub[of "span S" x xy] subspace_span \<open>x \<in> S\<close> xy
   6.802            affine_hull_subset_span[of S] span_inc
   6.803          by auto
   6.804        moreover from * have "e1 * norm (x - xy) \<le> norm (f (x - xy))"
   6.805 @@ -3681,7 +3681,7 @@
   6.806          using xy e2 by auto
   6.807      }
   6.808      then have "f x \<in> rel_interior (f ` S)"
   6.809 -      using mem_rel_interior_cball[of "(f x)" "(f ` S)"] * `e > 0` by auto
   6.810 +      using mem_rel_interior_cball[of "(f x)" "(f ` S)"] * \<open>e > 0\<close> by auto
   6.811    }
   6.812    ultimately show ?thesis by auto
   6.813  qed
   6.814 @@ -3696,7 +3696,7 @@
   6.815    by auto
   6.816  
   6.817  
   6.818 -subsection{* Some Properties of subset of standard basis *}
   6.819 +subsection\<open>Some Properties of subset of standard basis\<close>
   6.820  
   6.821  lemma affine_hull_substd_basis:
   6.822    assumes "d \<subseteq> Basis"
   6.823 @@ -3713,7 +3713,7 @@
   6.824    by (metis Int_absorb1 Int_absorb2 convex_hull_subset_affine_hull hull_hull hull_mono hull_subset)
   6.825  
   6.826  
   6.827 -subsection {* Openness and compactness are preserved by convex hull operation. *}
   6.828 +subsection \<open>Openness and compactness are preserved by convex hull operation.\<close>
   6.829  
   6.830  lemma open_convex_hull[intro]:
   6.831    fixes s :: "'a::real_normed_vector set"
   6.832 @@ -3744,12 +3744,12 @@
   6.833      unfolding mem_Collect_eq
   6.834    proof -
   6.835      show "0 < Min i"
   6.836 -      unfolding i_def and Min_gr_iff[OF finite_imageI[OF obt(1)] `b \` t\<noteq>{}`]
   6.837 +      unfolding i_def and Min_gr_iff[OF finite_imageI[OF obt(1)] \<open>b ` t\<noteq>{}\<close>]
   6.838        using b
   6.839        apply simp
   6.840        apply rule
   6.841        apply (erule_tac x=x in ballE)
   6.842 -      using `t\<subseteq>s`
   6.843 +      using \<open>t\<subseteq>s\<close>
   6.844        apply auto
   6.845        done
   6.846    next
   6.847 @@ -3768,7 +3768,7 @@
   6.848          done
   6.849        then have "x + (y - a) \<in> cball x (b x)"
   6.850          using y unfolding mem_cball dist_norm by auto
   6.851 -      moreover from `x\<in>t` have "x \<in> s"
   6.852 +      moreover from \<open>x\<in>t\<close> have "x \<in> s"
   6.853          using obt(2) by auto
   6.854        ultimately have "x + (y - a) \<in> s"
   6.855          using y and b[THEN bspec[where x=x]] unfolding subset_eq by fast
   6.856 @@ -3843,7 +3843,7 @@
   6.857      ultimately have "compact (?f ` ?T)"
   6.858        by (rule compact_continuous_image)
   6.859      also have "?f ` ?T = convex hull (insert x A)"
   6.860 -      unfolding convex_hull_insert [OF `A \<noteq> {}`]
   6.861 +      unfolding convex_hull_insert [OF \<open>A \<noteq> {}\<close>]
   6.862        apply safe
   6.863        apply (rule_tac x=a in exI, simp)
   6.864        apply (rule_tac x="1 - a" in exI, simp)
   6.865 @@ -3890,7 +3890,7 @@
   6.866              using t(4) unfolding card_0_eq[OF t(1)] by simp
   6.867          next
   6.868            case False
   6.869 -          then have "card t = Suc 0" using t(3) `n=0` by auto
   6.870 +          then have "card t = Suc 0" using t(3) \<open>n=0\<close> by auto
   6.871            then obtain a where "t = {a}" unfolding card_Suc_eq by auto
   6.872            then show ?thesis using t(2,4) by simp
   6.873          qed
   6.874 @@ -3938,7 +3938,7 @@
   6.875            then have "card t \<le> n" using t(3) by auto
   6.876            then show ?thesis
   6.877              apply (rule_tac x=w in exI, rule_tac x=x in exI, rule_tac x=1 in exI)
   6.878 -            using `w\<in>s` and t
   6.879 +            using \<open>w\<in>s\<close> and t
   6.880              apply (auto intro!: exI[where x=t])
   6.881              done
   6.882          next
   6.883 @@ -3951,11 +3951,11 @@
   6.884            proof (cases "u = {}")
   6.885              case True
   6.886              then have "x = a" using t(4)[unfolded au] by auto
   6.887 -            show ?thesis unfolding `x = a`
   6.888 +            show ?thesis unfolding \<open>x = a\<close>
   6.889                apply (rule_tac x=a in exI)
   6.890                apply (rule_tac x=a in exI)
   6.891                apply (rule_tac x=1 in exI)
   6.892 -              using t and `n \<noteq> 0`
   6.893 +              using t and \<open>n \<noteq> 0\<close>
   6.894                unfolding au
   6.895                apply (auto intro!: exI[where x="{a}"])
   6.896                done
   6.897 @@ -3984,7 +3984,7 @@
   6.898  qed
   6.899  
   6.900  
   6.901 -subsection {* Extremal points of a simplex are some vertices. *}
   6.902 +subsection \<open>Extremal points of a simplex are some vertices.\<close>
   6.903  
   6.904  lemma dist_increases_online:
   6.905    fixes a b d :: "'a::real_inner"
   6.906 @@ -4080,12 +4080,12 @@
   6.907              unfolding dist_norm obt(5)
   6.908              by (simp add: algebra_simps)
   6.909            moreover have "(u + w) *\<^sub>R x + (v - w) *\<^sub>R b \<in> convex hull insert x s"
   6.910 -            unfolding convex_hull_insert[OF `s\<noteq>{}`] and mem_Collect_eq
   6.911 +            unfolding convex_hull_insert[OF \<open>s\<noteq>{}\<close>] and mem_Collect_eq
   6.912              apply (rule_tac x="u + w" in exI)
   6.913              apply rule
   6.914              defer
   6.915              apply (rule_tac x="v - w" in exI)
   6.916 -            using `u \<ge> 0` and w and obt(3,4)
   6.917 +            using \<open>u \<ge> 0\<close> and w and obt(3,4)
   6.918              apply auto
   6.919              done
   6.920            ultimately show ?thesis by auto
   6.921 @@ -4096,12 +4096,12 @@
   6.922              unfolding dist_norm obt(5)
   6.923              by (simp add: algebra_simps)
   6.924            moreover have "(u - w) *\<^sub>R x + (v + w) *\<^sub>R b \<in> convex hull insert x s"
   6.925 -            unfolding convex_hull_insert[OF `s\<noteq>{}`] and mem_Collect_eq
   6.926 +            unfolding convex_hull_insert[OF \<open>s\<noteq>{}\<close>] and mem_Collect_eq
   6.927              apply (rule_tac x="u - w" in exI)
   6.928              apply rule
   6.929              defer
   6.930              apply (rule_tac x="v + w" in exI)
   6.931 -            using `u \<ge> 0` and w and obt(3,4)
   6.932 +            using \<open>u \<ge> 0\<close> and w and obt(3,4)
   6.933              apply auto
   6.934              done
   6.935            ultimately show ?thesis by auto
   6.936 @@ -4183,7 +4183,7 @@
   6.937    by(cases "s = {}") auto
   6.938  
   6.939  
   6.940 -subsection {* Closest point of a convex set is unique, with a continuous projection. *}
   6.941 +subsection \<open>Closest point of a convex set is unique, with a continuous projection.\<close>
   6.942  
   6.943  definition closest_point :: "'a::{real_inner,heine_borel} set \<Rightarrow> 'a \<Rightarrow> 'a"
   6.944    where "closest_point s a = (SOME x. x \<in> s \<and> (\<forall>y\<in>s. dist a x \<le> dist a y))"
   6.945 @@ -4234,7 +4234,7 @@
   6.946      assume "0 < v" and "v \<le> inner y z / inner z z"
   6.947      then show "norm (v *\<^sub>R z - y) < norm y"
   6.948        unfolding norm_lt using z and assms
   6.949 -      by (simp add: field_simps inner_diff inner_commute mult_strict_left_mono[OF _ `0<v`])
   6.950 +      by (simp add: field_simps inner_diff inner_commute mult_strict_left_mono[OF _ \<open>0<v\<close>])
   6.951    qed auto
   6.952  qed
   6.953  
   6.954 @@ -4247,7 +4247,7 @@
   6.955      using closer_points_lemma[OF assms] by auto
   6.956    show ?thesis
   6.957      apply (rule_tac x="min u 1" in exI)
   6.958 -    using u[THEN spec[where x="min u 1"]] and `u > 0`
   6.959 +    using u[THEN spec[where x="min u 1"]] and \<open>u > 0\<close>
   6.960      unfolding dist_norm by (auto simp add: norm_minus_commute field_simps)
   6.961  qed
   6.962  
   6.963 @@ -4331,7 +4331,7 @@
   6.964    by (metis continuous_at_imp_continuous_on continuous_at_closest_point[OF assms])
   6.965  
   6.966  
   6.967 -subsubsection {* Various point-to-set separating/supporting hyperplane theorems. *}
   6.968 +subsubsection \<open>Various point-to-set separating/supporting hyperplane theorems.\<close>
   6.969  
   6.970  lemma supporting_hyperplane_closed_point:
   6.971    fixes z :: "'a::{real_inner,heine_borel}"
   6.972 @@ -4354,19 +4354,19 @@
   6.973      defer
   6.974      apply rule
   6.975      apply (rule ccontr)
   6.976 -    using `y \<in> s`
   6.977 +    using \<open>y \<in> s\<close>
   6.978    proof -
   6.979      show "inner (y - z) z < inner (y - z) y"
   6.980        apply (subst diff_less_iff(1)[symmetric])
   6.981        unfolding inner_diff_right[symmetric] and inner_gt_zero_iff
   6.982 -      using `y\<in>s` `z\<notin>s`
   6.983 +      using \<open>y\<in>s\<close> \<open>z\<notin>s\<close>
   6.984        apply auto
   6.985        done
   6.986    next
   6.987      fix x
   6.988      assume "x \<in> s"
   6.989      have *: "\<forall>u. 0 \<le> u \<and> u \<le> 1 \<longrightarrow> dist z y \<le> dist z ((1 - u) *\<^sub>R y + u *\<^sub>R x)"
   6.990 -      using assms(1)[unfolded convex_alt] and y and `x\<in>s` and `y\<in>s` by auto
   6.991 +      using assms(1)[unfolded convex_alt] and y and \<open>x\<in>s\<close> and \<open>y\<in>s\<close> by auto
   6.992      assume "\<not> inner (y - z) y \<le> inner (y - z) x"
   6.993      then obtain v where "v > 0" "v \<le> 1" "dist (y + v *\<^sub>R (x - y)) z < dist y z"
   6.994        using closer_point_lemma[of z y x] by (auto simp add: inner_diff)
   6.995 @@ -4411,16 +4411,16 @@
   6.996          by auto
   6.997        then show False using y[THEN bspec[where x="y + u *\<^sub>R (x - y)"]]
   6.998          using assms(1)[unfolded convex_alt, THEN bspec[where x=y]]
   6.999 -        using `x\<in>s` `y\<in>s` by (auto simp add: dist_commute algebra_simps)
  6.1000 +        using \<open>x\<in>s\<close> \<open>y\<in>s\<close> by (auto simp add: dist_commute algebra_simps)
  6.1001      qed
  6.1002      moreover have "0 < (norm (y - z))\<^sup>2"
  6.1003 -      using `y\<in>s` `z\<notin>s` by auto
  6.1004 +      using \<open>y\<in>s\<close> \<open>z\<notin>s\<close> by auto
  6.1005      then have "0 < inner (y - z) (y - z)"
  6.1006        unfolding power2_norm_eq_inner by simp
  6.1007      ultimately show "inner (y - z) z + (norm (y - z))\<^sup>2 / 2 < inner (y - z) x"
  6.1008        unfolding power2_norm_eq_inner and not_less
  6.1009        by (auto simp add: field_simps inner_commute inner_diff)
  6.1010 -  qed (insert `y\<in>s` `z\<notin>s`, auto)
  6.1011 +  qed (insert \<open>y\<in>s\<close> \<open>z\<notin>s\<close>, auto)
  6.1012  qed
  6.1013  
  6.1014  lemma separating_hyperplane_closed_0:
  6.1015 @@ -4454,7 +4454,7 @@
  6.1016  qed
  6.1017  
  6.1018  
  6.1019 -subsubsection {* Now set-to-set for closed/compact sets *}
  6.1020 +subsubsection \<open>Now set-to-set for closed/compact sets\<close>
  6.1021  
  6.1022  lemma separating_hyperplane_closed_compact:
  6.1023    fixes s :: "'a::euclidean_space set"
  6.1024 @@ -4504,9 +4504,9 @@
  6.1025      proof (subst less_cSUP_iff)
  6.1026        show "t \<noteq> {}" by fact
  6.1027        show "bdd_above (op \<bullet> a ` t)"
  6.1028 -        using ab[rule_format, of y] `y \<in> s`
  6.1029 +        using ab[rule_format, of y] \<open>y \<in> s\<close>
  6.1030          by (intro bdd_aboveI2[where M="inner a y - b"]) (auto simp: field_simps intro: less_imp_le)
  6.1031 -    qed (auto intro!: bexI[of _ x] `0<b`)
  6.1032 +    qed (auto intro!: bexI[of _ x] \<open>0<b\<close>)
  6.1033      then show "inner a x < k + b / 2"
  6.1034        by auto
  6.1035    next
  6.1036 @@ -4520,7 +4520,7 @@
  6.1037        apply auto
  6.1038        done
  6.1039      then show "k + b / 2 < inner a x"
  6.1040 -      using `0 < b` by auto
  6.1041 +      using \<open>0 < b\<close> by auto
  6.1042    qed
  6.1043  qed
  6.1044  
  6.1045 @@ -4545,7 +4545,7 @@
  6.1046  qed
  6.1047  
  6.1048  
  6.1049 -subsubsection {* General case without assuming closure and getting non-strict separation *}
  6.1050 +subsubsection \<open>General case without assuming closure and getting non-strict separation\<close>
  6.1051  
  6.1052  lemma separating_hyperplane_set_0:
  6.1053    assumes "convex s" "(0::'a::euclidean_space) \<notin> s"
  6.1054 @@ -4600,15 +4600,15 @@
  6.1055    then have *: "\<And>x y. x \<in> t \<Longrightarrow> y \<in> s \<Longrightarrow> inner a y \<le> inner a x"
  6.1056      by (force simp add: inner_diff)
  6.1057    then have bdd: "bdd_above ((op \<bullet> a)`s)"
  6.1058 -    using `t \<noteq> {}` by (auto intro: bdd_aboveI2[OF *])
  6.1059 +    using \<open>t \<noteq> {}\<close> by (auto intro: bdd_aboveI2[OF *])
  6.1060    show ?thesis
  6.1061 -    using `a\<noteq>0`
  6.1062 +    using \<open>a\<noteq>0\<close>
  6.1063      by (intro exI[of _ a] exI[of _ "SUP x:s. a \<bullet> x"])
  6.1064 -       (auto intro!: cSUP_upper bdd cSUP_least `a \<noteq> 0` `s \<noteq> {}` *)
  6.1065 -qed
  6.1066 -
  6.1067 -
  6.1068 -subsection {* More convexity generalities *}
  6.1069 +       (auto intro!: cSUP_upper bdd cSUP_least \<open>a \<noteq> 0\<close> \<open>s \<noteq> {}\<close> *)
  6.1070 +qed
  6.1071 +
  6.1072 +
  6.1073 +subsection \<open>More convexity generalities\<close>
  6.1074  
  6.1075  lemma convex_closure:
  6.1076    fixes s :: "'a::real_normed_vector set"
  6.1077 @@ -4658,7 +4658,7 @@
  6.1078    using hull_subset[of s convex] convex_hull_empty by auto
  6.1079  
  6.1080  
  6.1081 -subsection {* Moving and scaling convex hulls. *}
  6.1082 +subsection \<open>Moving and scaling convex hulls.\<close>
  6.1083  
  6.1084  lemma convex_hull_set_plus:
  6.1085    "convex hull (s + t) = convex hull s + convex hull t"
  6.1086 @@ -4685,7 +4685,7 @@
  6.1087    by(simp only: image_image[symmetric] convex_hull_scaling convex_hull_translation)
  6.1088  
  6.1089  
  6.1090 -subsection {* Convexity of cone hulls *}
  6.1091 +subsection \<open>Convexity of cone hulls\<close>
  6.1092  
  6.1093  lemma convex_cone_hull:
  6.1094    assumes "convex S"
  6.1095 @@ -4710,7 +4710,7 @@
  6.1096      then have "u *\<^sub>R x + v *\<^sub>R y = 0"
  6.1097        by auto
  6.1098      then have "u *\<^sub>R x + v *\<^sub>R y \<in> cone hull S"
  6.1099 -      using cone_hull_contains_0[of S] `S \<noteq> {}` by auto
  6.1100 +      using cone_hull_contains_0[of S] \<open>S \<noteq> {}\<close> by auto
  6.1101    }
  6.1102    moreover
  6.1103    {
  6.1104 @@ -4718,7 +4718,7 @@
  6.1105      then have "(cx / (cx + cy)) *\<^sub>R xx + (cy / (cx + cy)) *\<^sub>R yy \<in> S"
  6.1106        using assms mem_convex_alt[of S xx yy cx cy] x y by auto
  6.1107      then have "cx *\<^sub>R xx + cy *\<^sub>R yy \<in> cone hull S"
  6.1108 -      using mem_cone_hull[of "(cx/(cx+cy)) *\<^sub>R xx + (cy/(cx+cy)) *\<^sub>R yy" S "cx+cy"] `cx+cy>0`
  6.1109 +      using mem_cone_hull[of "(cx/(cx+cy)) *\<^sub>R xx + (cy/(cx+cy)) *\<^sub>R yy" S "cx+cy"] \<open>cx+cy>0\<close>
  6.1110        by (auto simp add: scaleR_right_distrib)
  6.1111      then have "u *\<^sub>R x + v *\<^sub>R y \<in> cone hull S"
  6.1112        using x y by auto
  6.1113 @@ -4743,17 +4743,17 @@
  6.1114      then have "op *\<^sub>R c ` (convex hull S) = convex hull (op *\<^sub>R c ` S)"
  6.1115        using convex_hull_scaling[of _ S] by auto
  6.1116      also have "\<dots> = convex hull S"
  6.1117 -      using * `c > 0` by auto
  6.1118 +      using * \<open>c > 0\<close> by auto
  6.1119      finally have "op *\<^sub>R c ` (convex hull S) = convex hull S"
  6.1120        by auto
  6.1121    }
  6.1122    then have "0 \<in> convex hull S" "\<And>c. c > 0 \<Longrightarrow> (op *\<^sub>R c ` (convex hull S)) = (convex hull S)"
  6.1123      using * hull_subset[of S convex] by auto
  6.1124    then show ?thesis
  6.1125 -    using `S \<noteq> {}` cone_iff[of "convex hull S"] by auto
  6.1126 -qed
  6.1127 -
  6.1128 -subsection {* Convex set as intersection of halfspaces *}
  6.1129 +    using \<open>S \<noteq> {}\<close> cone_iff[of "convex hull S"] by auto
  6.1130 +qed
  6.1131 +
  6.1132 +subsection \<open>Convex set as intersection of halfspaces\<close>
  6.1133  
  6.1134  lemma convex_halfspace_intersection:
  6.1135    fixes s :: "('a::euclidean_space) set"
  6.1136 @@ -4779,7 +4779,7 @@
  6.1137  qed auto
  6.1138  
  6.1139  
  6.1140 -subsection {* Radon's theorem (from Lars Schewe) *}
  6.1141 +subsection \<open>Radon's theorem (from Lars Schewe)\<close>
  6.1142  
  6.1143  lemma radon_ex_lemma:
  6.1144    assumes "finite c" "affine_dependent c"
  6.1145 @@ -4852,7 +4852,7 @@
  6.1146          apply auto
  6.1147          done
  6.1148        then show ?thesis
  6.1149 -        unfolding setsum.delta[OF assms(1)] using uv(2) and `u v < 0` and uv(1) by auto
  6.1150 +        unfolding setsum.delta[OF assms(1)] using uv(2) and \<open>u v < 0\<close> and uv(1) by auto
  6.1151      qed
  6.1152    qed (insert setsum_nonneg_eq_0_iff[of _ u, OF fin(1)] uv(2-3), auto)
  6.1153  
  6.1154 @@ -4929,7 +4929,7 @@
  6.1155  qed
  6.1156  
  6.1157  
  6.1158 -subsection {* Helly's theorem *}
  6.1159 +subsection \<open>Helly's theorem\<close>
  6.1160  
  6.1161  lemma helly_induct:
  6.1162    fixes f :: "'a::euclidean_space set set"
  6.1163 @@ -4944,24 +4944,24 @@
  6.1164  next
  6.1165    case (Suc n)
  6.1166    have "finite f"
  6.1167 -    using `card f = Suc n` by (auto intro: card_ge_0_finite)
  6.1168 +    using \<open>card f = Suc n\<close> by (auto intro: card_ge_0_finite)
  6.1169    show "\<Inter>f \<noteq> {}"
  6.1170      apply (cases "n = DIM('a)")
  6.1171      apply (rule Suc(5)[rule_format])
  6.1172 -    unfolding `card f = Suc n`
  6.1173 +    unfolding \<open>card f = Suc n\<close>
  6.1174    proof -
  6.1175      assume ng: "n \<noteq> DIM('a)"
  6.1176      then have "\<exists>X. \<forall>s\<in>f. X s \<in> \<Inter>(f - {s})"
  6.1177        apply (rule_tac bchoice)
  6.1178        unfolding ex_in_conv
  6.1179        apply (rule, rule Suc(1)[rule_format])
  6.1180 -      unfolding card_Diff_singleton_if[OF `finite f`] `card f = Suc n`
  6.1181 +      unfolding card_Diff_singleton_if[OF \<open>finite f\<close>] \<open>card f = Suc n\<close>
  6.1182        defer
  6.1183        defer
  6.1184        apply (rule Suc(4)[rule_format])
  6.1185        defer
  6.1186        apply (rule Suc(5)[rule_format])
  6.1187 -      using Suc(3) `finite f`
  6.1188 +      using Suc(3) \<open>finite f\<close>
  6.1189        apply auto
  6.1190        done
  6.1191      then obtain X where X: "\<forall>s\<in>f. X s \<in> \<Inter>(f - {s})" by auto
  6.1192 @@ -4984,8 +4984,8 @@
  6.1193        case True
  6.1194        then obtain m p where mp: "m \<inter> p = {}" "m \<union> p = X ` f" "convex hull m \<inter> convex hull p \<noteq> {}"
  6.1195          using radon_partition[of "X ` f"] and affine_dependent_biggerset[of "X ` f"]
  6.1196 -        unfolding card_image[OF True] and `card f = Suc n`
  6.1197 -        using Suc(3) `finite f` and ng
  6.1198 +        unfolding card_image[OF True] and \<open>card f = Suc n\<close>
  6.1199 +        using Suc(3) \<open>finite f\<close> and ng
  6.1200          by auto
  6.1201        have "m \<subseteq> X ` f" "p \<subseteq> X ` f"
  6.1202          using mp(2) by auto
  6.1203 @@ -5041,7 +5041,7 @@
  6.1204    done
  6.1205  
  6.1206  
  6.1207 -subsection {* Homeomorphism of all convex compact sets with nonempty interior *}
  6.1208 +subsection \<open>Homeomorphism of all convex compact sets with nonempty interior\<close>
  6.1209  
  6.1210  lemma compact_frontier_line_lemma:
  6.1211    fixes s :: "'a::euclidean_space set"
  6.1212 @@ -5067,7 +5067,7 @@
  6.1213    moreover have "{y. \<exists>u\<ge>0. u \<le> b / norm x \<and> y = u *\<^sub>R x} \<inter> s \<noteq> {}"
  6.1214      apply(rule *[OF _ assms(2)])
  6.1215      unfolding mem_Collect_eq
  6.1216 -    using `b > 0` assms(3)
  6.1217 +    using \<open>b > 0\<close> assms(3)
  6.1218      apply auto
  6.1219      done
  6.1220    ultimately obtain u y where obt: "u\<ge>0" "u \<le> b / norm x" "y = u *\<^sub>R x"
  6.1221 @@ -5082,8 +5082,8 @@
  6.1222      assume as: "v > u" "v *\<^sub>R x \<in> s"
  6.1223      then have "v \<le> b / norm x"
  6.1224        using b(2)[rule_format, OF as(2)]
  6.1225 -      using `u\<ge>0`
  6.1226 -      unfolding pos_le_divide_eq[OF `norm x > 0`]
  6.1227 +      using \<open>u\<ge>0\<close>
  6.1228 +      unfolding pos_le_divide_eq[OF \<open>norm x > 0\<close>]
  6.1229        by auto
  6.1230      then have "norm (v *\<^sub>R x) \<le> norm y"
  6.1231        apply (rule_tac obt(6)[rule_format, unfolded dist_0_norm])
  6.1232 @@ -5092,11 +5092,11 @@
  6.1233        apply (rule as(2))
  6.1234        unfolding mem_Collect_eq
  6.1235        apply (rule_tac x=v in exI)
  6.1236 -      using as(1) `u\<ge>0`
  6.1237 +      using as(1) \<open>u\<ge>0\<close>
  6.1238        apply (auto simp add: field_simps)
  6.1239        done
  6.1240      then have False
  6.1241 -      unfolding obt(3) using `u\<ge>0` `norm x > 0` `v > u`
  6.1242 +      unfolding obt(3) using \<open>u\<ge>0\<close> \<open>norm x > 0\<close> \<open>v > u\<close>
  6.1243        by (auto simp add:field_simps)
  6.1244    } note u_max = this
  6.1245  
  6.1246 @@ -5112,9 +5112,9 @@
  6.1247      fix e
  6.1248      assume "e > 0" and as: "(u + e / 2 / norm x) *\<^sub>R x \<in> s"
  6.1249      then have "u + e / 2 / norm x > u"
  6.1250 -      using `norm x > 0` by (auto simp del:zero_less_norm_iff)
  6.1251 +      using \<open>norm x > 0\<close> by (auto simp del:zero_less_norm_iff)
  6.1252      then show False using u_max[OF _ as] by auto
  6.1253 -  qed (insert `y\<in>s`, auto simp add: dist_norm scaleR_left_distrib obt(3))
  6.1254 +  qed (insert \<open>y\<in>s\<close>, auto simp add: dist_norm scaleR_left_distrib obt(3))
  6.1255    then show ?thesis by(metis that[of u] u_max obt(1))
  6.1256  qed
  6.1257  
  6.1258 @@ -5157,9 +5157,9 @@
  6.1259      fix x and u :: real
  6.1260      assume x: "x \<in> frontier s" and "0 \<le> u"
  6.1261      then have "x \<noteq> 0"
  6.1262 -      using `0 \<notin> frontier s` by auto
  6.1263 +      using \<open>0 \<notin> frontier s\<close> by auto
  6.1264      obtain v where v: "0 \<le> v" "v *\<^sub>R x \<in> frontier s" "\<forall>w>v. w *\<^sub>R x \<notin> s"
  6.1265 -      using compact_frontier_line_lemma[OF assms(1) `0\<in>s` `x\<noteq>0`] by auto
  6.1266 +      using compact_frontier_line_lemma[OF assms(1) \<open>0\<in>s\<close> \<open>x\<noteq>0\<close>] by auto
  6.1267      have "v = 1"
  6.1268        apply (rule ccontr)
  6.1269        unfolding neq_iff
  6.1270 @@ -5177,13 +5177,13 @@
  6.1271      qed
  6.1272      show "u *\<^sub>R x \<in> s \<longleftrightarrow> u \<le> 1"
  6.1273        apply rule
  6.1274 -      using v(3)[unfolded `v=1`, THEN spec[where x=u]]
  6.1275 +      using v(3)[unfolded \<open>v=1\<close>, THEN spec[where x=u]]
  6.1276      proof -
  6.1277        assume "u \<le> 1"
  6.1278        then show "u *\<^sub>R x \<in> s"
  6.1279        apply (cases "u = 1")
  6.1280          using assms(3)[THEN bspec[where x=x], THEN spec[where x=u]]
  6.1281 -        using `0\<le>u` and x and fs
  6.1282 +        using \<open>0\<le>u\<close> and x and fs
  6.1283          apply auto
  6.1284          done
  6.1285      qed auto
  6.1286 @@ -5204,18 +5204,18 @@
  6.1287      assume "x \<in> pi ` frontier s"
  6.1288      then obtain y where "y \<in> frontier s" "x = pi y" by auto
  6.1289      then show "x \<in> sphere"
  6.1290 -      using pi(1)[of y] and `0 \<notin> frontier s` by auto
  6.1291 +      using pi(1)[of y] and \<open>0 \<notin> frontier s\<close> by auto
  6.1292    next
  6.1293      fix x
  6.1294      assume "x \<in> sphere"
  6.1295      then have "norm x = 1" "x \<noteq> 0"
  6.1296        unfolding sphere_def by auto
  6.1297      then obtain u where "0 \<le> u" "u *\<^sub>R x \<in> frontier s" "\<forall>v>u. v *\<^sub>R x \<notin> s"
  6.1298 -      using compact_frontier_line_lemma[OF assms(1) `0\<in>s`, of x] by auto
  6.1299 +      using compact_frontier_line_lemma[OF assms(1) \<open>0\<in>s\<close>, of x] by auto
  6.1300      then show "x \<in> pi ` frontier s"
  6.1301        unfolding image_iff le_less pi_def
  6.1302        apply (rule_tac x="u *\<^sub>R x" in bexI)
  6.1303 -      using `norm x = 1` `0 \<notin> frontier s`
  6.1304 +      using \<open>norm x = 1\<close> \<open>0 \<notin> frontier s\<close>
  6.1305        apply auto
  6.1306        done
  6.1307    next
  6.1308 @@ -5224,7 +5224,7 @@
  6.1309      then have xys: "x \<in> s" "y \<in> s"
  6.1310        using fs by auto
  6.1311      from as(1,2) have nor: "norm x \<noteq> 0" "norm y \<noteq> 0"
  6.1312 -      using `0\<notin>frontier s` by auto
  6.1313 +      using \<open>0\<notin>frontier s\<close> by auto
  6.1314      from nor have x: "x = norm x *\<^sub>R ((inverse (norm y)) *\<^sub>R y)"
  6.1315        unfolding as(3)[unfolded pi_def, symmetric] by auto
  6.1316      from nor have y: "y = norm y *\<^sub>R ((inverse (norm x)) *\<^sub>R x)"
  6.1317 @@ -5247,7 +5247,7 @@
  6.1318        using as(3)
  6.1319        apply auto
  6.1320        done
  6.1321 -  qed (insert `0 \<notin> frontier s`, auto)
  6.1322 +  qed (insert \<open>0 \<notin> frontier s\<close>, auto)
  6.1323    then obtain surf where
  6.1324      surf: "\<forall>x\<in>frontier s. surf (pi x) = x"  "pi ` frontier s = sphere" "continuous_on (frontier s) pi"
  6.1325      "\<forall>y\<in>sphere. pi (surf y) = y" "surf ` sphere = frontier s" "continuous_on sphere surf"
  6.1326 @@ -5284,7 +5284,7 @@
  6.1327          unfolding pi_def
  6.1328          apply (rule fs[unfolded subset_eq, rule_format])
  6.1329          unfolding surf(5)[unfolded sphere_def, symmetric]
  6.1330 -        using `0\<in>s`
  6.1331 +        using \<open>0\<in>s\<close>
  6.1332          apply auto
  6.1333          done
  6.1334      qed
  6.1335 @@ -5317,7 +5317,7 @@
  6.1336          apply auto
  6.1337          done
  6.1338        then have *: "?a * norm x > 0" and "?a > 0" "?a \<noteq> 0"
  6.1339 -        using surf(5) `0\<notin>frontier s`
  6.1340 +        using surf(5) \<open>0\<notin>frontier s\<close>
  6.1341          apply -
  6.1342          apply (rule mult_pos_pos)
  6.1343          using False[unfolded zero_less_norm_iff[symmetric]]
  6.1344 @@ -5326,7 +5326,7 @@
  6.1345        have "norm (surf (pi x)) \<noteq> 0"
  6.1346          using ** False by auto
  6.1347        then have "norm x = norm ((?a * norm x) *\<^sub>R surf (pi x))"
  6.1348 -        unfolding norm_scaleR abs_mult abs_norm_cancel abs_of_pos[OF `?a > 0`] by auto
  6.1349 +        unfolding norm_scaleR abs_mult abs_norm_cancel abs_of_pos[OF \<open>?a > 0\<close>] by auto
  6.1350        moreover have "pi x = pi ((inverse (norm (surf (pi x))) * norm x) *\<^sub>R surf (pi x))"
  6.1351          unfolding pi(2)[OF *] surf(4)[rule_format, OF pix] ..
  6.1352        moreover have "surf (pi x) \<in> frontier s"
  6.1353 @@ -5335,14 +5335,14 @@
  6.1354          unfolding dist_norm
  6.1355          using ** and *
  6.1356          using front_smul[THEN bspec[where x="surf (pi x)"], THEN spec[where x="norm x * ?a"]]
  6.1357 -        using False `x\<in>s`
  6.1358 +        using False \<open>x\<in>s\<close>
  6.1359          by (auto simp add: field_simps)
  6.1360        ultimately show ?thesis
  6.1361          unfolding image_iff
  6.1362          apply (rule_tac x="inverse (norm (surf(pi x))) *\<^sub>R x" in bexI)
  6.1363          apply (subst injpi[symmetric])
  6.1364 -        unfolding abs_mult abs_norm_cancel abs_of_pos[OF `?a > 0`]
  6.1365 -        unfolding pi(2)[OF `?a > 0`]
  6.1366 +        unfolding abs_mult abs_norm_cancel abs_of_pos[OF \<open>?a > 0\<close>]
  6.1367 +        unfolding pi(2)[OF \<open>?a > 0\<close>]
  6.1368          apply auto
  6.1369          done
  6.1370      qed
  6.1371 @@ -5407,12 +5407,12 @@
  6.1372            using as(2) by auto
  6.1373          also have "\<dots> < e / B * B"
  6.1374            apply (rule mult_strict_right_mono)
  6.1375 -          using as(1) `B>0`
  6.1376 +          using as(1) \<open>B>0\<close>
  6.1377            apply auto
  6.1378            done
  6.1379 -        also have "\<dots> = e" using `B > 0` by auto
  6.1380 +        also have "\<dots> = e" using \<open>B > 0\<close> by auto
  6.1381          finally show "norm x * norm (surf (pi x)) < e" .
  6.1382 -      qed (insert `B>0`, auto)
  6.1383 +      qed (insert \<open>B>0\<close>, auto)
  6.1384      qed
  6.1385    next
  6.1386      {
  6.1387 @@ -5426,7 +5426,7 @@
  6.1388          then have "surf (pi x) \<in> frontier s"
  6.1389            using surf(5) by auto
  6.1390          then show False
  6.1391 -          using `0\<notin>frontier s` unfolding as by simp
  6.1392 +          using \<open>0\<notin>frontier s\<close> unfolding as by simp
  6.1393        qed
  6.1394      } note surf_0 = this
  6.1395      show "inj_on (\<lambda>x. norm x *\<^sub>R surf (pi x)) (cball 0 1)"
  6.1396 @@ -5472,19 +5472,19 @@
  6.1397    have "open (ball (u *\<^sub>R x) (1 - u))"
  6.1398      by (rule open_ball)
  6.1399    moreover have "u *\<^sub>R x \<in> ball (u *\<^sub>R x) (1 - u)"
  6.1400 -    unfolding centre_in_ball using `u < 1` by simp
  6.1401 +    unfolding centre_in_ball using \<open>u < 1\<close> by simp
  6.1402    moreover have "ball (u *\<^sub>R x) (1 - u) \<subseteq> s"
  6.1403    proof
  6.1404      fix y
  6.1405      assume "y \<in> ball (u *\<^sub>R x) (1 - u)"
  6.1406      then have "dist (u *\<^sub>R x) y < 1 - u"
  6.1407        unfolding mem_ball .
  6.1408 -    with `u < 1` have "inverse (1 - u) *\<^sub>R (y - u *\<^sub>R x) \<in> cball 0 1"
  6.1409 +    with \<open>u < 1\<close> have "inverse (1 - u) *\<^sub>R (y - u *\<^sub>R x) \<in> cball 0 1"
  6.1410        by (simp add: dist_norm inverse_eq_divide norm_minus_commute)
  6.1411      with assms(3) have "inverse (1 - u) *\<^sub>R (y - u *\<^sub>R x) \<in> s" ..
  6.1412      with assms(1) have "(1 - u) *\<^sub>R ((y - u *\<^sub>R x) /\<^sub>R (1 - u)) + u *\<^sub>R x \<in> s"
  6.1413 -      using `x \<in> s` `0 \<le> u` `u < 1` [THEN less_imp_le] by (rule mem_convex)
  6.1414 -    then show "y \<in> s" using `u < 1`
  6.1415 +      using \<open>x \<in> s\<close> \<open>0 \<le> u\<close> \<open>u < 1\<close> [THEN less_imp_le] by (rule mem_convex)
  6.1416 +    then show "y \<in> s" using \<open>u < 1\<close>
  6.1417        by simp
  6.1418    qed
  6.1419    ultimately have "u *\<^sub>R x \<in> interior s" ..
  6.1420 @@ -5511,7 +5511,7 @@
  6.1421      apply (rule_tac x="d *\<^sub>R x + a" in image_eqI)
  6.1422      defer
  6.1423      apply (rule d[unfolded subset_eq, rule_format])
  6.1424 -    using `d > 0`
  6.1425 +    using \<open>d > 0\<close>
  6.1426      unfolding mem_cball dist_norm
  6.1427      apply (auto simp add: mult_right_le_one_le)
  6.1428      done
  6.1429 @@ -5523,7 +5523,7 @@
  6.1430    then show ?thesis
  6.1431      apply (rule_tac homeomorphic_trans[OF _ homeomorphic_balls(2)[of 1 _ ?n]])
  6.1432      apply (rule homeomorphic_trans[OF homeomorphic_affinity[of "?d" s "?d *\<^sub>R -a"]])
  6.1433 -    using `d>0` `e>0`
  6.1434 +    using \<open>d>0\<close> \<open>e>0\<close>
  6.1435      apply (auto simp add: scaleR_right_diff_distrib)
  6.1436      done
  6.1437  qed
  6.1438 @@ -5538,7 +5538,7 @@
  6.1439    by (meson zero_less_one homeomorphic_trans homeomorphic_convex_compact_cball homeomorphic_sym)
  6.1440  
  6.1441  
  6.1442 -subsection {* Epigraphs of convex functions *}
  6.1443 +subsection \<open>Epigraphs of convex functions\<close>
  6.1444  
  6.1445  definition "epigraph s (f :: _ \<Rightarrow> real) = {xy. fst xy \<in> s \<and> f (fst xy) \<le> snd xy}"
  6.1446  
  6.1447 @@ -5569,7 +5569,7 @@
  6.1448    by (simp add: convex_epigraph)
  6.1449  
  6.1450  
  6.1451 -subsubsection {* Use this to derive general bound property of convex function *}
  6.1452 +subsubsection \<open>Use this to derive general bound property of convex function\<close>
  6.1453  
  6.1454  lemma convex_on:
  6.1455    assumes "convex s"
  6.1456 @@ -5596,7 +5596,7 @@
  6.1457    done
  6.1458  
  6.1459  
  6.1460 -subsection {* Convexity of general and special intervals *}
  6.1461 +subsection \<open>Convexity of general and special intervals\<close>
  6.1462  
  6.1463  lemma is_interval_convex:
  6.1464    fixes s :: "'a::euclidean_space set"
  6.1465 @@ -5656,7 +5656,7 @@
  6.1466    apply auto
  6.1467    done
  6.1468  
  6.1469 -subsection {* On @{text "real"}, @{text "is_interval"}, @{text "convex"} and @{text "connected"} are all equivalent. *}
  6.1470 +subsection \<open>On @{text "real"}, @{text "is_interval"}, @{text "convex"} and @{text "connected"} are all equivalent.\<close>
  6.1471  
  6.1472  lemma is_interval_1:
  6.1473    "is_interval (s::real set) \<longleftrightarrow> (\<forall>a\<in>s. \<forall>b\<in>s. \<forall> x. a \<le> x \<and> x \<le> b \<longrightarrow> x \<in> s)"
  6.1474 @@ -5684,7 +5684,7 @@
  6.1475    {
  6.1476      fix y
  6.1477      assume "y \<in> s"
  6.1478 -    with `x \<notin> s` have "x \<noteq> y" by auto
  6.1479 +    with \<open>x \<notin> s\<close> have "x \<noteq> y" by auto
  6.1480      then have "y \<in> ?halfr \<union> ?halfl" by auto
  6.1481    }
  6.1482    moreover have "a \<in> ?halfl" "b \<in> ?halfr" using * by auto
  6.1483 @@ -5713,7 +5713,7 @@
  6.1484    by (metis is_interval_convex convex_connected is_interval_connected_1)
  6.1485  
  6.1486  
  6.1487 -subsection {* Another intermediate value theorem formulation *}
  6.1488 +subsection \<open>Another intermediate value theorem formulation\<close>
  6.1489  
  6.1490  lemma ivt_increasing_component_on_1:
  6.1491    fixes f :: "real \<Rightarrow> 'a::euclidean_space"
  6.1492 @@ -5760,7 +5760,7 @@
  6.1493    by (rule ivt_decreasing_component_on_1) (auto simp: continuous_at_imp_continuous_on)
  6.1494  
  6.1495  
  6.1496 -subsection {* A bound within a convex hull, and so an interval *}
  6.1497 +subsection \<open>A bound within a convex hull, and so an interval\<close>
  6.1498  
  6.1499  lemma convex_on_convex_hull_bound:
  6.1500    assumes "convex_on (convex hull s) f"
  6.1501 @@ -5859,7 +5859,7 @@
  6.1502    fixes x y :: real assumes "x \<le> y"
  6.1503    shows "convex hull {x, y} = cbox x y"
  6.1504  proof (rule hull_unique)
  6.1505 -  show "{x, y} \<subseteq> cbox x y" using `x \<le> y` by auto
  6.1506 +  show "{x, y} \<subseteq> cbox x y" using \<open>x \<le> y\<close> by auto
  6.1507    show "convex (cbox x y)"
  6.1508      by (rule convex_box)
  6.1509  next
  6.1510 @@ -5892,7 +5892,7 @@
  6.1511    finally show ?thesis .
  6.1512  qed
  6.1513  
  6.1514 -text {* And this is a finite set of vertices. *}
  6.1515 +text \<open>And this is a finite set of vertices.\<close>
  6.1516  
  6.1517  lemma unit_cube_convex_hull:
  6.1518    obtains s :: "'a::euclidean_space set"
  6.1519 @@ -5914,7 +5914,7 @@
  6.1520      done
  6.1521  qed auto
  6.1522  
  6.1523 -text {* Hence any cube (could do any nonempty interval). *}
  6.1524 +text \<open>Hence any cube (could do any nonempty interval).\<close>
  6.1525  
  6.1526  lemma cube_convex_hull:
  6.1527    assumes "d > 0"
  6.1528 @@ -5932,7 +5932,7 @@
  6.1529      assume as: "y\<in>cbox (x - ?d) (x + ?d)"
  6.1530      then have "inverse (2 * d) *\<^sub>R (y - (x - ?d)) \<in> cbox 0 (\<Sum>Basis)"
  6.1531        using assms by (simp add: mem_box field_simps inner_simps)
  6.1532 -    with `0 < d` show "\<exists>z\<in>cbox 0 (\<Sum>Basis). y = x - ?d + (2 * d) *\<^sub>R z"
  6.1533 +    with \<open>0 < d\<close> show "\<exists>z\<in>cbox 0 (\<Sum>Basis). y = x - ?d + (2 * d) *\<^sub>R z"
  6.1534        by (intro bexI[of _ "inverse (2 * d) *\<^sub>R (y - (x - ?d))"]) auto
  6.1535    next
  6.1536      fix y z
  6.1537 @@ -5966,7 +5966,7 @@
  6.1538  qed
  6.1539  
  6.1540  
  6.1541 -subsection {* Bounded convex function on open set is continuous *}
  6.1542 +subsection \<open>Bounded convex function on open set is continuous\<close>
  6.1543  
  6.1544  lemma convex_on_bounded_continuous:
  6.1545    fixes s :: "('a::real_normed_vector) set"
  6.1546 @@ -5988,7 +5988,7 @@
  6.1547      done
  6.1548    obtain k where "k > 0" and k: "cball x k \<subseteq> s"
  6.1549      using assms(1)[unfolded open_contains_cball, THEN bspec[where x=x]]
  6.1550 -    using `x\<in>s` by auto
  6.1551 +    using \<open>x\<in>s\<close> by auto
  6.1552    show "\<exists>d>0. \<forall>x'. norm (x' - x) < d \<longrightarrow> \<bar>f x' - f x\<bar> < e"
  6.1553      apply (rule_tac x="min (k / 2) (e / (2 * B) * k)" in exI)
  6.1554      apply rule
  6.1555 @@ -6001,7 +6001,7 @@
  6.1556        case False
  6.1557        def t \<equiv> "k / norm (y - x)"
  6.1558        have "2 < t" "0<t"
  6.1559 -        unfolding t_def using as False and `k>0`
  6.1560 +        unfolding t_def using as False and \<open>k>0\<close>
  6.1561          by (auto simp add:field_simps)
  6.1562        have "y \<in> s"
  6.1563          apply (rule k[unfolded subset_eq,rule_format])
  6.1564 @@ -6016,29 +6016,29 @@
  6.1565            apply (rule k[unfolded subset_eq,rule_format])
  6.1566            unfolding mem_cball dist_norm
  6.1567            unfolding t_def
  6.1568 -          using `k>0`
  6.1569 +          using \<open>k>0\<close>
  6.1570            apply auto
  6.1571            done
  6.1572          have "(1 / t) *\<^sub>R x + - x + ((t - 1) / t) *\<^sub>R x = (1 / t - 1 + (t - 1) / t) *\<^sub>R x"
  6.1573            by (auto simp add: algebra_simps)
  6.1574          also have "\<dots> = 0"
  6.1575 -          using `t > 0` by (auto simp add:field_simps)
  6.1576 +          using \<open>t > 0\<close> by (auto simp add:field_simps)
  6.1577          finally have w: "(1 / t) *\<^sub>R w + ((t - 1) / t) *\<^sub>R x = y"
  6.1578 -          unfolding w_def using False and `t > 0`
  6.1579 +          unfolding w_def using False and \<open>t > 0\<close>
  6.1580            by (auto simp add: algebra_simps)
  6.1581          have  "2 * B < e * t"
  6.1582 -          unfolding t_def using `0 < e` `0 < k` `B > 0` and as and False
  6.1583 +          unfolding t_def using \<open>0 < e\<close> \<open>0 < k\<close> \<open>B > 0\<close> and as and False
  6.1584            by (auto simp add:field_simps)
  6.1585          then have "(f w - f x) / t < e"
  6.1586 -          using B(2)[OF `w\<in>s`] and B(2)[OF `x\<in>s`]
  6.1587 -          using `t > 0` by (auto simp add:field_simps)
  6.1588 +          using B(2)[OF \<open>w\<in>s\<close>] and B(2)[OF \<open>x\<in>s\<close>]
  6.1589 +          using \<open>t > 0\<close> by (auto simp add:field_simps)
  6.1590          then have th1: "f y - f x < e"
  6.1591            apply -
  6.1592            apply (rule le_less_trans)
  6.1593            defer
  6.1594            apply assumption
  6.1595            using assms(2)[unfolded convex_on_def,rule_format,of w x "1/t" "(t - 1)/t", unfolded w]
  6.1596 -          using `0 < t` `2 < t` and `x \<in> s` `w \<in> s`
  6.1597 +          using \<open>0 < t\<close> \<open>2 < t\<close> and \<open>x \<in> s\<close> \<open>w \<in> s\<close>
  6.1598            by (auto simp add:field_simps)
  6.1599        }
  6.1600        moreover
  6.1601 @@ -6049,41 +6049,41 @@
  6.1602            apply (rule k[unfolded subset_eq,rule_format])
  6.1603            unfolding mem_cball dist_norm
  6.1604            unfolding t_def
  6.1605 -          using `k > 0`
  6.1606 +          using \<open>k > 0\<close>
  6.1607            apply auto
  6.1608            done
  6.1609          have "(1 / (1 + t)) *\<^sub>R x + (t / (1 + t)) *\<^sub>R x = (1 / (1 + t) + t / (1 + t)) *\<^sub>R x"
  6.1610            by (auto simp add: algebra_simps)
  6.1611          also have "\<dots> = x"
  6.1612 -          using `t > 0` by (auto simp add:field_simps)
  6.1613 +          using \<open>t > 0\<close> by (auto simp add:field_simps)
  6.1614          finally have w: "(1 / (1+t)) *\<^sub>R w + (t / (1 + t)) *\<^sub>R y = x"
  6.1615 -          unfolding w_def using False and `t > 0`
  6.1616 +          unfolding w_def using False and \<open>t > 0\<close>
  6.1617            by (auto simp add: algebra_simps)
  6.1618          have "2 * B < e * t"
  6.1619            unfolding t_def
  6.1620 -          using `0 < e` `0 < k` `B > 0` and as and False
  6.1621 +          using \<open>0 < e\<close> \<open>0 < k\<close> \<open>B > 0\<close> and as and False
  6.1622            by (auto simp add:field_simps)
  6.1623          then have *: "(f w - f y) / t < e"
  6.1624 -          using B(2)[OF `w\<in>s`] and B(2)[OF `y\<in>s`]
  6.1625 -          using `t > 0`
  6.1626 +          using B(2)[OF \<open>w\<in>s\<close>] and B(2)[OF \<open>y\<in>s\<close>]
  6.1627 +          using \<open>t > 0\<close>
  6.1628            by (auto simp add:field_simps)
  6.1629          have "f x \<le> 1 / (1 + t) * f w + (t / (1 + t)) * f y"
  6.1630            using assms(2)[unfolded convex_on_def,rule_format,of w y "1/(1+t)" "t / (1+t)",unfolded w]
  6.1631 -          using `0 < t` `2 < t` and `y \<in> s` `w \<in> s`
  6.1632 +          using \<open>0 < t\<close> \<open>2 < t\<close> and \<open>y \<in> s\<close> \<open>w \<in> s\<close>
  6.1633            by (auto simp add:field_simps)
  6.1634          also have "\<dots> = (f w + t * f y) / (1 + t)"
  6.1635 -          using `t > 0` by (auto simp add: divide_simps)
  6.1636 +          using \<open>t > 0\<close> by (auto simp add: divide_simps)
  6.1637          also have "\<dots> < e + f y"
  6.1638 -          using `t > 0` * `e > 0` by (auto simp add: field_simps)
  6.1639 +          using \<open>t > 0\<close> * \<open>e > 0\<close> by (auto simp add: field_simps)
  6.1640          finally have "f x - f y < e" by auto
  6.1641        }
  6.1642        ultimately show ?thesis by auto
  6.1643 -    qed (insert `0<e`, auto)
  6.1644 -  qed (insert `0<e` `0<k` `0<B`, auto simp: field_simps)
  6.1645 -qed
  6.1646 -
  6.1647 -
  6.1648 -subsection {* Upper bound on a ball implies upper and lower bounds *}
  6.1649 +    qed (insert \<open>0<e\<close>, auto)
  6.1650 +  qed (insert \<open>0<e\<close> \<open>0<k\<close> \<open>0<B\<close>, auto simp: field_simps)
  6.1651 +qed
  6.1652 +
  6.1653 +
  6.1654 +subsection \<open>Upper bound on a ball implies upper and lower bounds\<close>
  6.1655  
  6.1656  lemma convex_bounds_lemma:
  6.1657    fixes x :: "'a::real_normed_vector"
  6.1658 @@ -6117,7 +6117,7 @@
  6.1659  qed
  6.1660  
  6.1661  
  6.1662 -subsubsection {* Hence a convex function on an open set is continuous *}
  6.1663 +subsubsection \<open>Hence a convex function on an open set is continuous\<close>
  6.1664  
  6.1665  lemma real_of_nat_ge_one_iff: "1 \<le> real (n::nat) \<longleftrightarrow> 1 \<le> n"
  6.1666    by auto
  6.1667 @@ -6134,7 +6134,7 @@
  6.1668      using assms(1) unfolding open_contains_cball by auto
  6.1669    def d \<equiv> "e / real DIM('a)"
  6.1670    have "0 < d"
  6.1671 -    unfolding d_def using `e > 0` dimge1 by auto
  6.1672 +    unfolding d_def using \<open>e > 0\<close> dimge1 by auto
  6.1673    let ?d = "(\<Sum>i\<in>Basis. d *\<^sub>R i)::'a"
  6.1674    obtain c
  6.1675      where c: "finite c"
  6.1676 @@ -6152,7 +6152,7 @@
  6.1677        apply (rule setsum.cong [OF refl])
  6.1678        apply (rule image_cong [OF _ refl])
  6.1679        apply (rule convex_hull_eq_real_cbox)
  6.1680 -      apply (cut_tac `0 < d`, simp)
  6.1681 +      apply (cut_tac \<open>0 < d\<close>, simp)
  6.1682        done
  6.1683      then have 2: "convex hull c = {a. \<forall>i\<in>Basis. a \<bullet> i \<in> cball (x \<bullet> i) d}"
  6.1684        by (simp add: dist_norm abs_le_iff algebra_simps)
  6.1685 @@ -6194,7 +6194,7 @@
  6.1686    have "d \<le> e"
  6.1687      unfolding d_def
  6.1688      apply (rule mult_imp_div_pos_le)
  6.1689 -    using `e > 0`
  6.1690 +    using \<open>e > 0\<close>
  6.1691      unfolding mult_le_cancel_left1
  6.1692      apply (auto simp: real_of_nat_ge_one_iff Suc_le_eq DIM_positive)
  6.1693      done
  6.1694 @@ -6221,11 +6221,11 @@
  6.1695      done
  6.1696    then show "continuous (at x) f"
  6.1697      unfolding continuous_on_eq_continuous_at[OF open_ball]
  6.1698 -    using `d > 0` by auto
  6.1699 -qed
  6.1700 -
  6.1701 -
  6.1702 -subsection {* Line segments, Starlike Sets, etc. *}
  6.1703 +    using \<open>d > 0\<close> by auto
  6.1704 +qed
  6.1705 +
  6.1706 +
  6.1707 +subsection \<open>Line segments, Starlike Sets, etc.\<close>
  6.1708  
  6.1709  (* Use the same overloading tricks as for intervals, so that
  6.1710     segment[a,b] is closed and segment(a,b) is open relative to affine hull. *)
  6.1711 @@ -6473,7 +6473,7 @@
  6.1712    unfolding between_mem_segment segment_convex_hull ..
  6.1713  
  6.1714  
  6.1715 -subsection {* Shrinking towards the interior of a convex set *}
  6.1716 +subsection \<open>Shrinking towards the interior of a convex set\<close>
  6.1717  
  6.1718  lemma mem_interior_convex_shrink:
  6.1719    fixes s :: "'a::euclidean_space set"
  6.1720 @@ -6496,18 +6496,18 @@
  6.1721      fix y
  6.1722      assume as: "dist (x - e *\<^sub>R (x - c)) y < e * d"
  6.1723      have *: "y = (1 - (1 - e)) *\<^sub>R ((1 / e) *\<^sub>R y - ((1 - e) / e) *\<^sub>R x) + (1 - e) *\<^sub>R x"
  6.1724 -      using `e > 0` by (auto simp add: scaleR_left_diff_distrib scaleR_right_diff_distrib)
  6.1725 +      using \<open>e > 0\<close> by (auto simp add: scaleR_left_diff_distrib scaleR_right_diff_distrib)
  6.1726      have "dist c ((1 / e) *\<^sub>R y - ((1 - e) / e) *\<^sub>R x) = abs(1/e) * norm (e *\<^sub>R c - y + (1 - e) *\<^sub>R x)"
  6.1727        unfolding dist_norm
  6.1728        unfolding norm_scaleR[symmetric]
  6.1729        apply (rule arg_cong[where f=norm])
  6.1730 -      using `e > 0`
  6.1731 +      using \<open>e > 0\<close>
  6.1732        by (auto simp add: euclidean_eq_iff[where 'a='a] field_simps inner_simps)
  6.1733      also have "\<dots> = abs (1/e) * norm (x - e *\<^sub>R (x - c) - y)"
  6.1734        by (auto intro!:arg_cong[where f=norm] simp add: algebra_simps)
  6.1735      also have "\<dots> < d"
  6.1736 -      using as[unfolded dist_norm] and `e > 0`
  6.1737 -      by (auto simp add:pos_divide_less_eq[OF `e > 0`] mult.commute)
  6.1738 +      using as[unfolded dist_norm] and \<open>e > 0\<close>
  6.1739 +      by (auto simp add:pos_divide_less_eq[OF \<open>e > 0\<close>] mult.commute)
  6.1740      finally show "y \<in> s"
  6.1741        apply (subst *)
  6.1742        apply (rule assms(1)[unfolded convex_alt,rule_format])
  6.1743 @@ -6516,7 +6516,7 @@
  6.1744        using assms(3-5)
  6.1745        apply auto
  6.1746        done
  6.1747 -  qed (insert `e>0` `d>0`, auto)
  6.1748 +  qed (insert \<open>e>0\<close> \<open>d>0\<close>, auto)
  6.1749  qed
  6.1750  
  6.1751  lemma mem_interior_closure_convex_shrink:
  6.1752 @@ -6534,7 +6534,7 @@
  6.1753    proof (cases "x \<in> s")
  6.1754      case True
  6.1755      then show ?thesis
  6.1756 -      using `e > 0` `d > 0`
  6.1757 +      using \<open>e > 0\<close> \<open>d > 0\<close>
  6.1758        apply (rule_tac bexI[where x=x])
  6.1759        apply (auto)
  6.1760        done
  6.1761 @@ -6550,13 +6550,13 @@
  6.1762        then show ?thesis
  6.1763          apply (rule_tac x=y in bexI)
  6.1764          unfolding True
  6.1765 -        using `d > 0`
  6.1766 +        using \<open>d > 0\<close>
  6.1767          apply auto
  6.1768          done
  6.1769      next
  6.1770        case False
  6.1771        then have "0 < e * d / (1 - e)" and *: "1 - e > 0"
  6.1772 -        using `e \<le> 1` `e > 0` `d > 0` by auto
  6.1773 +        using \<open>e \<le> 1\<close> \<open>e > 0\<close> \<open>d > 0\<close> by auto
  6.1774        then obtain y where "y \<in> s" "y \<noteq> x" "dist y x < e * d / (1 - e)"
  6.1775          using x[unfolded islimpt_approachable,THEN spec[where x="e*d / (1 - e)"]] by auto
  6.1776        then show ?thesis
  6.1777 @@ -6571,7 +6571,7 @@
  6.1778      by auto
  6.1779    def z \<equiv> "c + ((1 - e) / e) *\<^sub>R (x - y)"
  6.1780    have *: "x - e *\<^sub>R (x - c) = y - e *\<^sub>R (y - z)"
  6.1781 -    unfolding z_def using `e > 0`
  6.1782 +    unfolding z_def using \<open>e > 0\<close>
  6.1783      by (auto simp add: scaleR_right_diff_distrib scaleR_right_distrib scaleR_left_diff_distrib)
  6.1784    have "z \<in> interior s"
  6.1785      apply (rule interior_mono[OF d,unfolded subset_eq,rule_format])
  6.1786 @@ -6582,13 +6582,13 @@
  6.1787      unfolding *
  6.1788      apply -
  6.1789      apply (rule mem_interior_convex_shrink)
  6.1790 -    using assms(1,4-5) `y\<in>s`
  6.1791 +    using assms(1,4-5) \<open>y\<in>s\<close>
  6.1792      apply auto
  6.1793      done
  6.1794  qed
  6.1795  
  6.1796  
  6.1797 -subsection {* Some obvious but surprisingly hard simplex lemmas *}
  6.1798 +subsection \<open>Some obvious but surprisingly hard simplex lemmas\<close>
  6.1799  
  6.1800  lemma simplex:
  6.1801    assumes "finite s"
  6.1802 @@ -6621,7 +6621,7 @@
  6.1803    from d have "finite d"
  6.1804      by (blast intro: finite_subset finite_Basis)
  6.1805    show ?thesis
  6.1806 -    unfolding simplex[OF `finite d` `0 \<notin> ?p`]
  6.1807 +    unfolding simplex[OF \<open>finite d\<close> \<open>0 \<notin> ?p\<close>]
  6.1808      apply (rule set_eqI)
  6.1809      unfolding mem_Collect_eq
  6.1810      apply rule
  6.1811 @@ -6652,11 +6652,11 @@
  6.1812           apply auto
  6.1813           done
  6.1814        moreover have "i \<notin> d \<Longrightarrow> 0 \<le> x\<bullet>i"
  6.1815 -        using `(\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x \<bullet> i = 0)`[rule_format, OF i] by auto
  6.1816 +        using \<open>(\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x \<bullet> i = 0)\<close>[rule_format, OF i] by auto
  6.1817        ultimately show "0 \<le> x\<bullet>i" by auto
  6.1818      qed (insert as(2)[unfolded **], auto)
  6.1819      then show "(\<forall>i\<in>Basis. 0 \<le> x\<bullet>i) \<and> setsum (op \<bullet> x) ?D \<le> 1 \<and> (\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x \<bullet> i = 0)"
  6.1820 -      using `(\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x \<bullet> i = 0)` by auto
  6.1821 +      using \<open>(\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x \<bullet> i = 0)\<close> by auto
  6.1822    next
  6.1823      fix x :: "'a::euclidean_space"
  6.1824      assume as: "\<forall>i\<in>Basis. 0 \<le> x \<bullet> i" "setsum (op \<bullet> x) ?D \<le> 1" "(\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> x \<bullet> i = 0)"
  6.1825 @@ -6695,11 +6695,11 @@
  6.1826      fix i :: 'a
  6.1827      assume i: "i \<in> Basis"
  6.1828      then show "0 < x \<bullet> i"
  6.1829 -      using as[THEN spec[where x="x - (e / 2) *\<^sub>R i"]] and `e > 0`
  6.1830 +      using as[THEN spec[where x="x - (e / 2) *\<^sub>R i"]] and \<open>e > 0\<close>
  6.1831        unfolding dist_norm
  6.1832        by (auto elim!: ballE[where x=i] simp: inner_simps)
  6.1833    next
  6.1834 -    have **: "dist x (x + (e / 2) *\<^sub>R (SOME i. i\<in>Basis)) < e" using `e > 0`
  6.1835 +    have **: "dist x (x + (e / 2) *\<^sub>R (SOME i. i\<in>Basis)) < e" using \<open>e > 0\<close>
  6.1836        unfolding dist_norm
  6.1837        by (auto intro!: mult_strict_left_mono simp: SOME_Basis)
  6.1838      have "\<And>i. i \<in> Basis \<Longrightarrow> (x + (e / 2) *\<^sub>R (SOME i. i\<in>Basis)) \<bullet> i =
  6.1839 @@ -6712,7 +6712,7 @@
  6.1840        done
  6.1841      have "setsum (op \<bullet> x) Basis < setsum (op \<bullet> (x + (e / 2) *\<^sub>R (SOME i. i\<in>Basis))) Basis"
  6.1842        unfolding * setsum.distrib
  6.1843 -      using `e > 0` DIM_positive[where 'a='a]
  6.1844 +      using \<open>e > 0\<close> DIM_positive[where 'a='a]
  6.1845        apply (subst setsum.delta')
  6.1846        apply (auto simp: SOME_Basis)
  6.1847        done
  6.1848 @@ -6854,19 +6854,19 @@
  6.1849            apply -
  6.1850            apply (rule as[rule_format,THEN conjunct1])
  6.1851            unfolding dist_norm
  6.1852 -          using d `e > 0` x0
  6.1853 +          using d \<open>e > 0\<close> x0
  6.1854            apply (auto simp: inner_simps inner_Basis)
  6.1855            done
  6.1856          then show "0 < x \<bullet> i"
  6.1857            apply (erule_tac x=i in ballE)
  6.1858 -          using `e > 0` `i \<in> d` d
  6.1859 +          using \<open>e > 0\<close> \<open>i \<in> d\<close> d
  6.1860            apply (auto simp: inner_simps inner_Basis)
  6.1861            done
  6.1862        next
  6.1863          obtain a where a: "a \<in> d"
  6.1864 -          using `d \<noteq> {}` by auto
  6.1865 +          using \<open>d \<noteq> {}\<close> by auto
  6.1866          then have **: "dist x (x + (e / 2) *\<^sub>R a) < e"
  6.1867 -          using `e > 0` norm_Basis[of a] d
  6.1868 +          using \<open>e > 0\<close> norm_Basis[of a] d
  6.1869            unfolding dist_norm
  6.1870            by auto
  6.1871          have "\<And>i. i \<in> Basis \<Longrightarrow> (x + (e / 2) *\<^sub>R a) \<bullet> i = x\<bullet>i + (if i = a then e/2 else 0)"
  6.1872 @@ -6875,13 +6875,13 @@
  6.1873            setsum (\<lambda>i. x\<bullet>i + (if a = i then e/2 else 0)) d"
  6.1874            using d by (intro setsum.cong) auto
  6.1875          have "a \<in> Basis"
  6.1876 -          using `a \<in> d` d by auto
  6.1877 +          using \<open>a \<in> d\<close> d by auto
  6.1878          then have h1: "(\<forall>i\<in>Basis. i \<notin> d \<longrightarrow> (x + (e / 2) *\<^sub>R a) \<bullet> i = 0)"
  6.1879 -          using x0 d `a\<in>d` by (auto simp add: inner_add_left inner_Basis)
  6.1880 +          using x0 d \<open>a\<in>d\<close> by (auto simp add: inner_add_left inner_Basis)
  6.1881          have "setsum (op \<bullet> x) d < setsum (op \<bullet> (x + (e / 2) *\<^sub>R a)) d"
  6.1882            unfolding * setsum.distrib
  6.1883 -          using `e > 0` `a \<in> d`
  6.1884 -          using `finite d`
  6.1885 +          using \<open>e > 0\<close> \<open>a \<in> d\<close>
  6.1886 +          using \<open>finite d\<close>
  6.1887            by (auto simp add: setsum.delta')
  6.1888          also have "\<dots> \<le> 1"
  6.1889            using ** h1 as[rule_format, of "x + (e / 2) *\<^sub>R a"]
  6.1890 @@ -6904,13 +6904,13 @@
  6.1891          using as assms
  6.1892          unfolding substd_simplex[OF assms] by fastforce
  6.1893        obtain a where a: "a \<in> d"
  6.1894 -        using `d \<noteq> {}` by auto
  6.1895 +        using \<open>d \<noteq> {}\<close> by auto
  6.1896        let ?d = "(1 - setsum (op \<bullet> x) d) / real (card d)"
  6.1897 -      have "0 < card d" using `d \<noteq> {}` `finite d`
  6.1898 +      have "0 < card d" using \<open>d \<noteq> {}\<close> \<open>finite d\<close>
  6.1899          by (simp add: card_gt_0_iff)
  6.1900        have "Min ((op \<bullet> x) ` d) > 0"
  6.1901 -        using as `d \<noteq> {}` `finite d` by (simp add: Min_grI)
  6.1902 -      moreover have "?d > 0" using as using `0 < card d` by auto
  6.1903 +        using as \<open>d \<noteq> {}\<close> \<open>finite d\<close> by (simp add: Min_grI)
  6.1904 +      moreover have "?d > 0" using as using \<open>0 < card d\<close> by auto
  6.1905        ultimately have h3: "min (Min ((op \<bullet> x) ` d)) ?d > 0"
  6.1906          by auto
  6.1907  
  6.1908 @@ -6942,7 +6942,7 @@
  6.1909          qed
  6.1910          also have "\<dots> \<le> 1"
  6.1911            unfolding setsum.distrib setsum_constant real_eq_of_nat
  6.1912 -          using `0 < card d`
  6.1913 +          using \<open>0 < card d\<close>
  6.1914            by auto
  6.1915          finally show "setsum (op \<bullet> y) d \<le> 1" .
  6.1916  
  6.1917 @@ -6953,7 +6953,7 @@
  6.1918            case True
  6.1919            have "norm (x - y) < x\<bullet>i"
  6.1920              using y[unfolded min_less_iff_conj dist_norm, THEN conjunct1]
  6.1921 -            using Min_gr_iff[of "op \<bullet> x ` d" "norm (x - y)"] `0 < card d` `i:d`
  6.1922 +            using Min_gr_iff[of "op \<bullet> x ` d" "norm (x - y)"] \<open>0 < card d\<close> \<open>i:d\<close>
  6.1923              by (simp add: card_gt_0_iff)
  6.1924            then show "0 \<le> y\<bullet>i"
  6.1925              using Basis_le_norm[OF i, of "x - y"] and as(1)[rule_format]
  6.1926 @@ -6983,7 +6983,7 @@
  6.1927      apply auto
  6.1928      done
  6.1929    then have d1: "0 < real (card d)"
  6.1930 -    using `d \<noteq> {}` by auto
  6.1931 +    using \<open>d \<noteq> {}\<close> by auto
  6.1932    {
  6.1933      fix i
  6.1934      assume "i \<in> d"
  6.1935 @@ -6991,7 +6991,7 @@
  6.1936        apply (rule trans[of _ "setsum (\<lambda>j. if i = j then inverse (2 * real (card d)) else 0) ?D"])
  6.1937        unfolding inner_setsum_left
  6.1938        apply (rule setsum.cong)
  6.1939 -      using `i \<in> d` `finite d` setsum.delta'[of d i "(\<lambda>k. inverse (2 * real (card d)))"]
  6.1940 +      using \<open>i \<in> d\<close> \<open>finite d\<close> setsum.delta'[of d i "(\<lambda>k. inverse (2 * real (card d)))"]
  6.1941          d1 assms(2)
  6.1942        by (auto simp: inner_Basis set_rev_mp[OF _ assms(2)])
  6.1943    }
  6.1944 @@ -7004,7 +7004,7 @@
  6.1945      assume "i \<in> d"
  6.1946      have "0 < inverse (2 * real (card d))"
  6.1947        using d1 by auto
  6.1948 -    also have "\<dots> = ?a \<bullet> i" using **[of i] `i \<in> d`
  6.1949 +    also have "\<dots> = ?a \<bullet> i" using **[of i] \<open>i \<in> d\<close>
  6.1950        by auto
  6.1951      finally show "0 < ?a \<bullet> i" by auto
  6.1952    next
  6.1953 @@ -7031,12 +7031,12 @@
  6.1954          by auto
  6.1955      qed
  6.1956      then show "?a \<bullet> i = 0 "
  6.1957 -      using `i \<notin> d` unfolding span_substd_basis[OF assms(2)] using `i \<in> Basis` by auto
  6.1958 +      using \<open>i \<notin> d\<close> unfolding span_substd_basis[OF assms(2)] using \<open>i \<in> Basis\<close> by auto
  6.1959    qed
  6.1960  qed
  6.1961  
  6.1962  
  6.1963 -subsection {* Relative interior of convex set *}
  6.1964 +subsection \<open>Relative interior of convex set\<close>
  6.1965  
  6.1966  lemma rel_interior_convex_nonempty_aux:
  6.1967    fixes S :: "'n::euclidean_space set"
  6.1968 @@ -7051,7 +7051,7 @@
  6.1969    obtain B where B: "independent B \<and> B \<le> S \<and> S \<le> span B \<and> card B = dim S"
  6.1970      using basis_exists[of S] by auto
  6.1971    then have "B \<noteq> {}"
  6.1972 -    using B assms `S \<noteq> {0}` span_empty by auto
  6.1973 +    using B assms \<open>S \<noteq> {0}\<close> span_empty by auto
  6.1974    have "insert 0 B \<le> span B"
  6.1975      using subspace_span[of B] subspace_0[of "span B"] span_inc by auto
  6.1976    then have "span (insert 0 B) \<le> span B"
  6.1977 @@ -7078,21 +7078,21 @@
  6.1978    then have "bounded_linear f"
  6.1979      using linear_conv_bounded_linear by auto
  6.1980    have "d \<noteq> {}"
  6.1981 -    using fd B `B \<noteq> {}` by auto
  6.1982 +    using fd B \<open>B \<noteq> {}\<close> by auto
  6.1983    have "insert 0 d = f ` (insert 0 B)"
  6.1984      using fd linear_0 by auto
  6.1985    then have "(convex hull (insert 0 d)) = f ` (convex hull (insert 0 B))"
  6.1986      using convex_hull_linear_image[of f "(insert 0 d)"]
  6.1987 -      convex_hull_linear_image[of f "(insert 0 B)"] `linear f`
  6.1988 +      convex_hull_linear_image[of f "(insert 0 B)"] \<open>linear f\<close>
  6.1989      by auto
  6.1990    moreover have "rel_interior (f ` (convex hull insert 0 B)) =
  6.1991      f ` rel_interior (convex hull insert 0 B)"
  6.1992      apply (rule  rel_interior_injective_on_span_linear_image[of f "(convex hull insert 0 B)"])
  6.1993 -    using `bounded_linear f` fd *
  6.1994 +    using \<open>bounded_linear f\<close> fd *
  6.1995      apply auto
  6.1996      done
  6.1997    ultimately have "rel_interior (convex hull insert 0 B) \<noteq> {}"
  6.1998 -    using rel_interior_substd_simplex_nonempty[OF `d \<noteq> {}` d]
  6.1999 +    using rel_interior_substd_simplex_nonempty[OF \<open>d \<noteq> {}\<close> d]
  6.2000      apply auto
  6.2001      apply blast
  6.2002      done
  6.2003 @@ -7139,7 +7139,7 @@
  6.2004        case False
  6.2005        then have "0 < u" using assm by auto
  6.2006        then show ?thesis
  6.2007 -        using assm rel_interior_convex_shrink[of S y x u] assms `x \<in> S` by auto
  6.2008 +        using assm rel_interior_convex_shrink[of S y x u] assms \<open>x \<in> S\<close> by auto
  6.2009      next
  6.2010        case True
  6.2011        then show ?thesis using assm by auto
  6.2012 @@ -7178,14 +7178,14 @@
  6.2013             assume "e > 0"
  6.2014             def e1 \<equiv> "min 1 (e/norm (x - a))"
  6.2015             then have e1: "e1 > 0" "e1 \<le> 1" "e1 * norm (x - a) \<le> e"
  6.2016 -             using `x \<noteq> a` `e > 0` le_divide_eq[of e1 e "norm (x - a)"]
  6.2017 +             using \<open>x \<noteq> a\<close> \<open>e > 0\<close> le_divide_eq[of e1 e "norm (x - a)"]
  6.2018               by simp_all
  6.2019             then have *: "x - e1 *\<^sub>R (x - a) : rel_interior S"
  6.2020               using rel_interior_closure_convex_shrink[of S a x e1] assms x a e1_def
  6.2021               by auto
  6.2022             have "\<exists>y. y \<in> rel_interior S \<and> y \<noteq> x \<and> dist y x \<le> e"
  6.2023                apply (rule_tac x="x - e1 *\<^sub>R (x - a)" in exI)
  6.2024 -              using * e1 dist_norm[of "x - e1 *\<^sub>R (x - a)" x] `x \<noteq> a`
  6.2025 +              using * e1 dist_norm[of "x - e1 *\<^sub>R (x - a)" x] \<open>x \<noteq> a\<close>
  6.2026                apply simp
  6.2027                done
  6.2028          }
  6.2029 @@ -7281,7 +7281,7 @@
  6.2030      fix z
  6.2031      assume z: "z \<in> rel_interior (closure S)"
  6.2032      obtain x where x: "x \<in> rel_interior S"
  6.2033 -      using `S \<noteq> {}` assms rel_interior_convex_nonempty by auto
  6.2034 +      using \<open>S \<noteq> {}\<close> assms rel_interior_convex_nonempty by auto
  6.2035      have "z \<in> rel_interior S"
  6.2036      proof (cases "x = z")
  6.2037        case True
  6.2038 @@ -7308,7 +7308,7 @@
  6.2039          using * convex_rel_interior_closure_aux[of "e / norm (z - x)" 1 z x y]
  6.2040          by (auto simp add: algebra_simps)
  6.2041        then show ?thesis
  6.2042 -        using rel_interior_closure_convex_shrink assms x `y \<in> closure S`
  6.2043 +        using rel_interior_closure_convex_shrink assms x \<open>y \<in> closure S\<close>
  6.2044          by auto
  6.2045      qed
  6.2046    }
  6.2047 @@ -7345,7 +7345,7 @@
  6.2048    assume ?B
  6.2049    then have "closure S1 \<subseteq> closure S2"
  6.2050      by (metis assms(1) convex_closure_rel_interior closure_mono)
  6.2051 -  moreover from `?B` have "closure S1 \<supseteq> closure S2"
  6.2052 +  moreover from \<open>?B\<close> have "closure S1 \<supseteq> closure S2"
  6.2053      by (metis closed_closure closure_minimal)
  6.2054    ultimately show ?A ..
  6.2055  qed
  6.2056 @@ -7404,18 +7404,18 @@
  6.2057    {
  6.2058      assume eq: "aff_dim S1 = aff_dim S2"
  6.2059      then have "S1 \<noteq> {}"
  6.2060 -      using aff_dim_empty[of S1] aff_dim_empty[of S2] `S2 \<noteq> {}` by auto
  6.2061 +      using aff_dim_empty[of S1] aff_dim_empty[of S2] \<open>S2 \<noteq> {}\<close> by auto
  6.2062      have **: "affine hull S1 = affine hull S2"
  6.2063         apply (rule affine_dim_equal)
  6.2064         using * affine_affine_hull
  6.2065         apply auto
  6.2066 -       using `S1 \<noteq> {}` hull_subset[of S1]
  6.2067 +       using \<open>S1 \<noteq> {}\<close> hull_subset[of S1]
  6.2068         apply auto
  6.2069         using eq aff_dim_affine_hull[of S1] aff_dim_affine_hull[of S2]
  6.2070         apply auto
  6.2071         done
  6.2072      obtain a where a: "a \<in> rel_interior S1"
  6.2073 -      using `S1 \<noteq> {}` rel_interior_convex_nonempty assms by auto
  6.2074 +      using \<open>S1 \<noteq> {}\<close> rel_interior_convex_nonempty assms by auto
  6.2075      obtain T where T: "open T" "a \<in> T \<inter> S1" "T \<inter> affine hull S1 \<subseteq> S1"
  6.2076         using mem_rel_interior[of a S1] a by auto
  6.2077      then have "a \<in> T \<inter> closure S2"
  6.2078 @@ -7448,7 +7448,7 @@
  6.2079      {
  6.2080        assume "x \<noteq> z"
  6.2081        def m \<equiv> "1 + e1/norm(x-z)"
  6.2082 -      hence "m > 1" using e1 `x \<noteq> z` by auto
  6.2083 +      hence "m > 1" using e1 \<open>x \<noteq> z\<close> by auto
  6.2084        {
  6.2085          fix e
  6.2086          assume e: "e > 1 \<and> e \<le> m"
  6.2087 @@ -7466,7 +7466,7 @@
  6.2088          also have "\<dots> = (e1 / norm (x - z)) * norm (x - z)"
  6.2089            using m_def by auto
  6.2090          also have "\<dots> = e1"
  6.2091 -          using `x \<noteq> z` e1 by simp
  6.2092 +          using \<open>x \<noteq> z\<close> e1 by simp
  6.2093          finally have **: "norm (z + e *\<^sub>R x - (x + e *\<^sub>R z)) \<le> e1"
  6.2094            by auto
  6.2095          have "(1 - e)*\<^sub>R x+ e *\<^sub>R z \<in> cball z e1"
  6.2096 @@ -7477,7 +7477,7 @@
  6.2097            using e * e1 by auto
  6.2098        }
  6.2099        then have "\<exists>m. m > 1 \<and> (\<forall>e. e > 1 \<and> e \<le> m \<longrightarrow> (1 - e) *\<^sub>R x + e *\<^sub>R z \<in> S )"
  6.2100 -        using `m> 1 ` by auto
  6.2101 +        using \<open>m> 1 \<close> by auto
  6.2102      }
  6.2103      moreover
  6.2104      {
  6.2105 @@ -7489,12 +7489,12 @@
  6.2106          fix e
  6.2107          assume e: "e > 1 \<and> e \<le> m"
  6.2108          then have "(1 - e) *\<^sub>R x + e *\<^sub>R z \<in> S"
  6.2109 -          using e1 x `x = z` by (auto simp add: algebra_simps)
  6.2110 +          using e1 x \<open>x = z\<close> by (auto simp add: algebra_simps)
  6.2111          then have "(1 - e) *\<^sub>R x + e *\<^sub>R z \<in> S"
  6.2112            using e by auto
  6.2113        }
  6.2114        then have "\<exists>m. m > 1 \<and> (\<forall>e. e > 1 \<and> e \<le> m \<longrightarrow> (1 - e) *\<^sub>R x + e *\<^sub>R z \<in> S)"
  6.2115 -        using `m > 1` by auto
  6.2116 +        using \<open>m > 1\<close> by auto
  6.2117      }
  6.2118      ultimately have "\<exists>m. m > 1 \<and> (\<forall>e. e > 1 \<and> e \<le> m \<longrightarrow> (1 - e) *\<^sub>R x + e *\<^sub>R z \<in> S )"
  6.2119        by auto
  6.2120 @@ -7529,7 +7529,7 @@
  6.2121    then have "z  =y - (1 - e1) *\<^sub>R (y - x)"
  6.2122      using e1_def y_def by (auto simp add: algebra_simps)
  6.2123    then show ?thesis
  6.2124 -    using rel_interior_convex_shrink[of S x y "1-e1"] `0 < e1 \<and> e1 < 1` `y \<in> S` x assms
  6.2125 +    using rel_interior_convex_shrink[of S x y "1-e1"] \<open>0 < e1 \<and> e1 < 1\<close> \<open>y \<in> S\<close> x assms
  6.2126      by auto
  6.2127  qed
  6.2128  
  6.2129 @@ -7616,7 +7616,7 @@
  6.2130      then have "z \<in> rel_interior S"
  6.2131        using True interior_rel_interior_gen[of S] by auto
  6.2132      then have **: "\<forall>x. \<exists>e. e > 1 \<and> (1 - e) *\<^sub>R x + e *\<^sub>R z \<in> S"
  6.2133 -      using convex_rel_interior_iff2[of S z] assms `S \<noteq> {}` * by auto
  6.2134 +      using convex_rel_interior_iff2[of S z] assms \<open>S \<noteq> {}\<close> * by auto
  6.2135      fix x
  6.2136      obtain e1 where e1: "e1 > 1" "(1 - e1) *\<^sub>R (z - x) + e1 *\<^sub>R z \<in> S"
  6.2137        using **[rule_format, of "z-x"] by auto
  6.2138 @@ -7643,7 +7643,7 @@
  6.2139        then have "\<exists>e. e > 1 \<and> (1 - e) *\<^sub>R x + e *\<^sub>R z \<in> S" by auto
  6.2140      }
  6.2141      then have "z \<in> rel_interior S"
  6.2142 -      using convex_rel_interior_iff2[of S z] assms `S \<noteq> {}` by auto
  6.2143 +      using convex_rel_interior_iff2[of S z] assms \<open>S \<noteq> {}\<close> by auto
  6.2144      then have "z \<in> interior S"
  6.2145        using True interior_rel_interior_gen[of S] by auto
  6.2146    }
  6.2147 @@ -7651,7 +7651,7 @@
  6.2148  qed
  6.2149  
  6.2150  
  6.2151 -subsubsection {* Relative interior and closure under common operations *}
  6.2152 +subsubsection \<open>Relative interior and closure under common operations\<close>
  6.2153  
  6.2154  lemma rel_interior_inter_aux: "\<Inter>{rel_interior S |S. S : I} \<subseteq> \<Inter>I"
  6.2155  proof -
  6.2156 @@ -7718,7 +7718,7 @@
  6.2157          assume e: "e > 0"
  6.2158          def e1 \<equiv> "min 1 (e/norm (y - x))"
  6.2159          then have e1: "e1 > 0" "e1 \<le> 1" "e1 * norm (y - x) \<le> e"
  6.2160 -          using `y \<noteq> x` `e > 0` le_divide_eq[of e1 e "norm (y - x)"]
  6.2161 +          using \<open>y \<noteq> x\<close> \<open>e > 0\<close> le_divide_eq[of e1 e "norm (y - x)"]
  6.2162            by simp_all
  6.2163          def z \<equiv> "y - e1 *\<^sub>R (y - x)"
  6.2164          {
  6.2165 @@ -7732,7 +7732,7 @@
  6.2166            by auto
  6.2167          have "\<exists>z. z \<in> \<Inter>{rel_interior S |S. S \<in> I} \<and> z \<noteq> y \<and> dist z y \<le> e"
  6.2168            apply (rule_tac x="z" in exI)
  6.2169 -          using `y \<noteq> x` z_def * e1 e dist_norm[of z y]
  6.2170 +          using \<open>y \<noteq> x\<close> z_def * e1 e dist_norm[of z y]
  6.2171            apply simp
  6.2172            done
  6.2173        }
  6.2174 @@ -7834,7 +7834,7 @@
  6.2175          then obtain mS where
  6.2176            mS: "\<forall>S\<in>I. mS S > 1 \<and> (\<forall>e. e > 1 \<and> e \<le> mS S \<longrightarrow> (1 - e) *\<^sub>R x + e *\<^sub>R z \<in> S)" by metis
  6.2177          def e \<equiv> "Min (mS ` I)"
  6.2178 -        then have "e \<in> mS ` I" using assms `I \<noteq> {}` by simp
  6.2179 +        then have "e \<in> mS ` I" using assms \<open>I \<noteq> {}\<close> by simp
  6.2180          then have "e > 1" using mS by auto
  6.2181          moreover have "\<forall>S\<in>I. e \<le> mS S"
  6.2182            using e_def assms by auto
  6.2183 @@ -7842,7 +7842,7 @@
  6.2184            using mS by auto
  6.2185        }
  6.2186        then have "z \<in> rel_interior (\<Inter>I)"
  6.2187 -        using convex_rel_interior_iff[of "\<Inter>I" z] `\<Inter>I \<noteq> {}` `convex (\<Inter>I)` by auto
  6.2188 +        using convex_rel_interior_iff[of "\<Inter>I" z] \<open>\<Inter>I \<noteq> {}\<close> \<open>convex (\<Inter>I)\<close> by auto
  6.2189      }
  6.2190      then show ?thesis
  6.2191        using convex_rel_interior_inter[of I] assms by auto
  6.2192 @@ -7967,17 +7967,17 @@
  6.2193        assume "x \<in> f ` S"
  6.2194        then obtain x1 where x1: "x1 \<in> S" "f x1 = x" by auto
  6.2195        then obtain e where e: "e > 1" "(1 - e) *\<^sub>R x1 + e *\<^sub>R z1 : S"
  6.2196 -        using convex_rel_interior_iff[of S z1] `convex S` x1 z1 by auto
  6.2197 +        using convex_rel_interior_iff[of S z1] \<open>convex S\<close> x1 z1 by auto
  6.2198        moreover have "f ((1 - e) *\<^sub>R x1 + e *\<^sub>R z1) = (1 - e) *\<^sub>R x + e *\<^sub>R z"
  6.2199 -        using x1 z1 `linear f` by (simp add: linear_add_cmul)
  6.2200 +        using x1 z1 \<open>linear f\<close> by (simp add: linear_add_cmul)
  6.2201        ultimately have "(1 - e) *\<^sub>R x + e *\<^sub>R z : f ` S"
  6.2202          using imageI[of "(1 - e) *\<^sub>R x1 + e *\<^sub>R z1" S f] by auto
  6.2203        then have "\<exists>e. e > 1 \<and> (1 - e) *\<^sub>R x + e *\<^sub>R z : f ` S"
  6.2204          using e by auto
  6.2205      }
  6.2206      then have "z \<in> rel_interior (f ` S)"
  6.2207 -      using convex_rel_interior_iff[of "f ` S" z] `convex S`
  6.2208 -        `linear f` `S \<noteq> {}` convex_linear_image[of f S]  linear_conv_bounded_linear[of f]
  6.2209 +      using convex_rel_interior_iff[of "f ` S" z] \<open>convex S\<close>
  6.2210 +        \<open>linear f\<close> \<open>S \<noteq> {}\<close> convex_linear_image[of f S]  linear_conv_bounded_linear[of f]
  6.2211        by auto
  6.2212    }
  6.2213    ultimately show ?thesis by auto
  6.2214 @@ -8010,9 +8010,9 @@
  6.2215        assume "x \<in> f -` S"
  6.2216        then have "f x \<in> S" by auto
  6.2217        then obtain e where e: "e > 1" "(1 - e) *\<^sub>R f x + e *\<^sub>R f z \<in> S"
  6.2218 -        using convex_rel_interior_iff[of S "f z"] z assms `S \<noteq> {}` by auto
  6.2219 +        using convex_rel_interior_iff[of S "f z"] z assms \<open>S \<noteq> {}\<close> by auto
  6.2220        moreover have "(1 - e) *\<^sub>R f x + e *\<^sub>R f z = f ((1 - e) *\<^sub>R x + e *\<^sub>R z)"
  6.2221 -        using `linear f` by (simp add: linear_iff)
  6.2222 +        using \<open>linear f\<close> by (simp add: linear_iff)
  6.2223        ultimately have "\<exists>e. e > 1 \<and> (1 - e) *\<^sub>R x + e *\<^sub>R z \<in> f -` S"
  6.2224          using e by auto
  6.2225      }
  6.2226 @@ -8030,12 +8030,12 @@
  6.2227        then obtain e where e: "e > 1" "(1 - e) *\<^sub>R y + e *\<^sub>R z \<in> f -` S"
  6.2228          using convex_rel_interior_iff[of "f -` S" z] z conv by auto
  6.2229        moreover have "(1 - e) *\<^sub>R x + e *\<^sub>R f z = f ((1 - e) *\<^sub>R y + e *\<^sub>R z)"
  6.2230 -        using `linear f` y by (simp add: linear_iff)
  6.2231 +        using \<open>linear f\<close> y by (simp add: linear_iff)
  6.2232        ultimately have "\<exists>e. e > 1 \<and> (1 - e) *\<^sub>R x + e *\<^sub>R f z \<in> S \<inter> range f"
  6.2233          using e by auto
  6.2234      }
  6.2235      then have "f z \<in> rel_interior (S \<inter> range f)"
  6.2236 -      using `convex (S \<inter> (range f))` `S \<inter> range f \<noteq> {}`
  6.2237 +      using \<open>convex (S \<inter> (range f))\<close> \<open>S \<inter> range f \<noteq> {}\<close>
  6.2238          convex_rel_interior_iff[of "S \<inter> (range f)" "f z"]
  6.2239        by auto
  6.2240      moreover have "affine (range f)"
  6.2241 @@ -8072,13 +8072,13 @@
  6.2242      then have "fst -` rel_interior S \<noteq> {}"
  6.2243        using fst_vimage_eq_Times[of "rel_interior S"] by auto
  6.2244      then have "rel_interior ((fst :: 'n * 'm \<Rightarrow> 'n) -` S) = fst -` rel_interior S"
  6.2245 -      using fst_linear `convex S` rel_interior_convex_linear_preimage[of fst S] by auto
  6.2246 +      using fst_linear \<open>convex S\<close> rel_interior_convex_linear_preimage[of fst S] by auto
  6.2247      then have s: "rel_interior (S \<times> (UNIV :: 'm set)) = rel_interior S \<times> UNIV"
  6.2248        by (simp add: fst_vimage_eq_Times)
  6.2249      from ri have "snd -` rel_interior T \<noteq> {}"
  6.2250        using snd_vimage_eq_Times[of "rel_interior T"] by auto
  6.2251      then have "rel_interior ((snd :: 'n * 'm \<Rightarrow> 'm) -` T) = snd -` rel_interior T"
  6.2252 -      using snd_linear `convex T` rel_interior_convex_linear_preimage[of snd T] by auto
  6.2253 +      using snd_linear \<open>convex T\<close> rel_interior_convex_linear_preimage[of snd T] by auto
  6.2254      then have t: "rel_interior ((UNIV :: 'n set) \<times> T) = UNIV \<times> rel_interior T"
  6.2255        by (simp add: snd_vimage_eq_Times)
  6.2256      from s t have *: "rel_interior (S \<times> (UNIV :: 'm set)) \<inter> rel_interior ((UNIV :: 'n set) \<times> T) =
  6.2257 @@ -8264,7 +8264,7 @@
  6.2258  qed
  6.2259  
  6.2260  
  6.2261 -subsubsection {* Relative interior of convex cone *}
  6.2262 +subsubsection \<open>Relative interior of convex cone\<close>
  6.2263  
  6.2264  lemma cone_rel_interior:
  6.2265    fixes S :: "'m::euclidean_space set"
  6.2266 @@ -8311,7 +8311,7 @@
  6.2267      fix y :: real
  6.2268      assume "y \<ge> 0"
  6.2269      then have "y *\<^sub>R (1,s) \<in> cone hull ({1 :: real} \<times> S)"
  6.2270 -      using cone_hull_expl[of "{(1 :: real)} \<times> S"] `s \<in> S` by auto
  6.2271 +      using cone_hull_expl[of "{(1 :: real)} \<times> S"] \<open>s \<in> S\<close> by auto
  6.2272      then have "f y \<noteq> {}"
  6.2273        using f_def by auto
  6.2274    }
  6.2275 @@ -8343,7 +8343,7 @@
  6.2276      have *: "z = (fst z, snd z)"
  6.2277        by auto
  6.2278      have "z \<in> ?rhs"
  6.2279 -      using rel_interior_convex_cone_aux[of S "fst z" "snd z"] assms `z \<in> ?lhs`
  6.2280 +      using rel_interior_convex_cone_aux[of S "fst z" "snd z"] assms \<open>z \<in> ?lhs\<close>
  6.2281        apply auto
  6.2282        apply (rule_tac x = "fst z" in exI)
  6.2283        apply (rule_tac x = x in exI)
  6.2284 @@ -8400,19 +8400,19 @@
  6.2285        assume "x \<in> S i"
  6.2286        def c \<equiv> "\<lambda>j. if j = i then 1::real else 0"
  6.2287        then have *: "setsum c I = 1"
  6.2288 -        using `finite I` `i \<in> I` setsum.delta[of I i "\<lambda>j::'a. 1::real"]
  6.2289 +        using \<open>finite I\<close> \<open>i \<in> I\<close> setsum.delta[of I i "\<lambda>j::'a. 1::real"]
  6.2290          by auto
  6.2291        def s \<equiv> "\<lambda>j. if j = i then x else p j"
  6.2292        then have "\<forall>j. c j *\<^sub>R s j = (if j = i then x else 0)"
  6.2293          using c_def by (auto simp add: algebra_simps)
  6.2294        then have "x = setsum (\<lambda>i. c i *\<^sub>R s i) I"
  6.2295 -        using s_def c_def `finite I` `i \<in> I` setsum.delta[of I i "\<lambda>j::'a. x"]
  6.2296 +        using s_def c_def \<open>finite I\<close> \<open>i \<in> I\<close> setsum.delta[of I i "\<lambda>j::'a. x"]
  6.2297          by auto
  6.2298        then have "x \<in> ?rhs"
  6.2299          apply auto
  6.2300          apply (rule_tac x = c in exI)
  6.2301          apply (rule_tac x = s in exI)
  6.2302 -        using * c_def s_def p `x \<in> S i`
  6.2303 +        using * c_def s_def p \<open>x \<in> S i\<close>
  6.2304          apply auto
  6.2305          done
  6.2306      }
  6.2307 @@ -8492,7 +8492,7 @@
  6.2308    }
  6.2309    then have "convex ?rhs" unfolding convex_def by auto
  6.2310    then show ?thesis
  6.2311 -    using `?lhs \<supseteq> ?rhs` * hull_minimal[of "\<Union>(S ` I)" ?rhs convex]
  6.2312 +    using \<open>?lhs \<supseteq> ?rhs\<close> * hull_minimal[of "\<Union>(S ` I)" ?rhs convex]
  6.2313      by blast
  6.2314  qed
  6.2315  
  6.2316 @@ -8536,7 +8536,7 @@
  6.2317  qed
  6.2318  
  6.2319  
  6.2320 -subsection {* Convexity on direct sums *}
  6.2321 +subsection \<open>Convexity on direct sums\<close>
  6.2322  
  6.2323  lemma closure_sum:
  6.2324    fixes S T :: "'a::real_normed_vector set"
  6.2325 @@ -8715,7 +8715,7 @@
  6.2326      then have "K0 \<supseteq> K i"
  6.2327        unfolding K0_def K_def
  6.2328        apply (subst hull_mono)
  6.2329 -      using `\<forall>i\<in>I. C0 \<ge> S i`
  6.2330 +      using \<open>\<forall>i\<in>I. C0 \<ge> S i\<close>
  6.2331        apply auto
  6.2332        done
  6.2333    }
  6.2334 @@ -8764,7 +8764,7 @@
  6.2335      apply rule
  6.2336      apply (subst convex_cone_hull)
  6.2337      apply (subst convex_Times)
  6.2338 -    using assms cone_cone_hull `\<forall>i\<in>I. K i \<noteq> {}` K_def
  6.2339 +    using assms cone_cone_hull \<open>\<forall>i\<in>I. K i \<noteq> {}\<close> K_def
  6.2340      apply auto
  6.2341      done
  6.2342    finally have "K0 = setsum K I" by auto
  6.2343 @@ -8777,7 +8777,7 @@
  6.2344        using K0_def C0_def rel_interior_convex_cone_aux[of C0 "1::real" x] convex_convex_hull
  6.2345        by auto
  6.2346      then obtain k where k: "(1::real, x) = setsum k I \<and> (\<forall>i\<in>I. k i \<in> rel_interior (K i))"
  6.2347 -      using `finite I` * set_setsum_alt[of I "\<lambda>i. rel_interior (K i)"] by auto
  6.2348 +      using \<open>finite I\<close> * set_setsum_alt[of I "\<lambda>i. rel_interior (K i)"] by auto
  6.2349      {
  6.2350        fix i
  6.2351        assume "i \<in> I"
  6.2352 @@ -8839,62 +8839,62 @@
  6.2353    assume "x < y"
  6.2354    moreover
  6.2355    have "open (interior I)" by auto
  6.2356 -  from openE[OF this `x \<in> interior I`]
  6.2357 +  from openE[OF this \<open>x \<in> interior I\<close>]
  6.2358    obtain e where e: "0 < e" "ball x e \<subseteq> interior I" .
  6.2359    moreover def t \<equiv> "min (x + e / 2) ((x + y) / 2)"
  6.2360    ultimately have "x < t" "t < y" "t \<in> ball x e"
  6.2361      by (auto simp: dist_real_def field_simps split: split_min)
  6.2362 -  with `x \<in> interior I` e interior_subset[of I] have "t \<in> I" "x \<in> I" by auto
  6.2363 +  with \<open>x \<in> interior I\<close> e interior_subset[of I] have "t \<in> I" "x \<in> I" by auto
  6.2364  
  6.2365    have "open (interior I)" by auto
  6.2366 -  from openE[OF this `x \<in> interior I`]
  6.2367 +  from openE[OF this \<open>x \<in> interior I\<close>]
  6.2368    obtain e where "0 < e" "ball x e \<subseteq> interior I" .
  6.2369    moreover def K \<equiv> "x - e / 2"
  6.2370 -  with `0 < e` have "K \<in> ball x e" "K < x"
  6.2371 +  with \<open>0 < e\<close> have "K \<in> ball x e" "K < x"
  6.2372      by (auto simp: dist_real_def)
  6.2373    ultimately have "K \<in> I" "K < x" "x \<in> I"
  6.2374 -    using interior_subset[of I] `x \<in> interior I` by auto
  6.2375 +    using interior_subset[of I] \<open>x \<in> interior I\<close> by auto
  6.2376  
  6.2377    have "Inf (?F x) \<le> (f x - f y) / (x - y)"
  6.2378    proof (intro bdd_belowI cInf_lower2)
  6.2379      show "(f x - f t) / (x - t) \<in> ?F x"
  6.2380 -      using `t \<in> I` `x < t` by auto
  6.2381 +      using \<open>t \<in> I\<close> \<open>x < t\<close> by auto
  6.2382      show "(f x - f t) / (x - t) \<le> (f x - f y) / (x - y)"
  6.2383 -      using `convex_on I f` `x \<in> I` `y \<in> I` `x < t` `t < y`
  6.2384 +      using \<open>convex_on I f\<close> \<open>x \<in> I\<close> \<open>y \<in> I\<close> \<open>x < t\<close> \<open>t < y\<close>
  6.2385        by (rule convex_on_diff)
  6.2386    next
  6.2387      fix y
  6.2388      assume "y \<in> ?F x"
  6.2389 -    with order_trans[OF convex_on_diff[OF `convex_on I f` `K \<in> I` _ `K < x` _]]
  6.2390 +    with order_trans[OF convex_on_diff[OF \<open>convex_on I f\<close> \<open>K \<in> I\<close> _ \<open>K < x\<close> _]]
  6.2391      show "(f K - f x) / (K - x) \<le> y" by auto
  6.2392    qed
  6.2393    then show ?thesis
  6.2394 -    using `x < y` by (simp add: field_simps)
  6.2395 +    using \<open>x < y\<close> by (simp add: field_simps)
  6.2396  next
  6.2397    assume "y < x"
  6.2398    moreover
  6.2399    have "open (interior I)" by auto
  6.2400 -  from openE[OF this `x \<in> interior I`]
  6.2401 +  from openE[OF this \<open>x \<in> interior I\<close>]
  6.2402    obtain e where e: "0 < e" "ball x e \<subseteq> interior I" .
  6.2403    moreover def t \<equiv> "x + e / 2"
  6.2404    ultimately have "x < t" "t \<in> ball x e"
  6.2405      by (auto simp: dist_real_def field_simps)
  6.2406 -  with `x \<in> interior I` e interior_subset[of I] have "t \<in> I" "x \<in> I" by auto
  6.2407 +  with \<open>x \<in> interior I\<close> e interior_subset[of I] have "t \<in> I" "x \<in> I" by auto
  6.2408  
  6.2409    have "(f x - f y) / (x - y) \<le> Inf (?F x)"
  6.2410    proof (rule cInf_greatest)
  6.2411      have "(f x - f y) / (x - y) = (f y - f x) / (y - x)"
  6.2412 -      using `y < x` by (auto simp: field_simps)
  6.2413 +      using \<open>y < x\<close> by (auto simp: field_simps)
  6.2414      also
  6.2415      fix z
  6.2416      assume "z \<in> ?F x"
  6.2417 -    with order_trans[OF convex_on_diff[OF `convex_on I f` `y \<in> I` _ `y < x`]]
  6.2418 +    with order_trans[OF convex_on_diff[OF \<open>convex_on I f\<close> \<open>y \<in> I\<close> _ \<open>y < x\<close>]]
  6.2419      have "(f y - f x) / (y - x) \<le> z"
  6.2420        by auto
  6.2421      finally show "(f x - f y) / (x - y) \<le> z" .
  6.2422    next
  6.2423      have "open (interior I)" by auto
  6.2424 -    from openE[OF this `x \<in> interior I`]
  6.2425 +    from openE[OF this \<open>x \<in> interior I\<close>]
  6.2426      obtain e where e: "0 < e" "ball x e \<subseteq> interior I" .
  6.2427      then have "x + e / 2 \<in> ball x e"
  6.2428        by (auto simp: dist_real_def)
  6.2429 @@ -8904,9 +8904,9 @@
  6.2430        by blast
  6.2431    qed
  6.2432    then show ?thesis
  6.2433 -    using `y < x` by (simp add: field_simps)
  6.2434 +    using \<open>y < x\<close> by (simp add: field_simps)
  6.2435  qed simp
  6.2436 -subsection{* Explicit formulas for interior and relative interior of convex hull*}
  6.2437 +subsection\<open>Explicit formulas for interior and relative interior of convex hull\<close>
  6.2438   
  6.2439  lemma affine_independent_convex_affine_hull:
  6.2440    fixes s :: "'a::euclidean_space set"
  6.2441 @@ -8917,7 +8917,7 @@
  6.2442      { fix u v x
  6.2443        assume uv: "setsum u t = 1" "\<forall>x\<in>s. 0 \<le> v x" "setsum v s = 1" 
  6.2444                   "(\<Sum>x\<in>s. v x *\<^sub>R x) = (\<Sum>v\<in>t. u v *\<^sub>R v)" "x \<in> t"
  6.2445 -      then have s: "s = (s - t) \<union> t" --{*split into separate cases*}
  6.2446 +      then have s: "s = (s - t) \<union> t" --\<open>split into separate cases\<close>
  6.2447          using assms by auto
  6.2448        have [simp]: "(\<Sum>x\<in>t. v x *\<^sub>R x) + (\<Sum>x\<in>s - t. v x *\<^sub>R x) = (\<Sum>x\<in>t. u x *\<^sub>R x)"
  6.2449                     "setsum v t + setsum v (s - t) = 1"
  6.2450 @@ -9035,7 +9035,7 @@
  6.2451        using assms by (simp add: aff_independent_finite)
  6.2452      { fix a b and d::real
  6.2453        assume ab: "a \<in> s" "b \<in> s" "a \<noteq> b"
  6.2454 -      then have s: "s = (s - {a,b}) \<union> {a,b}" --{*split into separate cases*}
  6.2455 +      then have s: "s = (s - {a,b}) \<union> {a,b}" --\<open>split into separate cases\<close>
  6.2456          by auto
  6.2457        have "(\<Sum>x\<in>s. if x = a then - d else if x = b then d else 0) = 0" 
  6.2458             "(\<Sum>x\<in>s. (if x = a then - d else if x = b then d else 0) *\<^sub>R x) = d *\<^sub>R b - d *\<^sub>R a"
  6.2459 @@ -9129,7 +9129,7 @@
  6.2460        apply (auto simp: less_imp_le aff_independent_finite assms)
  6.2461        done      
  6.2462      finally have "u a < 1"
  6.2463 -      using `b \<in> s` u by fastforce
  6.2464 +      using \<open>b \<in> s\<close> u by fastforce
  6.2465    } note [simp] = this
  6.2466    show ?thesis
  6.2467      using assms
  6.2468 @@ -9139,7 +9139,7 @@
  6.2469      done
  6.2470  qed
  6.2471  
  6.2472 -subsection{* Similar results for closure and (relative or absolute) frontier.*}
  6.2473 +subsection\<open>Similar results for closure and (relative or absolute) frontier.\<close>
  6.2474  
  6.2475  lemma closure_convex_hull [simp]:
  6.2476    fixes s :: "'a::euclidean_space set"
     7.1 --- a/src/HOL/Multivariate_Analysis/Derivative.thy	Wed Jun 10 19:05:19 2015 +0200
     7.2 +++ b/src/HOL/Multivariate_Analysis/Derivative.thy	Wed Jun 10 19:10:20 2015 +0200
     7.3 @@ -3,7 +3,7 @@
     7.4      Author:     Robert Himmelmann, TU Muenchen (translation from HOL Light)
     7.5  *)
     7.6  
     7.7 -section {* Multivariate calculus in Euclidean space *}
     7.8 +section \<open>Multivariate calculus in Euclidean space\<close>
     7.9  
    7.10  theory Derivative
    7.11  imports Brouwer_Fixpoint Operator_Norm
    7.12 @@ -29,9 +29,9 @@
    7.13  
    7.14  declare has_derivative_bounded_linear[dest]
    7.15  
    7.16 -subsection {* Derivatives *}
    7.17 +subsection \<open>Derivatives\<close>
    7.18  
    7.19 -subsubsection {* Combining theorems. *}
    7.20 +subsubsection \<open>Combining theorems.\<close>
    7.21  
    7.22  lemmas has_derivative_id = has_derivative_ident
    7.23  lemmas has_derivative_neg = has_derivative_minus
    7.24 @@ -48,7 +48,7 @@
    7.25    by (intro derivative_eq_intros) auto
    7.26  
    7.27  
    7.28 -subsection {* Derivative with composed bilinear function. *}
    7.29 +subsection \<open>Derivative with composed bilinear function.\<close>
    7.30  
    7.31  lemma has_derivative_bilinear_within:
    7.32    assumes "(f has_derivative f') (at x within s)"
    7.33 @@ -64,7 +64,7 @@
    7.34    shows "((\<lambda>x. h (f x) (g x)) has_derivative (\<lambda>d. h (f x) (g' d) + h (f' d) (g x))) (at x)"
    7.35    using has_derivative_bilinear_within[of f f' x UNIV g g' h] assms by simp
    7.36  
    7.37 -text {* These are the only cases we'll care about, probably. *}
    7.38 +text \<open>These are the only cases we'll care about, probably.\<close>
    7.39  
    7.40  lemma has_derivative_within: "(f has_derivative f') (at x within s) \<longleftrightarrow>
    7.41      bounded_linear f' \<and> ((\<lambda>y. (1 / norm(y - x)) *\<^sub>R (f y - (f x + f' (y - x)))) ---> 0) (at x within s)"
    7.42 @@ -76,7 +76,7 @@
    7.43    using has_derivative_within [of f f' x UNIV]
    7.44    by simp
    7.45  
    7.46 -text {* More explicit epsilon-delta forms. *}
    7.47 +text \<open>More explicit epsilon-delta forms.\<close>
    7.48  
    7.49  lemma has_derivative_within':
    7.50    "(f has_derivative f')(at x within s) \<longleftrightarrow>
    7.51 @@ -121,7 +121,7 @@
    7.52      by (simp add: bounded_linear_mult_right has_derivative_within)
    7.53  qed
    7.54  
    7.55 -subsubsection {*Caratheodory characterization*}
    7.56 +subsubsection \<open>Caratheodory characterization\<close>
    7.57  
    7.58  lemma DERIV_within_iff:
    7.59    "(f has_field_derivative D) (at a within s) \<longleftrightarrow> ((\<lambda>z. (f z - f a) / (z - a)) ---> D) (at a within s)"
    7.60 @@ -147,7 +147,7 @@
    7.61    proof (intro exI conjI)
    7.62      let ?g = "(%z. if z = x then l else (f z - f x) / (z-x))"
    7.63      show "\<forall>z. f z - f x = ?g z * (z-x)" by simp
    7.64 -    show "continuous (at x within s) ?g" using `?lhs`
    7.65 +    show "continuous (at x within s) ?g" using \<open>?lhs\<close>
    7.66        by (auto simp add: continuous_within DERIV_within_iff cong: Lim_cong_within)
    7.67      show "?g x = l" by simp
    7.68    qed
    7.69 @@ -159,7 +159,7 @@
    7.70      by (auto simp add: continuous_within DERIV_within_iff cong: Lim_cong_within)
    7.71  qed
    7.72  
    7.73 -subsubsection {* Limit transformation for derivatives *}
    7.74 +subsubsection \<open>Limit transformation for derivatives\<close>
    7.75  
    7.76  lemma has_derivative_transform_within:
    7.77    assumes "0 < d"
    7.78 @@ -193,7 +193,7 @@
    7.79    apply (rule Lim_transform_within_open[OF assms(1,2)], auto)
    7.80    done
    7.81  
    7.82 -subsection {* Differentiability *}
    7.83 +subsection \<open>Differentiability\<close>
    7.84  
    7.85  definition
    7.86    differentiable_on :: "('a::real_normed_vector \<Rightarrow> 'b::real_normed_vector) \<Rightarrow> 'a set \<Rightarrow> bool"
    7.87 @@ -242,7 +242,7 @@
    7.88    by auto
    7.89  
    7.90  
    7.91 -subsection {* Frechet derivative and Jacobian matrix *}
    7.92 +subsection \<open>Frechet derivative and Jacobian matrix\<close>
    7.93  
    7.94  definition "frechet_derivative f net = (SOME f'. (f has_derivative f') net)"
    7.95  
    7.96 @@ -256,7 +256,7 @@
    7.97    by (auto intro: bounded_linear.linear)
    7.98  
    7.99  
   7.100 -subsection {* Differentiability implies continuity *}
   7.101 +subsection \<open>Differentiability implies continuity\<close>
   7.102  
   7.103  lemma differentiable_imp_continuous_within:
   7.104    "f differentiable (at x within s) \<Longrightarrow> continuous (at x within s) f"
   7.105 @@ -277,7 +277,7 @@
   7.106    unfolding differentiable_on_def
   7.107    by auto
   7.108  
   7.109 -text {* Results about neighborhoods filter. *}
   7.110 +text \<open>Results about neighborhoods filter.\<close>
   7.111  
   7.112  lemma eventually_nhds_metric_le:
   7.113    "eventually P (nhds a) = (\<exists>d>0. \<forall>x. dist x a \<le> d \<longrightarrow> P x)"
   7.114 @@ -292,8 +292,8 @@
   7.115  lemma le_nhds_metric_le: "F \<le> nhds a \<longleftrightarrow> (\<forall>e>0. eventually (\<lambda>x. dist x a \<le> e) F)"
   7.116    unfolding le_filter_def eventually_nhds_metric_le by (fast elim: eventually_elim1)
   7.117  
   7.118 -text {* Several results are easier using a "multiplied-out" variant.
   7.119 -(I got this idea from Dieudonne's proof of the chain rule). *}
   7.120 +text \<open>Several results are easier using a "multiplied-out" variant.
   7.121 +(I got this idea from Dieudonne's proof of the chain rule).\<close>
   7.122  
   7.123  lemma has_derivative_within_alt:
   7.124    "(f has_derivative f') (at x within s) \<longleftrightarrow> bounded_linear f' \<and>
   7.125 @@ -317,7 +317,7 @@
   7.126    by simp
   7.127  
   7.128  
   7.129 -subsection {* The chain rule *}
   7.130 +subsection \<open>The chain rule\<close>
   7.131  
   7.132  lemma diff_chain_within[derivative_intros]:
   7.133    assumes "(f has_derivative f') (at x within s)"
   7.134 @@ -333,7 +333,7 @@
   7.135    by (simp add: comp_def)
   7.136  
   7.137  
   7.138 -subsection {* Composition rules stated just for differentiability *}
   7.139 +subsection \<open>Composition rules stated just for differentiability\<close>
   7.140  
   7.141  lemma differentiable_chain_at:
   7.142    "f differentiable (at x) \<Longrightarrow>
   7.143 @@ -348,13 +348,13 @@
   7.144    by (meson diff_chain_within)
   7.145  
   7.146  
   7.147 -subsection {* Uniqueness of derivative *}
   7.148 +subsection \<open>Uniqueness of derivative\<close>
   7.149  
   7.150  
   7.151 -text {*
   7.152 +text \<open>
   7.153   The general result is a bit messy because we need approachability of the
   7.154   limit point from any direction. But OK for nontrivial intervals etc.
   7.155 -*}
   7.156 +\<close>
   7.157  
   7.158  lemma frechet_derivative_unique_within:
   7.159    fixes f :: "'a::euclidean_space \<Rightarrow> 'b::real_normed_vector"
   7.160 @@ -371,7 +371,7 @@
   7.161      fix e :: real
   7.162      assume "e > 0"
   7.163      obtain d where "0 < \<bar>d\<bar>" and "\<bar>d\<bar> < e" and "x + d *\<^sub>R (SOME i. i \<in> Basis) \<in> s"
   7.164 -      using assms(3) SOME_Basis `e>0` by blast
   7.165 +      using assms(3) SOME_Basis \<open>e>0\<close> by blast
   7.166      then show "\<exists>x'\<in>s. x' \<noteq> x \<and> dist x' x < e"
   7.167        apply (rule_tac x="x + d *\<^sub>R (SOME i. i \<in> Basis)" in bexI)
   7.168        unfolding dist_norm
   7.169 @@ -399,7 +399,7 @@
   7.170                (f xa - f x - f'' (xa - x)) /\<^sub>R norm (xa - x)) (0 - 0) < e)"
   7.171        using tendsto_diff [OF as(1,2)[THEN conjunct2]]
   7.172        unfolding * Lim_within
   7.173 -      using `e>0` by blast
   7.174 +      using \<open>e>0\<close> by blast
   7.175      obtain c where c: "0 < \<bar>c\<bar>" "\<bar>c\<bar> < d \<and> x + c *\<^sub>R i \<in> s"
   7.176        using assms(3) i d(1) by blast
   7.177      have *: "norm (- ((1 / \<bar>c\<bar>) *\<^sub>R f' (c *\<^sub>R i)) + (1 / \<bar>c\<bar>) *\<^sub>R f'' (c *\<^sub>R i)) =
   7.178 @@ -447,7 +447,7 @@
   7.179      case True
   7.180      then show ?thesis
   7.181        apply (rule_tac x="(min (b\<bullet>i - a\<bullet>i)  e) / 2" in exI)
   7.182 -      using assms(1)[THEN bspec[where x=i]] and `e>0` and assms(2)
   7.183 +      using assms(1)[THEN bspec[where x=i]] and \<open>e>0\<close> and assms(2)
   7.184        unfolding mem_box
   7.185        using i
   7.186        apply (auto simp add: field_simps inner_simps inner_Basis)
   7.187 @@ -468,12 +468,12 @@
   7.188          by auto
   7.189      }
   7.190      moreover have "min (x \<bullet> i - a \<bullet> i) e \<ge> 0"
   7.191 -      using * and `e>0` by auto
   7.192 +      using * and \<open>e>0\<close> by auto
   7.193      then have "x \<bullet> i * 2 \<le> b \<bullet> i * 2 + min (x \<bullet> i - a \<bullet> i) e"
   7.194        using * by auto
   7.195      ultimately show ?thesis
   7.196        apply (rule_tac x="- (min (x\<bullet>i - a\<bullet>i) e) / 2" in exI)
   7.197 -      using assms(1)[THEN bspec, OF i] and `e>0` and assms(2)
   7.198 +      using assms(1)[THEN bspec, OF i] and \<open>e>0\<close> and assms(2)
   7.199        unfolding mem_box
   7.200        using i
   7.201        apply (auto simp add: field_simps inner_simps inner_Basis)
   7.202 @@ -513,7 +513,7 @@
   7.203    by (metis Derivative.differentiableI frechet_derivative_unique_within_closed_interval frechet_derivative_works)
   7.204  
   7.205  
   7.206 -subsection {* The traditional Rolle theorem in one dimension *}
   7.207 +subsection \<open>The traditional Rolle theorem in one dimension\<close>
   7.208  
   7.209  lemma linear_componentwise:
   7.210    fixes f:: "'a::euclidean_space \<Rightarrow> 'b::real_inner"
   7.211 @@ -527,7 +527,7 @@
   7.212      unfolding euclidean_representation ..
   7.213  qed
   7.214  
   7.215 -text {* Derivatives of local minima and maxima are zero. *}
   7.216 +text \<open>Derivatives of local minima and maxima are zero.\<close>
   7.217  
   7.218  lemma has_derivative_local_min:
   7.219    fixes f :: "'a::real_normed_vector \<Rightarrow> real"
   7.220 @@ -549,9 +549,9 @@
   7.221        by (rule has_derivative_compose, simp add: deriv)
   7.222      then have "DERIV (\<lambda>r. f (x + r *\<^sub>R h)) 0 :> f' h"
   7.223        unfolding has_field_derivative_def by (simp add: f'.scaleR mult_commute_abs)
   7.224 -    moreover have "0 < d / norm h" using d1 and `h \<noteq> 0` by simp
   7.225 +    moreover have "0 < d / norm h" using d1 and \<open>h \<noteq> 0\<close> by simp
   7.226      moreover have "\<forall>y. \<bar>0 - y\<bar> < d / norm h \<longrightarrow> f (x + 0 *\<^sub>R h) \<le> f (x + y *\<^sub>R h)"
   7.227 -      using `h \<noteq> 0` by (auto simp add: d2 dist_norm pos_less_divide_eq)
   7.228 +      using \<open>h \<noteq> 0\<close> by (auto simp add: d2 dist_norm pos_less_divide_eq)
   7.229      ultimately show "f' h = 0"
   7.230        by (rule DERIV_local_min)
   7.231    qed (simp add: f'.zero)
   7.232 @@ -575,13 +575,13 @@
   7.233    using mono
   7.234  proof
   7.235    assume "\<forall>y\<in>s. f y \<le> f x"
   7.236 -  with `x \<in> s` and `open s` have "eventually (\<lambda>y. f y \<le> f x) (at x)"
   7.237 +  with \<open>x \<in> s\<close> and \<open>open s\<close> have "eventually (\<lambda>y. f y \<le> f x) (at x)"
   7.238      unfolding eventually_at_topological by auto
   7.239    with deriv show ?thesis
   7.240      by (rule has_derivative_local_max)
   7.241  next
   7.242    assume "\<forall>y\<in>s. f x \<le> f y"
   7.243 -  with `x \<in> s` and `open s` have "eventually (\<lambda>y. f x \<le> f y) (at x)"
   7.244 +  with \<open>x \<in> s\<close> and \<open>open s\<close> have "eventually (\<lambda>y. f x \<le> f y) (at x)"
   7.245      unfolding eventually_at_topological by auto
   7.246    with deriv show ?thesis
   7.247      by (rule has_derivative_local_min)
   7.248 @@ -595,7 +595,7 @@
   7.249    shows "(\<Sum>j\<in>Basis. (frechet_derivative f (at x) j \<bullet> k) *\<^sub>R j) = (0::'a)" (is "?D k = 0")
   7.250  proof -
   7.251    let ?f' = "frechet_derivative f (at x)"
   7.252 -  have "x \<in> ball x e" using `0 < e` by simp
   7.253 +  have "x \<in> ball x e" using \<open>0 < e\<close> by simp
   7.254    moreover have "open (ball x e)" by simp
   7.255    moreover have "((\<lambda>x. f x \<bullet> k) has_derivative (\<lambda>h. ?f' h \<bullet> k)) (at x)"
   7.256      using bounded_linear_inner_left diff[unfolded frechet_derivative_works]
   7.257 @@ -661,7 +661,7 @@
   7.258  qed
   7.259  
   7.260  
   7.261 -subsection {* One-dimensional mean value theorem *}
   7.262 +subsection \<open>One-dimensional mean value theorem\<close>
   7.263  
   7.264  lemma mvt:
   7.265    fixes f :: "real \<Rightarrow> real"
   7.266 @@ -736,7 +736,7 @@
   7.267      by auto
   7.268  qed
   7.269  
   7.270 -text {* A nice generalization (see Havin's proof of 5.19 from Rudin's book). *}
   7.271 +text \<open>A nice generalization (see Havin's proof of 5.19 from Rudin's book).\<close>
   7.272  
   7.273  lemma mvt_general:
   7.274    fixes f :: "real \<Rightarrow> 'a::real_inner"
   7.275 @@ -780,7 +780,7 @@
   7.276  qed
   7.277  
   7.278  
   7.279 -subsection {* More general bound theorems *}
   7.280 +subsection \<open>More general bound theorems\<close>
   7.281  
   7.282  lemma differentiable_bound_general:
   7.283    fixes f :: "real \<Rightarrow> 'a::real_normed_vector"
   7.284 @@ -802,18 +802,18 @@
   7.285    note phi_tendsto = assms(3)[simplified continuous_on_def, rule_format]
   7.286    {
   7.287      fix e::real assume "e > 0"
   7.288 -    def e2 \<equiv> "e / 2" with `e > 0` have "e2 > 0" by simp
   7.289 +    def e2 \<equiv> "e / 2" with \<open>e > 0\<close> have "e2 > 0" by simp
   7.290      let ?le = "\<lambda>x1. norm (f x1 - f a) \<le> \<phi> x1 - \<phi> a + e * (x1 - a) + e"
   7.291      def A \<equiv> "{x2. a \<le> x2 \<and> x2 \<le> b \<and> (\<forall>x1\<in>{a ..< x2}. ?le x1)}"
   7.292      have A_subset: "A \<subseteq> {a .. b}" by (auto simp: A_def)
   7.293      {
   7.294        fix x2
   7.295        assume a: "a \<le> x2" "x2 \<le> b" and le: "\<forall>x1\<in>{a..<x2}. ?le x1"
   7.296 -      have "?le x2" using `e > 0`
   7.297 +      have "?le x2" using \<open>e > 0\<close>
   7.298        proof cases
   7.299          assume "x2 \<noteq> a" with a have "a < x2" by simp
   7.300          have "at x2 within {a <..<x2}\<noteq> bot"
   7.301 -          using `a < x2`
   7.302 +          using \<open>a < x2\<close>
   7.303            by (auto simp: trivial_limit_within islimpt_in_closure)
   7.304          moreover
   7.305          have "((\<lambda>x1. (\<phi> x1 - \<phi> a) + e * (x1 - a) + e) ---> (\<phi> x2 - \<phi> a) + e * (x2 - a) + e) (at x2 within {a <..<x2})"
   7.306 @@ -847,30 +847,30 @@
   7.307      have y_all_le: "\<forall>x1\<in>{a..<y}. ?le x1"
   7.308        by (auto simp: y_def less_cSup_iff leI)
   7.309      have "a \<le> y"
   7.310 -      by (metis `a \<in> A` `bdd_above A` cSup_upper y_def)
   7.311 +      by (metis \<open>a \<in> A\<close> \<open>bdd_above A\<close> cSup_upper y_def)
   7.312      have "y \<in> A"
   7.313 -      using y_all_le `a \<le> y` `y \<le> b`
   7.314 +      using y_all_le \<open>a \<le> y\<close> \<open>y \<le> b\<close>
   7.315        by (auto simp: A_def)
   7.316      hence "A = {a .. y}"
   7.317        using A_subset
   7.318        by (auto simp: subset_iff y_def cSup_upper intro: A_ivl)
   7.319 -    from le_cont[OF `a \<le> y` `y \<le> b` y_all_le] have le_y: "?le y" .
   7.320 +    from le_cont[OF \<open>a \<le> y\<close> \<open>y \<le> b\<close> y_all_le] have le_y: "?le y" .
   7.321      {
   7.322 -      assume "a \<noteq> y" with `a \<le> y` have "a < y" by simp
   7.323 +      assume "a \<noteq> y" with \<open>a \<le> y\<close> have "a < y" by simp
   7.324        have "y = b"
   7.325        proof (rule ccontr)
   7.326          assume "y \<noteq> b"
   7.327 -        hence "y < b" using `y \<le> b` by simp
   7.328 +        hence "y < b" using \<open>y \<le> b\<close> by simp
   7.329          let ?F = "at y within {y..<b}"
   7.330          from f' phi'
   7.331          have "(f has_vector_derivative f' y) ?F"
   7.332            and "(\<phi> has_vector_derivative \<phi>' y) ?F"
   7.333 -          using `a < y` `y < b`
   7.334 +          using \<open>a < y\<close> \<open>y < b\<close>
   7.335            by (auto simp add: at_within_open[of _ "{a<..<b}"] has_vector_derivative_def
   7.336              intro!: has_derivative_subset[where s="{a<..<b}" and t="{y..<b}"])
   7.337          hence "\<forall>\<^sub>F x1 in ?F. norm (f x1 - f y - (x1 - y) *\<^sub>R f' y) \<le> e2 * \<bar>x1 - y\<bar>"
   7.338              "\<forall>\<^sub>F x1 in ?F. norm (\<phi> x1 - \<phi> y - (x1 - y) *\<^sub>R \<phi>' y) \<le> e2 * \<bar>x1 - y\<bar>"
   7.339 -          using `e2 > 0`
   7.340 +          using \<open>e2 > 0\<close>
   7.341            by (auto simp: has_derivative_within_alt2 has_vector_derivative_def)
   7.342          moreover
   7.343          have "\<forall>\<^sub>F x1 in ?F. y \<le> x1" "\<forall>\<^sub>F x1 in ?F. x1 < b"
   7.344 @@ -883,7 +883,7 @@
   7.345            from norm_triangle_ineq2[THEN order_trans, OF elim(1)]
   7.346            have "norm (f x1 - f y) \<le> norm (f' y) * \<bar>x1 - y\<bar> + e2 * \<bar>x1 - y\<bar>"
   7.347              by (simp add: ac_simps)
   7.348 -          also have "norm (f' y) \<le> \<phi>' y" using bnd `a < y` `y < b` by simp
   7.349 +          also have "norm (f' y) \<le> \<phi>' y" using bnd \<open>a < y\<close> \<open>y < b\<close> by simp
   7.350            also
   7.351            from elim have "\<phi>' y * \<bar>x1 - y\<bar> \<le> \<phi> x1 - \<phi> y + e2 * \<bar>x1 - y\<bar>"
   7.352              by (simp add: ac_simps)
   7.353 @@ -897,21 +897,21 @@
   7.354          where S: "open S" "y \<in> S" "\<And>x. x\<in>S \<Longrightarrow> x \<in> {y..<b} \<Longrightarrow> ?le' x"
   7.355            unfolding eventually_at_topological
   7.356            by metis
   7.357 -        from `open S` obtain d where d: "\<And>x. dist x y < d \<Longrightarrow> x \<in> S" "d > 0"
   7.358 +        from \<open>open S\<close> obtain d where d: "\<And>x. dist x y < d \<Longrightarrow> x \<in> S" "d > 0"
   7.359            by (force simp: dist_commute open_real_def ball_def
   7.360 -            dest!: bspec[OF _ `y \<in> S`])
   7.361 +            dest!: bspec[OF _ \<open>y \<in> S\<close>])
   7.362          def d' \<equiv> "min ((y + b)/2) (y + (d/2))"
   7.363          have "d' \<in> A"
   7.364            unfolding A_def
   7.365          proof safe
   7.366 -          show "a \<le> d'" using `a < y` `0 < d` `y < b` by (simp add: d'_def)
   7.367 -          show "d' \<le> b" using `y < b` by (simp add: d'_def min_def)
   7.368 +          show "a \<le> d'" using \<open>a < y\<close> \<open>0 < d\<close> \<open>y < b\<close> by (simp add: d'_def)
   7.369 +          show "d' \<le> b" using \<open>y < b\<close> by (simp add: d'_def min_def)
   7.370            fix x1
   7.371            assume x1: "x1 \<in> {a..<d'}"
   7.372            {
   7.373              assume "x1 < y"
   7.374              hence "?le x1"
   7.375 -              using `x1 \<in> {a..<d'}` y_all_le by auto
   7.376 +              using \<open>x1 \<in> {a..<d'}\<close> y_all_le by auto
   7.377            } moreover {
   7.378              assume "x1 \<ge> y"
   7.379              hence x1': "x1 \<in> S" "x1 \<in> {y..<b}" using x1
   7.380 @@ -921,67 +921,67 @@
   7.381              also note S(3)[OF x1']
   7.382              also note le_y
   7.383              finally have "?le x1"
   7.384 -              using `x1 \<ge> y` by (auto simp: algebra_simps)
   7.385 +              using \<open>x1 \<ge> y\<close> by (auto simp: algebra_simps)
   7.386            } ultimately show "?le x1" by arith
   7.387          qed
   7.388          hence "d' \<le> y"
   7.389            unfolding y_def
   7.390            by (rule cSup_upper) simp
   7.391 -        thus False using `d > 0` `y < b`
   7.392 +        thus False using \<open>d > 0\<close> \<open>y < b\<close>
   7.393            by (simp add: d'_def min_def split: split_if_asm)
   7.394        qed
   7.395      } moreover {
   7.396        assume "a = y"
   7.397 -      with `a < b` have "y < b" by simp
   7.398 -      with `a = y` f_cont phi_cont `e2 > 0`
   7.399 +      with \<open>a < b\<close> have "y < b" by simp
   7.400 +      with \<open>a = y\<close> f_cont phi_cont \<open>e2 > 0\<close>
   7.401        have 1: "\<forall>\<^sub>F x in at y within {y..b}. dist (f x) (f y) < e2"
   7.402         and 2: "\<forall>\<^sub>F x in at y within {y..b}. dist (\<phi> x) (\<phi> y) < e2"
   7.403          by (auto simp: continuous_on_def tendsto_iff)
   7.404        have 3: "eventually (\<lambda>x. y < x) (at y within {y..b})"
   7.405          by (auto simp: eventually_at_filter)
   7.406        have 4: "eventually (\<lambda>x::real. x < b) (at y within {y..b})"
   7.407 -        using _ `y < b`
   7.408 +        using _ \<open>y < b\<close>
   7.409          by (rule order_tendstoD) (auto intro!: tendsto_eq_intros)
   7.410        from 1 2 3 4
   7.411        have eventually_le: "eventually (\<lambda>x. ?le x) (at y within {y .. b})"
   7.412        proof eventually_elim
   7.413          case (elim x1)
   7.414          have "norm (f x1 - f a) = norm (f x1 - f y)"
   7.415 -          by (simp add: `a = y`)
   7.416 +          by (simp add: \<open>a = y\<close>)
   7.417          also have "norm (f x1 - f y) \<le> e2"
   7.418 -          using elim `a = y` by (auto simp : dist_norm intro!:  less_imp_le)
   7.419 +          using elim \<open>a = y\<close> by (auto simp : dist_norm intro!:  less_imp_le)
   7.420          also have "\<dots> \<le> e2 + (\<phi> x1 - \<phi> a + e2 + e * (x1 - a))"
   7.421 -          using `0 < e` elim
   7.422 +          using \<open>0 < e\<close> elim
   7.423            by (intro add_increasing2[OF add_nonneg_nonneg order.refl])
   7.424 -            (auto simp: `a = y` dist_norm intro!: mult_nonneg_nonneg)
   7.425 +            (auto simp: \<open>a = y\<close> dist_norm intro!: mult_nonneg_nonneg)
   7.426          also have "\<dots> = \<phi> x1 - \<phi> a + e * (x1 - a) + e"
   7.427            by (simp add: e2_def)
   7.428          finally show "?le x1" .
   7.429        qed
   7.430 -      from this[unfolded eventually_at_topological] `?le y`
   7.431 +      from this[unfolded eventually_at_topological] \<open>?le y\<close>
   7.432        obtain S
   7.433        where S: "open S" "y \<in> S" "\<And>x. x\<in>S \<Longrightarrow> x \<in> {y..b} \<Longrightarrow> ?le x"
   7.434          by metis
   7.435 -      from `open S` obtain d where d: "\<And>x. dist x y < d \<Longrightarrow> x \<in> S" "d > 0"
   7.436 +      from \<open>open S\<close> obtain d where d: "\<And>x. dist x y < d \<Longrightarrow> x \<in> S" "d > 0"
   7.437          by (force simp: dist_commute open_real_def ball_def
   7.438 -          dest!: bspec[OF _ `y \<in> S`])
   7.439 +          dest!: bspec[OF _ \<open>y \<in> S\<close>])
   7.440        def d' \<equiv> "min b (y + (d/2))"
   7.441        have "d' \<in> A"
   7.442          unfolding A_def
   7.443        proof safe
   7.444 -        show "a \<le> d'" using `a = y` `0 < d` `y < b` by (simp add: d'_def)
   7.445 +        show "a \<le> d'" using \<open>a = y\<close> \<open>0 < d\<close> \<open>y < b\<close> by (simp add: d'_def)
   7.446          show "d' \<le> b" by (simp add: d'_def)
   7.447          fix x1
   7.448          assume "x1 \<in> {a..<d'}"
   7.449          hence "x1 \<in> S" "x1 \<in> {y..b}"
   7.450 -          by (auto simp: `a = y` d'_def dist_real_def intro!: d )
   7.451 +          by (auto simp: \<open>a = y\<close> d'_def dist_real_def intro!: d )
   7.452          thus "?le x1"
   7.453            by (rule S)
   7.454        qed
   7.455        hence "d' \<le> y"
   7.456          unfolding y_def
   7.457          by (rule cSup_upper) simp
   7.458 -      hence "y = b" using `d > 0` `y < b`
   7.459 +      hence "y = b" using \<open>d > 0\<close> \<open>y < b\<close>
   7.460          by (simp add: d'_def)
   7.461      } ultimately have "y = b"
   7.462        by auto
   7.463 @@ -991,7 +991,7 @@
   7.464    {
   7.465      fix e::real assume "e > 0"
   7.466      hence "norm (f b - f a) \<le> \<phi> b - \<phi> a + e"
   7.467 -      using *[of "e / (b - a + 1)"] `a < b` by simp
   7.468 +      using *[of "e / (b - a + 1)"] \<open>a < b\<close> by simp
   7.469    } thus ?thesis
   7.470      by (rule field_le_epsilon)
   7.471  qed
   7.472 @@ -1087,7 +1087,7 @@
   7.473    finally have "convex ?G" .
   7.474    moreover have "?G \<subseteq> G" "x0 \<in> ?G" "x0 + a \<in> ?G" using assms by (auto intro: image_eqI[where x=1])
   7.475    ultimately show ?thesis
   7.476 -    using has_derivative_subset[OF f' `?G \<subseteq> G`] B
   7.477 +    using has_derivative_subset[OF f' \<open>?G \<subseteq> G\<close>] B
   7.478        differentiable_bound[of "(\<lambda>x. x0 + x *\<^sub>R a) ` {0..1}" f f' B "x0 + a" x0]
   7.479      by (auto simp: ac_simps)
   7.480  qed
   7.481 @@ -1107,12 +1107,12 @@
   7.482        bounded_linear.has_derivative[OF has_derivative_bounded_linear, OF f'])
   7.483    from B have B: "\<forall>x\<in>{0..1}. onorm (\<lambda>i. f' (a + x *\<^sub>R (b - a)) i - f' x0 i) \<le> B"
   7.484       using assms by (auto simp: fun_diff_def)
   7.485 -  from differentiable_bound_segment[OF assms(1) g B] `x0 \<in> S`
   7.486 +  from differentiable_bound_segment[OF assms(1) g B] \<open>x0 \<in> S\<close>
   7.487    show ?thesis
   7.488      by (simp add: g_def field_simps linear_sub[OF has_derivative_linear[OF f']])
   7.489  qed
   7.490  
   7.491 -text {* In particular. *}
   7.492 +text \<open>In particular.\<close>
   7.493  
   7.494  lemma has_derivative_zero_constant:
   7.495    fixes f :: "'a::real_normed_vector \<Rightarrow> 'b::real_normed_vector"
   7.496 @@ -1143,24 +1143,24 @@
   7.497    assumes f: "\<And>x. x \<in> s \<Longrightarrow> (f has_derivative (\<lambda>x. 0)) (at x)"
   7.498    assumes "x \<in> s" "y \<in> s"
   7.499    shows "f x = f y"
   7.500 -proof (rule connected_local_const[where f=f, OF `connected s` `x\<in>s` `y\<in>s`])
   7.501 +proof (rule connected_local_const[where f=f, OF \<open>connected s\<close> \<open>x\<in>s\<close> \<open>y\<in>s\<close>])
   7.502    show "\<forall>a\<in>s. eventually (\<lambda>b. f a = f b) (at a within s)"
   7.503    proof
   7.504      fix a assume "a \<in> s"
   7.505 -    with `open s` obtain e where "0 < e" "ball a e \<subseteq> s"
   7.506 +    with \<open>open s\<close> obtain e where "0 < e" "ball a e \<subseteq> s"
   7.507        by (rule openE)
   7.508      then have "\<exists>c. \<forall>x\<in>ball a e. f x = c"
   7.509        by (intro has_derivative_zero_constant)
   7.510           (auto simp: at_within_open[OF _ open_ball] f convex_ball)
   7.511 -    with `0<e` have "\<forall>x\<in>ball a e. f a = f x"
   7.512 +    with \<open>0<e\<close> have "\<forall>x\<in>ball a e. f a = f x"
   7.513        by auto
   7.514      then show "eventually (\<lambda>b. f a = f b) (at a within s)"
   7.515 -      using `0<e` unfolding eventually_at_topological
   7.516 +      using \<open>0<e\<close> unfolding eventually_at_topological
   7.517        by (intro exI[of _ "ball a e"]) auto
   7.518    qed
   7.519  qed
   7.520  
   7.521 -subsection {* Differentiability of inverse function (most basic form) *}
   7.522 +subsection \<open>Differentiability of inverse function (most basic form)\<close>
   7.523  
   7.524  lemma has_derivative_inverse_basic:
   7.525    fixes f :: "'a::real_normed_vector \<Rightarrow> 'b::real_normed_vector"
   7.526 @@ -1183,7 +1183,7 @@
   7.527      norm (z - y) < d \<longrightarrow> norm (g z - g y - g'(z - y)) \<le> e * norm (g z - g y)"
   7.528    proof (rule, rule)
   7.529      case goal1
   7.530 -    have *: "e / C > 0" using `e > 0` C(1) by auto
   7.531 +    have *: "e / C > 0" using \<open>e > 0\<close> C(1) by auto
   7.532      obtain d0 where d0:
   7.533          "0 < d0"
   7.534          "\<forall>ya. norm (ya - g y) < d0 \<longrightarrow> norm (f ya - f (g y) - f' (ya - g y)) \<le> e / C * norm (ya - g y)"
   7.535 @@ -1218,7 +1218,7 @@
   7.536        have "norm (g z - g y - g' (z - y)) \<le> norm (g' (f (g z) - y - f' (g z - g y)))"
   7.537          unfolding g'.diff f'.diff
   7.538          unfolding assms(3)[unfolded o_def id_def, THEN fun_cong]
   7.539 -        unfolding assms(7)[rule_format,OF `z\<in>t`]
   7.540 +        unfolding assms(7)[rule_format,OF \<open>z\<in>t\<close>]
   7.541          apply (subst norm_minus_cancel[symmetric])
   7.542          apply auto
   7.543          done
   7.544 @@ -1226,7 +1226,7 @@
   7.545          by (rule C(2))
   7.546        also have "\<dots> \<le> (e / C) * norm (g z - g y) * C"
   7.547          apply (rule mult_right_mono)
   7.548 -        apply (rule d0(2)[rule_format,unfolded assms(7)[rule_format,OF `y\<in>t`]])
   7.549 +        apply (rule d0(2)[rule_format,unfolded assms(7)[rule_format,OF \<open>y\<in>t\<close>]])
   7.550          apply (cases "z = y")
   7.551          defer
   7.552          apply (rule d1(2)[unfolded dist_norm,rule_format])
   7.553 @@ -1275,7 +1275,7 @@
   7.554      apply rule
   7.555    proof -
   7.556      case goal1
   7.557 -    hence *: "e / B >0" by (metis `0 < B` divide_pos_pos)
   7.558 +    hence *: "e / B >0" by (metis \<open>0 < B\<close> divide_pos_pos)
   7.559      obtain d' where d':
   7.560          "0 < d'"
   7.561          "\<forall>z. norm (z - y) < d' \<longrightarrow> norm (g z - g y - g' (z - y)) \<le> e / B * norm (g z - g y)"
   7.562 @@ -1291,9 +1291,9 @@
   7.563        then have "norm (g z - g y - g' (z - y)) \<le> e / B * norm(g z - g y)"
   7.564          using d' k by auto
   7.565        also have "\<dots> \<le> e * norm (z - y)"
   7.566 -        unfolding times_divide_eq_left pos_divide_le_eq[OF `B>0`]
   7.567 +        unfolding times_divide_eq_left pos_divide_le_eq[OF \<open>B>0\<close>]
   7.568          using lem2[THEN spec[where x=z]]
   7.569 -        using k as using `e > 0`
   7.570 +        using k as using \<open>e > 0\<close>
   7.571          by (auto simp add: field_simps)
   7.572        finally show "norm (g z - g y - g' (z - y)) \<le> e * norm (z - y)"
   7.573          by simp
   7.574 @@ -1301,7 +1301,7 @@
   7.575    qed
   7.576  qed
   7.577  
   7.578 -text {* Simply rewrite that based on the domain point x. *}
   7.579 +text \<open>Simply rewrite that based on the domain point x.\<close>
   7.580  
   7.581  lemma has_derivative_inverse_basic_x:
   7.582    fixes f :: "'a::real_normed_vector \<Rightarrow> 'b::real_normed_vector"
   7.583 @@ -1319,7 +1319,7 @@
   7.584    apply auto
   7.585    done
   7.586  
   7.587 -text {* This is the version in Dieudonne', assuming continuity of f and g. *}
   7.588 +text \<open>This is the version in Dieudonne', assuming continuity of f and g.\<close>
   7.589  
   7.590  lemma has_derivative_inverse_dieudonne:
   7.591    fixes f :: "'a::real_normed_vector \<Rightarrow> 'b::real_normed_vector"
   7.592 @@ -1339,7 +1339,7 @@
   7.593    apply auto
   7.594    done
   7.595  
   7.596 -text {* Here's the simplest way of not assuming much about g. *}
   7.597 +text \<open>Here's the simplest way of not assuming much about g.\<close>
   7.598  
   7.599  lemma has_derivative_inverse:
   7.600    fixes f :: "'a::real_normed_vector \<Rightarrow> 'b::real_normed_vector"
   7.601 @@ -1361,7 +1361,7 @@
   7.602        using interior_subset
   7.603        by auto
   7.604      have "f (g y) = y"
   7.605 -      unfolding * and assms(5)[rule_format,OF `x\<in>s`] ..
   7.606 +      unfolding * and assms(5)[rule_format,OF \<open>x\<in>s\<close>] ..
   7.607    } note * = this
   7.608    show ?thesis
   7.609      apply (rule has_derivative_inverse_basic_x[OF assms(6-8)])
   7.610 @@ -1373,7 +1373,7 @@
   7.611  qed
   7.612  
   7.613  
   7.614 -subsection {* Proving surjectivity via Brouwer fixpoint theorem *}
   7.615 +subsection \<open>Proving surjectivity via Brouwer fixpoint theorem\<close>
   7.616  
   7.617  lemma brouwer_surjective:
   7.618    fixes f :: "'n::euclidean_space \<Rightarrow> 'n"
   7.619 @@ -1410,7 +1410,7 @@
   7.620    apply auto
   7.621    done
   7.622  
   7.623 -text {* See Sussmann: "Multidifferential calculus", Theorem 2.1.1 *}
   7.624 +text \<open>See Sussmann: "Multidifferential calculus", Theorem 2.1.1\<close>
   7.625  
   7.626  lemma sussmann_open_mapping:
   7.627    fixes f :: "'a::real_normed_vector \<Rightarrow> 'b::euclidean_space"
   7.628 @@ -1567,10 +1567,10 @@
   7.629    qed (insert e, auto)
   7.630  qed
   7.631  
   7.632 -text {* Hence the following eccentric variant of the inverse function theorem.
   7.633 +text \<open>Hence the following eccentric variant of the inverse function theorem.
   7.634    This has no continuity assumptions, but we do need the inverse function.
   7.635    We could put @{text "f' \<circ> g = I"} but this happens to fit with the minimal linear
   7.636 -  algebra theory I've set up so far. *}
   7.637 +  algebra theory I've set up so far.\<close>
   7.638  
   7.639  (* move  before left_inverse_linear in Euclidean_Space*)
   7.640  
   7.641 @@ -1630,7 +1630,7 @@
   7.642      fix e :: real
   7.643      assume "e > 0"
   7.644      then have "f x \<in> interior (f ` (ball x e \<inter> s))"
   7.645 -      using *[rule_format,of "ball x e \<inter> s"] `x \<in> s`
   7.646 +      using *[rule_format,of "ball x e \<inter> s"] \<open>x \<in> s\<close>
   7.647        by (auto simp add: interior_open[OF open_ball] interior_open[OF assms(1)])
   7.648      then obtain d where d: "0 < d" "ball (f x) d \<subseteq> f ` (ball x e \<inter> s)"
   7.649        unfolding mem_interior by blast
   7.650 @@ -1648,14 +1648,14 @@
   7.651        then have "g y \<in> ball x e \<inter> s"
   7.652          using assms(4) by auto
   7.653        then show "dist (g y) (g (f x)) < e"
   7.654 -        using assms(4)[rule_format,OF `x \<in> s`]
   7.655 +        using assms(4)[rule_format,OF \<open>x \<in> s\<close>]
   7.656          by (auto simp add: dist_commute)
   7.657      qed
   7.658    qed
   7.659    moreover have "f x \<in> interior (f ` s)"
   7.660      apply (rule sussmann_open_mapping)
   7.661      apply (rule assms ling)+
   7.662 -    using interior_open[OF assms(1)] and `x \<in> s`
   7.663 +    using interior_open[OF assms(1)] and \<open>x \<in> s\<close>
   7.664      apply auto
   7.665      done
   7.666    moreover have "\<And>y. y \<in> interior (f ` s) \<Longrightarrow> f (g y) = y"
   7.667 @@ -1671,7 +1671,7 @@
   7.668      by (metis has_derivative_inverse_basic_x open_interior)
   7.669  qed
   7.670  
   7.671 -text {* A rewrite based on the other domain. *}
   7.672 +text \<open>A rewrite based on the other domain.\<close>
   7.673  
   7.674  lemma has_derivative_inverse_strong_x:
   7.675    fixes f :: "'a::euclidean_space \<Rightarrow> 'a"
   7.676 @@ -1687,7 +1687,7 @@
   7.677    unfolding assms(7)
   7.678    by simp
   7.679  
   7.680 -text {* On a region. *}
   7.681 +text \<open>On a region.\<close>
   7.682  
   7.683  lemma has_derivative_inverse_on:
   7.684    fixes f :: "'n::euclidean_space \<Rightarrow> 'n"
   7.685 @@ -1707,11 +1707,11 @@
   7.686    apply auto
   7.687    done
   7.688  
   7.689 -text {* Invertible derivative continous at a point implies local
   7.690 +text \<open>Invertible derivative continous at a point implies local
   7.691  injectivity. It's only for this we need continuity of the derivative,
   7.692  except of course if we want the fact that the inverse derivative is
   7.693  also continuous. So if we know for some other reason that the inverse
   7.694 -function exists, it's OK. *}
   7.695 +function exists, it's OK.\<close>
   7.696  
   7.697  lemma bounded_linear_sub: "bounded_linear f \<Longrightarrow> bounded_linear g \<Longrightarrow> bounded_linear (\<lambda>x. f x - g x)"
   7.698    using bounded_linear_add[of f "\<lambda>x. - g x"] bounded_linear_minus[of g]
   7.699 @@ -1746,14 +1746,14 @@
   7.700        "0 < d1"
   7.701        "\<And>x. dist a x < d1 \<Longrightarrow> onorm (\<lambda>v. f' x v - f' a v) < k"
   7.702      using assms(6) * by blast
   7.703 -  from `open s` obtain d2 where "d2 > 0" "ball a d2 \<subseteq> s"
   7.704 -    using `a\<in>s` ..
   7.705 +  from \<open>open s\<close> obtain d2 where "d2 > 0" "ball a d2 \<subseteq> s"
   7.706 +    using \<open>a\<in>s\<close> ..
   7.707    obtain d2 where "d2 > 0" "ball a d2 \<subseteq> s"
   7.708      using assms(2,1) ..
   7.709    obtain d2 where d2: "0 < d2" "ball a d2 \<subseteq> s"
   7.710      using assms(2)
   7.711      unfolding open_contains_ball
   7.712 -    using `a\<in>s` by blast
   7.713 +    using \<open>a\<in>s\<close> by blast
   7.714    obtain d where d: "0 < d" "d < d1" "d < d2"
   7.715      using real_lbound_gt_zero[OF d1(1) d2(1)] by blast
   7.716    show ?thesis
   7.717 @@ -1789,13 +1789,13 @@
   7.718            defer
   7.719            apply (rule has_derivative_sub[where g'="\<lambda>x.0",unfolded diff_0_right])
   7.720            apply (rule has_derivative_at_within)
   7.721 -          using assms(5) and `u \<in> s` `a \<in> s`
   7.722 +          using assms(5) and \<open>u \<in> s\<close> \<open>a \<in> s\<close>
   7.723            apply (auto intro!: derivative_intros bounded_linear.has_derivative[of _ "\<lambda>x. x"] has_derivative_bounded_linear)
   7.724            done
   7.725          have **: "bounded_linear (\<lambda>x. f' u x - f' a x)" "bounded_linear (\<lambda>x. f' a x - f' u x)"
   7.726            apply (rule_tac[!] bounded_linear_sub)
   7.727            apply (rule_tac[!] has_derivative_bounded_linear)
   7.728 -          using assms(5) `u \<in> s` `a \<in> s`
   7.729 +          using assms(5) \<open>u \<in> s\<close> \<open>a \<in> s\<close>
   7.730            apply auto
   7.731            done
   7.732          have "onorm (\<lambda>v. v - g' (f' u v)) \<le> onorm g' * onorm (\<lambda>w. f' a w - f' u w)"
   7.733 @@ -1828,7 +1828,7 @@
   7.734  qed
   7.735  
   7.736  
   7.737 -subsection {* Uniformly convergent sequence of derivatives *}
   7.738 +subsection \<open>Uniformly convergent sequence of derivatives\<close>
   7.739  
   7.740  lemma has_derivative_sequence_lipschitz_lemma:
   7.741    fixes f :: "nat \<Rightarrow> 'a::real_normed_vector \<Rightarrow> 'b::real_normed_vector"
   7.742 @@ -1847,7 +1847,7 @@
   7.743      fix x
   7.744      assume "x \<in> s"
   7.745      show "((\<lambda>a. f m a - f n a) has_derivative (\<lambda>h. f' m x h - f' n x h)) (at x within s)"
   7.746 -      by (rule derivative_intros assms(2)[rule_format] `x\<in>s`)+
   7.747 +      by (rule derivative_intros assms(2)[rule_format] \<open>x\<in>s\<close>)+
   7.748      show "onorm (\<lambda>h. f' m x h - f' n x h) \<le> 2 * e"
   7.749      proof (rule onorm_bound)
   7.750        fix h
   7.751 @@ -1856,12 +1856,12 @@
   7.752          unfolding norm_minus_commute
   7.753          by (auto simp add: algebra_simps)
   7.754        also have "\<dots> \<le> e * norm h + e * norm h"
   7.755 -        using assms(3)[rule_format,OF `N \<le> m` `x \<in> s`, of h]
   7.756 -        using assms(3)[rule_format,OF `N \<le> n` `x \<in> s`, of h]
   7.757 +        using assms(3)[rule_format,OF \<open>N \<le> m\<close> \<open>x \<in> s\<close>, of h]
   7.758 +        using assms(3)[rule_format,OF \<open>N \<le> n\<close> \<open>x \<in> s\<close>, of h]
   7.759          by (auto simp add: field_simps)
   7.760        finally show "norm (f' m x h - f' n x h) \<le> 2 * e * norm h"
   7.761          by auto
   7.762 -    qed (simp add: `0 \<le> e`)
   7.763 +    qed (simp add: \<open>0 \<le> e\<close>)
   7.764    qed
   7.765  qed
   7.766  
   7.767 @@ -1874,13 +1874,13 @@
   7.768      norm ((f m x - f n x) - (f m y - f n y)) \<le> e * norm (x - y)"
   7.769  proof (rule, rule)
   7.770    case goal1 have *: "2 * (1/2* e) = e" "1/2 * e >0"
   7.771 -    using `e > 0` by auto
   7.772 +    using \<open>e > 0\<close> by auto
   7.773    obtain N where "\<forall>n\<ge>N. \<forall>x\<in>s. \<forall>h. norm (f' n x h - g' x h) \<le> 1 / 2 * e * norm h"
   7.774      using assms(3) *(2) by blast
   7.775    then show ?case
   7.776      apply (rule_tac x=N in exI)
   7.777      apply (rule has_derivative_sequence_lipschitz_lemma[where e="1/2 *e", unfolded *])
   7.778 -    using assms `e > 0`
   7.779 +    using assms \<open>e > 0\<close>
   7.780      apply auto
   7.781      done
   7.782  qed
   7.783 @@ -1935,7 +1935,7 @@
   7.784              unfolding dist_norm
   7.785              by (rule norm_triangle_sub)
   7.786            also have "\<dots> \<le> norm (f m x0 - f n x0) + e / 2"
   7.787 -            using N[rule_format,OF _ _ `x\<in>s` `x0\<in>s`, of m n] and as and False
   7.788 +            using N[rule_format,OF _ _ \<open>x\<in>s\<close> \<open>x0\<in>s\<close>, of m n] and as and False
   7.789              by auto
   7.790            also have "\<dots> < e / 2 + e / 2"
   7.791              apply (rule add_strict_right_mono)
   7.792 @@ -1997,25 +1997,25 @@
   7.793        proof (cases "u = 0")
   7.794          case True
   7.795          have "eventually (\<lambda>n. norm (f' n x u - g' x u) \<le> e * norm u) sequentially"
   7.796 -          using assms(3)[folded eventually_sequentially] and `0 < e` and `x \<in> s`
   7.797 +          using assms(3)[folded eventually_sequentially] and \<open>0 < e\<close> and \<open>x \<in> s\<close>
   7.798            by (fast elim: eventually_elim1)
   7.799          then show ?thesis
   7.800 -          using `u = 0` and `0 < e` by (auto elim: eventually_elim1)
   7.801 +          using \<open>u = 0\<close> and \<open>0 < e\<close> by (auto elim: eventually_elim1)
   7.802        next
   7.803          case False
   7.804 -        with `0 < e` have "0 < e / norm u" by simp
   7.805 +        with \<open>0 < e\<close> have "0 < e / norm u" by simp
   7.806          then have "eventually (\<lambda>n. norm (f' n x u - g' x u) \<le> e / norm u * norm u) sequentially"
   7.807 -          using assms(3)[folded eventually_sequentially] and `x \<in> s`
   7.808 +          using assms(3)[folded eventually_sequentially] and \<open>x \<in> s\<close>
   7.809            by (fast elim: eventually_elim1)
   7.810          then show ?thesis
   7.811 -          using `u \<noteq> 0` by simp
   7.812 +          using \<open>u \<noteq> 0\<close> by simp
   7.813        qed
   7.814      qed
   7.815      show "bounded_linear (g' x)"
   7.816      proof
   7.817        fix x' y z :: 'a
   7.818        fix c :: real
   7.819 -      note lin = assms(2)[rule_format,OF `x\<in>s`,THEN has_derivative_bounded_linear]
   7.820 +      note lin = assms(2)[rule_format,OF \<open>x\<in>s\<close>,THEN has_derivative_bounded_linear]
   7.821        show "g' x (c *\<^sub>R x') = c *\<^sub>R g' x x'"
   7.822          apply (rule tendsto_unique[OF trivial_limit_sequentially])
   7.823          apply (rule lem3[rule_format])
   7.824 @@ -2031,9 +2031,9 @@
   7.825          apply (rule lem3[rule_format])+
   7.826          done
   7.827        obtain N where N: "\<forall>h. norm (f' N x h - g' x h) \<le> 1 * norm h"
   7.828 -        using assms(3) `x \<in> s` by (fast intro: zero_less_one)
   7.829 +        using assms(3) \<open>x \<in> s\<close> by (fast intro: zero_less_one)
   7.830        have "bounded_linear (f' N x)"
   7.831 -        using assms(2) `x \<in> s` by fast
   7.832 +        using assms(2) \<open>x \<in> s\<close> by fast
   7.833        from bounded_linear.bounded [OF this]
   7.834        obtain K where K: "\<forall>h. norm (f' N x h) \<le> norm h * K" ..
   7.835        {
   7.836 @@ -2061,7 +2061,7 @@
   7.837          using lem2 * by blast
   7.838        let ?N = "max N1 N2"
   7.839        have "eventually (\<lambda>y. norm (f ?N y - f ?N x - f' ?N x (y - x)) \<le> e / 3 * norm (y - x)) (at x within s)"
   7.840 -        using assms(2)[unfolded has_derivative_within_alt2] and `x \<in> s` and * by fast
   7.841 +        using assms(2)[unfolded has_derivative_within_alt2] and \<open>x \<in> s\<close> and * by fast
   7.842        moreover have "eventually (\<lambda>y. y \<in> s) (at x within s)"
   7.843          unfolding eventually_at by (fast intro: zero_less_one)
   7.844        ultimately show ?case
   7.845 @@ -2070,14 +2070,14 @@
   7.846          assume "y \<in> s"
   7.847          assume "norm (f ?N y - f ?N x - f' ?N x (y - x)) \<le> e / 3 * norm (y - x)"
   7.848          moreover have "norm (g y - g x - (f ?N y - f ?N x)) \<le> e / 3 * norm (y - x)"
   7.849 -          using N2[rule_format, OF _ `y \<in> s` `x \<in> s`]
   7.850 +          using N2[rule_format, OF _ \<open>y \<in> s\<close> \<open>x \<in> s\<close>]
   7.851            by (simp add: norm_minus_commute)
   7.852          ultimately have "norm (g y - g x - f' ?N x (y - x)) \<le> 2 * e / 3 * norm (y - x)"
   7.853            using norm_triangle_le[of "g y - g x - (f ?N y - f ?N x)" "f ?N y - f ?N x - f' ?N x (y - x)" "2 * e / 3 * norm (y - x)"]
   7.854            by (auto simp add: algebra_simps)
   7.855          moreover
   7.856          have " norm (f' ?N x (y - x) - g' x (y - x)) \<le> e / 3 * norm (y - x)"
   7.857 -          using N1 `x \<in> s` by auto
   7.858 +          using N1 \<open>x \<in> s\<close> by auto
   7.859          ultimately show "norm (g y - g x - g' x (y - x)) \<le> e * norm (y - x)"
   7.860            using norm_triangle_le[of "g y - g x - f' (max N1 N2) x (y - x)" "f' (max N1 N2) x (y - x) - g' x (y - x)"]
   7.861            by (auto simp add: algebra_simps)
   7.862 @@ -2087,7 +2087,7 @@
   7.863    then show ?thesis by fast
   7.864  qed
   7.865  
   7.866 -text {* Can choose to line up antiderivatives if we want. *}
   7.867 +text \<open>Can choose to line up antiderivatives if we want.\<close>
   7.868  
   7.869  lemma has_antiderivative_sequence:
   7.870    fixes f :: "nat \<Rightarrow> 'a::real_normed_vector \<Rightarrow> 'b::banach"
   7.871 @@ -2105,7 +2105,7 @@
   7.872      apply (rule *)
   7.873      apply (rule has_derivative_sequence[OF assms(1) _ assms(3), of "\<lambda>n x. f n x + (f 0 a - f n a)"])
   7.874      apply (metis assms(2) has_derivative_add_const)
   7.875 -    apply (rule `a \<in> s`)
   7.876 +    apply (rule \<open>a \<in> s\<close>)
   7.877      apply auto
   7.878      done
   7.879  qed auto
   7.880 @@ -2138,7 +2138,7 @@
   7.881      fix e :: real
   7.882      assume "e > 0"
   7.883      obtain N where N: "inverse (real (Suc N)) < e"
   7.884 -      using reals_Archimedean[OF `e>0`] ..
   7.885 +      using reals_Archimedean[OF \<open>e>0\<close>] ..
   7.886      show "\<exists>N. \<forall>n\<ge>N. \<forall>x\<in>s. \<forall>h. norm (f' n x h - g' x h) \<le> e * norm h"
   7.887        apply (rule_tac x=N in exI)
   7.888      proof rule+
   7.889 @@ -2160,7 +2160,7 @@
   7.890  qed
   7.891  
   7.892  
   7.893 -subsection {* Differentiation of a series *}
   7.894 +subsection \<open>Differentiation of a series\<close>
   7.895  
   7.896  lemma has_derivative_series:
   7.897    fixes f :: "nat \<Rightarrow> 'a::real_normed_vector \<Rightarrow> 'b::banach"
   7.898 @@ -2178,7 +2178,7 @@
   7.899    apply auto
   7.900    done
   7.901  
   7.902 -text {* Considering derivative @{typ "real \<Rightarrow> 'b\<Colon>real_normed_vector"} as a vector. *}
   7.903 +text \<open>Considering derivative @{typ "real \<Rightarrow> 'b\<Colon>real_normed_vector"} as a vector.\<close>
   7.904  
   7.905  definition "vector_derivative f net = (SOME f'. (f has_vector_derivative f') net)"
   7.906  
   7.907 @@ -2200,7 +2200,7 @@
   7.908  proof
   7.909    assume ?l
   7.910    obtain f' where f': "(f has_derivative f') net"
   7.911 -    using `?l` unfolding differentiable_def ..
   7.912 +    using \<open>?l\<close> unfolding differentiable_def ..
   7.913    then interpret bounded_linear f'
   7.914      by auto
   7.915    show ?r
     8.1 --- a/src/HOL/Multivariate_Analysis/Determinants.thy	Wed Jun 10 19:05:19 2015 +0200
     8.2 +++ b/src/HOL/Multivariate_Analysis/Determinants.thy	Wed Jun 10 19:10:20 2015 +0200
     8.3 @@ -2,7 +2,7 @@
     8.4      Author:     Amine Chaieb, University of Cambridge
     8.5  *)
     8.6  
     8.7 -section {* Traces, Determinant of square matrices and some properties *}
     8.8 +section \<open>Traces, Determinant of square matrices and some properties\<close>
     8.9  
    8.10  theory Determinants
    8.11  imports
    8.12 @@ -10,7 +10,7 @@
    8.13    "~~/src/HOL/Library/Permutations"
    8.14  begin
    8.15  
    8.16 -subsection{* First some facts about products*}
    8.17 +subsection\<open>First some facts about products\<close>
    8.18  
    8.19  lemma setprod_add_split:
    8.20    fixes m n :: nat
    8.21 @@ -78,7 +78,7 @@
    8.22    using setprod_le[OF fS f] unfolding setprod.neutral_const .
    8.23  
    8.24  
    8.25 -subsection {* Trace *}
    8.26 +subsection \<open>Trace\<close>
    8.27  
    8.28  definition trace :: "'a::semiring_1^'n^'n \<Rightarrow> 'a"
    8.29    where "trace A = setsum (\<lambda>i. ((A$i)$i)) (UNIV::'n set)"
    8.30 @@ -101,14 +101,14 @@
    8.31    apply (simp add: mult.commute)
    8.32    done
    8.33  
    8.34 -text {* Definition of determinant. *}
    8.35 +text \<open>Definition of determinant.\<close>
    8.36  
    8.37  definition det:: "'a::comm_ring_1^'n^'n \<Rightarrow> 'a" where
    8.38    "det A =
    8.39      setsum (\<lambda>p. of_int (sign p) * setprod (\<lambda>i. A$i$p i) (UNIV :: 'n set))
    8.40        {p. p permutes (UNIV :: 'n set)}"
    8.41  
    8.42 -text {* A few general lemmas we need below. *}
    8.43 +text \<open>A few general lemmas we need below.\<close>
    8.44  
    8.45  lemma setprod_permute:
    8.46    assumes p: "p permutes S"
    8.47 @@ -120,7 +120,7 @@
    8.48    shows "p permutes {m..n} \<Longrightarrow> setprod f {m..n} = setprod (f \<circ> p) {m..n}"
    8.49    by (blast intro!: setprod_permute)
    8.50  
    8.51 -text {* Basic determinant properties. *}
    8.52 +text \<open>Basic determinant properties.\<close>
    8.53  
    8.54  lemma det_transpose: "det (transpose A) = det (A::'a::comm_ring_1 ^'n^'n)"
    8.55  proof -
    8.56 @@ -555,10 +555,10 @@
    8.57      done
    8.58  qed
    8.59  
    8.60 -text {*
    8.61 +text \<open>
    8.62    May as well do this, though it's a bit unsatisfactory since it ignores
    8.63    exact duplicates by considering the rows/columns as a set.
    8.64 -*}
    8.65 +\<close>
    8.66  
    8.67  lemma det_dependent_rows:
    8.68    fixes A:: "real^'n^'n"
    8.69 @@ -598,7 +598,7 @@
    8.70    shows "det A = 0"
    8.71    by (metis d det_dependent_rows rows_transpose det_transpose)
    8.72  
    8.73 -text {* Multilinearity and the multiplication formula. *}
    8.74 +text \<open>Multilinearity and the multiplication formula.\<close>
    8.75  
    8.76  lemma Cart_lambda_cong: "(\<And>x. f x = g x) \<Longrightarrow> (vec_lambda f::'a^'n) = (vec_lambda g :: 'a^'n)"
    8.77    by (rule iffD1[OF vec_lambda_unique]) vector
    8.78 @@ -673,7 +673,7 @@
    8.79    have thif2: "\<And>a b c d e. (if a then b else if c then d else e) =
    8.80       (if c then (if a then b else d) else (if a then b else e))"
    8.81      by simp
    8.82 -  from `z \<notin> T` have nz: "\<And>i. i \<in> T \<Longrightarrow> i = z \<longleftrightarrow> False"
    8.83 +  from \<open>z \<notin> T\<close> have nz: "\<And>i. i \<in> T \<Longrightarrow> i = z \<longleftrightarrow> False"
    8.84      by auto
    8.85    have "det (\<chi> i. if i \<in> insert z T then setsum (a i) S else c i) =
    8.86      det (\<chi> i. if i = z then setsum (a i) S else if i \<in> T then setsum (a i) S else c i)"
    8.87 @@ -691,7 +691,7 @@
    8.88                                  else c i))"
    8.89      unfolding insert.hyps unfolding setsum.cartesian_product by blast
    8.90    show ?case unfolding tha
    8.91 -    using `z \<notin> T`
    8.92 +    using \<open>z \<notin> T\<close>
    8.93      by (intro setsum.reindex_bij_witness[where i="?k" and j="?h"])
    8.94         (auto intro!: cong[OF refl[of det]] simp: vec_eq_iff)
    8.95  qed
    8.96 @@ -852,7 +852,7 @@
    8.97    finally show ?thesis unfolding th2 .
    8.98  qed
    8.99  
   8.100 -text {* Relation to invertibility. *}
   8.101 +text \<open>Relation to invertibility.\<close>
   8.102  
   8.103  lemma invertible_left_inverse:
   8.104    fixes A :: "real^'n^'n"
   8.105 @@ -922,7 +922,7 @@
   8.106      by blast
   8.107  qed
   8.108  
   8.109 -text {* Cramer's rule. *}
   8.110 +text \<open>Cramer's rule.\<close>
   8.111  
   8.112  lemma cramer_lemma_transpose:
   8.113    fixes A:: "real^'n^'n"
   8.114 @@ -1010,7 +1010,7 @@
   8.115      by auto
   8.116  qed
   8.117  
   8.118 -text {* Orthogonality of a transformation and matrix. *}
   8.119 +text \<open>Orthogonality of a transformation and matrix.\<close>
   8.120  
   8.121  definition "orthogonal_transformation f \<longleftrightarrow> linear f \<and> (\<forall>v w. f v \<bullet> f w = v \<bullet> w)"
   8.122  
   8.123 @@ -1118,7 +1118,7 @@
   8.124    then show ?thesis unfolding th .
   8.125  qed
   8.126  
   8.127 -text {* Linearity of scaling, and hence isometry, that preserves origin. *}
   8.128 +text \<open>Linearity of scaling, and hence isometry, that preserves origin.\<close>
   8.129  
   8.130  lemma scaling_linear:
   8.131    fixes f :: "real ^'n \<Rightarrow> real ^'n"
   8.132 @@ -1146,7 +1146,7 @@
   8.133    "f (0:: real^'n) = (0:: real^'n) \<Longrightarrow> \<forall>x y. dist(f x) (f y) = dist x y \<Longrightarrow> linear f"
   8.134    by (rule scaling_linear[where c=1]) simp_all
   8.135  
   8.136 -text {* Hence another formulation of orthogonal transformation. *}
   8.137 +text \<open>Hence another formulation of orthogonal transformation.\<close>
   8.138  
   8.139  lemma orthogonal_transformation_isometry:
   8.140    "orthogonal_transformation f \<longleftrightarrow> f(0::real^'n) = (0::real^'n) \<and> (\<forall>x y. dist(f x) (f y) = dist x y)"
   8.141 @@ -1164,7 +1164,7 @@
   8.142    apply (simp add: dist_norm)
   8.143    done
   8.144  
   8.145 -text {* Can extend an isometry from unit sphere. *}
   8.146 +text \<open>Can extend an isometry from unit sphere.\<close>
   8.147  
   8.148  lemma isometry_sphere_extend:
   8.149    fixes f:: "real ^'n \<Rightarrow> real ^'n"
   8.150 @@ -1262,7 +1262,7 @@
   8.151      done
   8.152  qed
   8.153  
   8.154 -text {* Rotation, reflection, rotoinversion. *}
   8.155 +text \<open>Rotation, reflection, rotoinversion.\<close>
   8.156  
   8.157  definition "rotation_matrix Q \<longleftrightarrow> orthogonal_matrix Q \<and> det Q = 1"
   8.158  definition "rotoinversion_matrix Q \<longleftrightarrow> orthogonal_matrix Q \<and> det Q = - 1"
   8.159 @@ -1272,7 +1272,7 @@
   8.160    shows " orthogonal_matrix Q \<longleftrightarrow> rotation_matrix Q \<or> rotoinversion_matrix Q"
   8.161    by (metis rotoinversion_matrix_def rotation_matrix_def det_orthogonal_matrix)
   8.162  
   8.163 -text {* Explicit formulas for low dimensions. *}
   8.164 +text \<open>Explicit formulas for low dimensions.\<close>
   8.165  
   8.166  lemma setprod_neutral_const: "setprod f {(1::nat)..1} = f 1"
   8.167    by (fact setprod_singleton_nat_seg)
     9.1 --- a/src/HOL/Multivariate_Analysis/Euclidean_Space.thy	Wed Jun 10 19:05:19 2015 +0200
     9.2 +++ b/src/HOL/Multivariate_Analysis/Euclidean_Space.thy	Wed Jun 10 19:10:20 2015 +0200
     9.3 @@ -3,7 +3,7 @@
     9.4      Author:     Brian Huffman, Portland State University
     9.5  *)
     9.6  
     9.7 -section {* Finite-Dimensional Inner Product Spaces *}
     9.8 +section \<open>Finite-Dimensional Inner Product Spaces\<close>
     9.9  
    9.10  theory Euclidean_Space
    9.11  imports
    9.12 @@ -12,7 +12,7 @@
    9.13    "~~/src/HOL/Library/Product_Vector"
    9.14  begin
    9.15  
    9.16 -subsection {* Type class of Euclidean spaces *}
    9.17 +subsection \<open>Type class of Euclidean spaces\<close>
    9.18  
    9.19  class euclidean_space = real_inner +
    9.20    fixes Basis :: "'a set"
    9.21 @@ -95,7 +95,7 @@
    9.22  lemma DIM_positive: "0 < DIM('a::euclidean_space)"
    9.23    by (simp add: card_gt_0_iff)
    9.24  
    9.25 -subsection {* Subclass relationships *}
    9.26 +subsection \<open>Subclass relationships\<close>
    9.27  
    9.28  instance euclidean_space \<subseteq> perfect_space
    9.29  proof
    9.30 @@ -107,18 +107,18 @@
    9.31      def y \<equiv> "x + scaleR (e/2) (SOME b. b \<in> Basis)"
    9.32      have [simp]: "(SOME b. b \<in> Basis) \<in> Basis"
    9.33        by (rule someI_ex) (auto simp: ex_in_conv)
    9.34 -    from `0 < e` have "y \<noteq> x"
    9.35 +    from \<open>0 < e\<close> have "y \<noteq> x"
    9.36        unfolding y_def by (auto intro!: nonzero_Basis)
    9.37 -    from `0 < e` have "dist y x < e"
    9.38 +    from \<open>0 < e\<close> have "dist y x < e"
    9.39        unfolding y_def by (simp add: dist_norm)
    9.40 -    from `y \<noteq> x` and `dist y x < e` show "False"
    9.41 +    from \<open>y \<noteq> x\<close> and \<open>dist y x < e\<close> show "False"
    9.42        using e by simp
    9.43    qed
    9.44  qed
    9.45  
    9.46 -subsection {* Class instances *}
    9.47 +subsection \<open>Class instances\<close>
    9.48  
    9.49 -subsubsection {* Type @{typ real} *}
    9.50 +subsubsection \<open>Type @{typ real}\<close>
    9.51  
    9.52  instantiation real :: euclidean_space
    9.53  begin
    9.54 @@ -134,7 +134,7 @@
    9.55  lemma DIM_real[simp]: "DIM(real) = 1"
    9.56    by simp
    9.57  
    9.58 -subsubsection {* Type @{typ complex} *}
    9.59 +subsubsection \<open>Type @{typ complex}\<close>
    9.60  
    9.61  instantiation complex :: euclidean_space
    9.62  begin
    9.63 @@ -150,7 +150,7 @@
    9.64  lemma DIM_complex[simp]: "DIM(complex) = 2"
    9.65    unfolding Basis_complex_def by simp
    9.66  
    9.67 -subsubsection {* Type @{typ "'a \<times> 'b"} *}
    9.68 +subsubsection \<open>Type @{typ "'a \<times> 'b"}\<close>
    9.69  
    9.70  instantiation prod :: (euclidean_space, euclidean_space) euclidean_space
    9.71  begin
    10.1 --- a/src/HOL/Multivariate_Analysis/Extended_Real_Limits.thy	Wed Jun 10 19:05:19 2015 +0200
    10.2 +++ b/src/HOL/Multivariate_Analysis/Extended_Real_Limits.thy	Wed Jun 10 19:10:20 2015 +0200
    10.3 @@ -5,7 +5,7 @@
    10.4      Author:     Bogdan Grechuk, University of Edinburgh
    10.5  *)
    10.6  
    10.7 -section {* Limits on the Extended real number line *}
    10.8 +section \<open>Limits on the Extended real number line\<close>
    10.9  
   10.10  theory Extended_Real_Limits
   10.11    imports Topology_Euclidean_Space "~~/src/HOL/Library/Extended_Real" "~~/src/HOL/Library/Indicator_Function"
   10.12 @@ -50,7 +50,7 @@
   10.13       using lim_increasing_cl[of "X \<circ> r"] lim_decreasing_cl[of "X \<circ> r"]
   10.14       by auto
   10.15    then show ?thesis
   10.16 -    using `subseq r` by auto
   10.17 +    using \<open>subseq r\<close> by auto
   10.18  qed
   10.19  
   10.20  lemma compact_UNIV:
   10.21 @@ -155,7 +155,7 @@
   10.22    fixes S :: "ereal set"
   10.23    assumes "open S"
   10.24    shows "open (uminus ` S)"
   10.25 -  using `open S`[unfolded open_generated_order]
   10.26 +  using \<open>open S\<close>[unfolded open_generated_order]
   10.27  proof induct
   10.28    have "range uminus = (UNIV :: ereal set)"
   10.29      by (auto simp: image_iff ereal_uminus_eq_reorder)
   10.30 @@ -195,7 +195,7 @@
   10.31    {
   10.32      assume "Inf S = \<infinity>"
   10.33      then have "S = {\<infinity>}"
   10.34 -      by (metis Inf_eq_PInfty `S \<noteq> {}`)
   10.35 +      by (metis Inf_eq_PInfty \<open>S \<noteq> {}\<close>)
   10.36      then have False
   10.37        by (metis assms(1) not_open_singleton)
   10.38    }
   10.39 @@ -252,7 +252,7 @@
   10.40  proof -
   10.41    have "open ((\<lambda>x. inverse m * (x + -t)) -` S)"
   10.42      using m t
   10.43 -    apply (intro open_vimage `open S`)
   10.44 +    apply (intro open_vimage \<open>open S\<close>)
   10.45      apply (intro continuous_at_imp_continuous_on ballI tendsto_cmult_ereal continuous_at[THEN iffD2]
   10.46                   tendsto_ident_at tendsto_add_left_ereal)
   10.47      apply auto
   10.48 @@ -277,17 +277,17 @@
   10.49  proof cases
   10.50    assume "0 < m"
   10.51    then show ?thesis
   10.52 -    using ereal_open_affinity_pos[OF `open S` _ _ t, of m] m
   10.53 +    using ereal_open_affinity_pos[OF \<open>open S\<close> _ _ t, of m] m
   10.54      by auto
   10.55  next
   10.56    assume "\<not> 0 < m" then
   10.57    have "0 < -m"
   10.58 -    using `m \<noteq> 0`
   10.59 +    using \<open>m \<noteq> 0\<close>
   10.60      by (cases m) auto
   10.61    then have m: "-m \<noteq> \<infinity>" "0 < -m"
   10.62 -    using `\<bar>m\<bar> \<noteq> \<infinity>`
   10.63 +    using \<open>\<bar>m\<bar> \<noteq> \<infinity>\<close>
   10.64      by (auto simp: ereal_uminus_eq_reorder)
   10.65 -  from ereal_open_affinity_pos[OF ereal_open_uminus[OF `open S`] m t] show ?thesis
   10.66 +  from ereal_open_affinity_pos[OF ereal_open_uminus[OF \<open>open S\<close>] m t] show ?thesis
   10.67      unfolding image_image by simp
   10.68  qed
   10.69  
   10.70 @@ -439,7 +439,7 @@
   10.71    shows "(SUP n. ereal (f n)) = ereal x \<longleftrightarrow> f ----> x"
   10.72  proof
   10.73    have inc: "incseq (\<lambda>i. ereal (f i))"
   10.74 -    using `mono f` unfolding mono_def incseq_def by auto
   10.75 +    using \<open>mono f\<close> unfolding mono_def incseq_def by auto
   10.76    {
   10.77      assume "f ----> x"
   10.78      then have "(\<lambda>i. ereal (f i)) ----> ereal x"
   10.79 @@ -468,10 +468,10 @@
   10.80      apply (subst SUP_ereal_minus_right)
   10.81      apply auto
   10.82      done
   10.83 -qed (insert `c \<noteq> -\<infinity>`, simp)
   10.84 +qed (insert \<open>c \<noteq> -\<infinity>\<close>, simp)
   10.85  
   10.86  
   10.87 -subsubsection {* Continuity *}
   10.88 +subsubsection \<open>Continuity\<close>
   10.89  
   10.90  lemma continuous_at_of_ereal:
   10.91    fixes x0 :: ereal
   10.92 @@ -607,7 +607,7 @@
   10.93          using cInf_lower[of _ S] ex by (metis bdd_below_def)
   10.94        then have "Inf S \<in> S"
   10.95          apply (subst closed_contains_Inf)
   10.96 -        using ex `S \<noteq> {}` `closed S`
   10.97 +        using ex \<open>S \<noteq> {}\<close> \<open>closed S\<close>
   10.98          apply auto
   10.99          done
  10.100        then have "\<forall>x. Inf S \<le> x \<longleftrightarrow> x \<in> S"
  10.101 @@ -676,7 +676,7 @@
  10.102  qed
  10.103  
  10.104  
  10.105 -subsection {* Sums *}
  10.106 +subsection \<open>Sums\<close>
  10.107  
  10.108  lemma sums_ereal_positive:
  10.109    fixes f :: "nat \<Rightarrow> ereal"
  10.110 @@ -767,7 +767,7 @@
  10.111    have "setsum f {..<n} \<le> setsum g {..<n}"
  10.112      using assms by (auto intro: setsum_mono)
  10.113    also have "\<dots> \<le> suminf g"
  10.114 -    using `\<And>N. 0 \<le> g N`
  10.115 +    using \<open>\<And>N. 0 \<le> g N\<close>
  10.116      by (rule suminf_upper)
  10.117    finally show "setsum f {..<n} \<le> suminf g" .
  10.118  qed (rule assms(2))
  10.119 @@ -867,8 +867,8 @@
  10.120        using ord[of i] by auto
  10.121    }
  10.122    moreover
  10.123 -  from suminf_PInfty_fun[OF `\<And>i. 0 \<le> f i` fin(1)] obtain f' where [simp]: "f = (\<lambda>x. ereal (f' x))" ..
  10.124 -  from suminf_PInfty_fun[OF `\<And>i. 0 \<le> g i` fin(2)] obtain g' where [simp]: "g = (\<lambda>x. ereal (g' x))" ..
  10.125 +  from suminf_PInfty_fun[OF \<open>\<And>i. 0 \<le> f i\<close> fin(1)] obtain f' where [simp]: "f = (\<lambda>x. ereal (f' x))" ..
  10.126 +  from suminf_PInfty_fun[OF \<open>\<And>i. 0 \<le> g i\<close> fin(2)] obtain g' where [simp]: "g = (\<lambda>x. ereal (g' x))" ..
  10.127    {
  10.128      fix i
  10.129      have "0 \<le> f i - g i"
  10.130 @@ -880,7 +880,7 @@
  10.131    then have "suminf (\<lambda>i. f i - g i) \<noteq> \<infinity>"
  10.132      using fin by auto
  10.133    ultimately show ?thesis
  10.134 -    using assms `\<And>i. 0 \<le> f i`
  10.135 +    using assms \<open>\<And>i. 0 \<le> f i\<close>
  10.136      apply simp
  10.137      apply (subst (1 2 3) suminf_ereal)
  10.138      apply (auto intro!: suminf_diff[symmetric] summable_ereal)
  10.139 @@ -976,7 +976,7 @@
  10.140        using nneg
  10.141        by (auto intro!: suminf_le_pos)
  10.142      finally have False
  10.143 -      using `(\<Sum>i. f i) = 0` by auto
  10.144 +      using \<open>(\<Sum>i. f i) = 0\<close> by auto
  10.145    }
  10.146    then show "\<forall>i. f i = 0"
  10.147      by auto
  10.148 @@ -992,7 +992,7 @@
  10.149    then have "S \<inter> ball x d - {x} \<subseteq> {x. P x}"
  10.150      by (auto simp: zero_less_dist_iff dist_commute)
  10.151    then show "\<exists>r>0. INFIMUM (Collect P) f \<le> INFIMUM (S \<inter> ball x r - {x}) f"
  10.152 -    by (intro exI[of _ d] INF_mono conjI `0 < d`) auto
  10.153 +    by (intro exI[of _ d] INF_mono conjI \<open>0 < d\<close>) auto
  10.154  next
  10.155    fix d :: real
  10.156    assume "0 < d"
  10.157 @@ -1012,7 +1012,7 @@
  10.158    then have "S \<inter> ball x d - {x} \<subseteq> {x. P x}"
  10.159      by (auto simp: zero_less_dist_iff dist_commute)
  10.160    then show "\<exists>r>0. SUPREMUM (S \<inter> ball x r - {x}) f \<le> SUPREMUM (Collect P) f"
  10.161 -    by (intro exI[of _ d] SUP_mono conjI `0 < d`) auto
  10.162 +    by (intro exI[of _ d] SUP_mono conjI \<open>0 < d\<close>) auto
  10.163  next
  10.164    fix d :: real
  10.165    assume "0 < d"
  10.166 @@ -1089,7 +1089,7 @@
  10.167    thus "(\<Sum>x. ereal (f x)) \<noteq> -\<infinity>" by simp_all
  10.168  qed
  10.169  
  10.170 -subsection {* monoset *}
  10.171 +subsection \<open>monoset\<close>
  10.172  
  10.173  definition (in order) mono_set:
  10.174    "mono_set S \<longleftrightarrow> (\<forall>x y. x \<le> y \<longrightarrow> x \<in> S \<longrightarrow> y \<in> S)"
  10.175 @@ -1111,7 +1111,7 @@
  10.176    proof cases
  10.177      assume "a \<in> S"
  10.178      show ?c
  10.179 -      using mono[OF _ `a \<in> S`]
  10.180 +      using mono[OF _ \<open>a \<in> S\<close>]
  10.181        by (auto intro: Inf_lower simp: a_def)
  10.182    next
  10.183      assume "a \<notin> S"
  10.184 @@ -1121,7 +1121,7 @@
  10.185        then have "a \<le> x"
  10.186          unfolding a_def by (rule Inf_lower)
  10.187        then show "a < x"
  10.188 -        using `x \<in> S` `a \<notin> S` by (cases "a = x") auto
  10.189 +        using \<open>x \<in> S\<close> \<open>a \<notin> S\<close> by (cases "a = x") auto
  10.190      next
  10.191        fix x assume "a < x"
  10.192        then obtain y where "y < x" "y \<in> S"
  10.193 @@ -1251,7 +1251,7 @@
  10.194          using om by auto
  10.195        then have "\<exists>N. \<forall>n\<ge>N. x n \<in> S"
  10.196          unfolding B
  10.197 -        using `x0 \<le> liminf x` liminf_bounded_iff
  10.198 +        using \<open>x0 \<le> liminf x\<close> liminf_bounded_iff
  10.199          by auto
  10.200      }
  10.201      ultimately have "\<exists>N. \<forall>n\<ge>N. x n \<in> S"
    11.1 --- a/src/HOL/Multivariate_Analysis/Fashoda.thy	Wed Jun 10 19:05:19 2015 +0200
    11.2 +++ b/src/HOL/Multivariate_Analysis/Fashoda.thy	Wed Jun 10 19:10:20 2015 +0200
    11.3 @@ -2,7 +2,7 @@
    11.4      Author:     Robert Himmelmann, TU Muenchen (translation from HOL light)
    11.5  *)
    11.6  
    11.7 -section {* Fashoda meet theorem *}
    11.8 +section \<open>Fashoda meet theorem\<close>
    11.9  
   11.10  theory Fashoda
   11.11  imports Brouwer_Fixpoint Path_Connected Cartesian_Euclidean_Space
   11.12 @@ -16,7 +16,7 @@
   11.13  lemma axis_in_Basis: "a \<in> Basis \<Longrightarrow> axis i a \<in> Basis"
   11.14    by (auto simp add: Basis_vec_def axis_eq_axis)
   11.15  
   11.16 -subsection {*Bijections between intervals. *}
   11.17 +subsection \<open>Bijections between intervals.\<close>
   11.18  
   11.19  definition interval_bij :: "'a \<times> 'a \<Rightarrow> 'a \<times> 'a \<Rightarrow> 'a \<Rightarrow> 'a::euclidean_space"
   11.20    where "interval_bij =
   11.21 @@ -78,7 +78,7 @@
   11.22    using assms by (intro interval_bij_bij) (auto simp: Basis_vec_def inner_axis)
   11.23  
   11.24  
   11.25 -subsection {* Fashoda meet theorem *}
   11.26 +subsection \<open>Fashoda meet theorem\<close>
   11.27  
   11.28  lemma infnorm_2:
   11.29    fixes x :: "real^2"
   11.30 @@ -560,7 +560,7 @@
   11.31  qed
   11.32  
   11.33  
   11.34 -subsection {* Some slightly ad hoc lemmas I use below *}
   11.35 +subsection \<open>Some slightly ad hoc lemmas I use below\<close>
   11.36  
   11.37  lemma segment_vertical:
   11.38    fixes a :: "real^2"
   11.39 @@ -627,7 +627,7 @@
   11.40        then show ?L
   11.41          apply (rule_tac x="(x$2 - a$2) / (b$2 - a$2)" in exI)
   11.42          unfolding assms True
   11.43 -        using `?R`
   11.44 +        using \<open>?R\<close>
   11.45          apply (auto simp add: field_simps)
   11.46          done
   11.47      next
   11.48 @@ -635,7 +635,7 @@
   11.49        then show ?L
   11.50          apply (rule_tac x="1 - (x$2 - b$2) / (a$2 - b$2)" in exI)
   11.51          unfolding assms
   11.52 -        using `?R`
   11.53 +        using \<open>?R\<close>
   11.54          apply (auto simp add: field_simps)
   11.55          done
   11.56      qed
   11.57 @@ -708,7 +708,7 @@
   11.58        then show ?L
   11.59          apply (rule_tac x="(x$1 - a$1) / (b$1 - a$1)" in exI)
   11.60          unfolding assms True
   11.61 -        using `?R`
   11.62 +        using \<open>?R\<close>
   11.63          apply (auto simp add: field_simps)
   11.64          done
   11.65      next
   11.66 @@ -716,7 +716,7 @@
   11.67        then show ?L
   11.68          apply (rule_tac x="1 - (x$1 - b$1) / (a$1 - b$1)" in exI)
   11.69          unfolding assms
   11.70 -        using `?R`
   11.71 +        using \<open>?R\<close>
   11.72          apply (auto simp add: field_simps)
   11.73          done
   11.74      qed
   11.75 @@ -724,7 +724,7 @@
   11.76  qed
   11.77  
   11.78  
   11.79 -subsection {* Useful Fashoda corollary pointed out to me by Tom Hales *}
   11.80 +subsection \<open>Useful Fashoda corollary pointed out to me by Tom Hales\<close>
   11.81  
   11.82  lemma fashoda_interlace:
   11.83    fixes a :: "real^2"
    12.1 --- a/src/HOL/Multivariate_Analysis/Finite_Cartesian_Product.thy	Wed Jun 10 19:05:19 2015 +0200
    12.2 +++ b/src/HOL/Multivariate_Analysis/Finite_Cartesian_Product.thy	Wed Jun 10 19:10:20 2015 +0200
    12.3 @@ -2,7 +2,7 @@
    12.4      Author:     Amine Chaieb, University of Cambridge
    12.5  *)
    12.6  
    12.7 -section {* Definition of finite Cartesian product types. *}
    12.8 +section \<open>Definition of finite Cartesian product types.\<close>
    12.9  
   12.10  theory Finite_Cartesian_Product
   12.11  imports
   12.12 @@ -11,7 +11,7 @@
   12.13    "~~/src/HOL/Library/Numeral_Type"
   12.14  begin
   12.15  
   12.16 -subsection {* Finite Cartesian products, with indexing and lambdas. *}
   12.17 +subsection \<open>Finite Cartesian products, with indexing and lambdas.\<close>
   12.18  
   12.19  typedef ('a, 'b) vec = "UNIV :: (('b::finite) \<Rightarrow> 'a) set"
   12.20    morphisms vec_nth vec_lambda ..
   12.21 @@ -27,7 +27,7 @@
   12.22  
   12.23  syntax "_finite_vec" :: "type \<Rightarrow> type \<Rightarrow> type" ("(_ ^/ _)" [15, 16] 15)
   12.24  
   12.25 -parse_translation {*
   12.26 +parse_translation \<open>
   12.27    let
   12.28      fun vec t u = Syntax.const @{type_syntax vec} $ t $ u;
   12.29      fun finite_vec_tr [t, u] =
   12.30 @@ -41,7 +41,7 @@
   12.31    in
   12.32      [(@{syntax_const "_finite_vec"}, K finite_vec_tr)]
   12.33    end
   12.34 -*}
   12.35 +\<close>
   12.36  
   12.37  lemma vec_eq_iff: "(x = y) \<longleftrightarrow> (\<forall>i. x$i = y$i)"
   12.38    by (simp add: vec_nth_inject [symmetric] fun_eq_iff)
   12.39 @@ -56,7 +56,7 @@
   12.40    by (simp add: vec_eq_iff)
   12.41  
   12.42  
   12.43 -subsection {* Group operations and class instances *}
   12.44 +subsection \<open>Group operations and class instances\<close>
   12.45  
   12.46  instantiation vec :: (zero, finite) zero
   12.47  begin
   12.48 @@ -121,7 +121,7 @@
   12.49    by default (simp_all add: vec_eq_iff)
   12.50  
   12.51  
   12.52 -subsection {* Real vector space *}
   12.53 +subsection \<open>Real vector space\<close>
   12.54  
   12.55  instantiation vec :: (real_vector, finite) real_vector
   12.56  begin
   12.57 @@ -137,7 +137,7 @@
   12.58  end
   12.59  
   12.60  
   12.61 -subsection {* Topological space *}
   12.62 +subsection \<open>Topological space\<close>
   12.63  
   12.64  instantiation vec :: (topological_space, finite) topological_space
   12.65  begin
   12.66 @@ -238,12 +238,12 @@
   12.67    then obtain z where "a = z $ i" and "z \<in> S" ..
   12.68    then obtain A where A: "\<forall>i. open (A i) \<and> z $ i \<in> A i"
   12.69      and S: "\<forall>y. (\<forall>i. y $ i \<in> A i) \<longrightarrow> y \<in> S"
   12.70 -    using `open S` unfolding open_vec_def by auto
   12.71 +    using \<open>open S\<close> unfolding open_vec_def by auto
   12.72    hence "A i \<subseteq> (\<lambda>x. x $ i) ` S"
   12.73      by (clarsimp, rule_tac x="\<chi> j. if j = i then x else z $ j" in image_eqI,
   12.74        simp_all)
   12.75    hence "open (A i) \<and> a \<in> A i \<and> A i \<subseteq> (\<lambda>x. x $ i) ` S"
   12.76 -    using A `a = z $ i` by simp
   12.77 +    using A \<open>a = z $ i\<close> by simp
   12.78    then show "\<exists>T. open T \<and> a \<in> T \<and> T \<subseteq> (\<lambda>x. x $ i) ` S" by - (rule exI)
   12.79  qed
   12.80  
   12.81 @@ -259,7 +259,7 @@
   12.82  qed
   12.83  
   12.84  
   12.85 -subsection {* Metric space *}
   12.86 +subsection \<open>Metric space\<close>
   12.87  
   12.88  instantiation vec :: (metric_space, finite) metric_space
   12.89  begin
   12.90 @@ -291,7 +291,7 @@
   12.91        fix x assume "x \<in> S"
   12.92        obtain A where A: "\<forall>i. open (A i)" "\<forall>i. x $ i \<in> A i"
   12.93          and S: "\<forall>y. (\<forall>i. y $ i \<in> A i) \<longrightarrow> y \<in> S"
   12.94 -        using `open S` and `x \<in> S` unfolding open_vec_def by metis
   12.95 +        using \<open>open S\<close> and \<open>x \<in> S\<close> unfolding open_vec_def by metis
   12.96        have "\<forall>i\<in>UNIV. \<exists>r>0. \<forall>y. dist y (x $ i) < r \<longrightarrow> y \<in> A i"
   12.97          using A unfolding open_dist by simp
   12.98        hence "\<exists>r. \<forall>i\<in>UNIV. 0 < r i \<and> (\<forall>y. dist y (x $ i) < r i \<longrightarrow> y \<in> A i)"
   12.99 @@ -309,9 +309,9 @@
  12.100        then obtain e where "0 < e" and S: "\<forall>y. dist y x < e \<longrightarrow> y \<in> S"
  12.101          using * by fast
  12.102        def r \<equiv> "\<lambda>i::'b. e / sqrt (of_nat CARD('b))"
  12.103 -      from `0 < e` have r: "\<forall>i. 0 < r i"
  12.104 +      from \<open>0 < e\<close> have r: "\<forall>i. 0 < r i"
  12.105          unfolding r_def by simp_all
  12.106 -      from `0 < e` have e: "e = setL2 r UNIV"
  12.107 +      from \<open>0 < e\<close> have e: "e = setL2 r UNIV"
  12.108          unfolding r_def by (simp add: setL2_constant)
  12.109        def A \<equiv> "\<lambda>i. {y. dist (x $ i) y < r i}"
  12.110        have "\<forall>i. open (A i) \<and> x $ i \<in> A i"
  12.111 @@ -340,7 +340,7 @@
  12.112    def N \<equiv> "\<lambda>i. LEAST N. \<forall>m\<ge>N. \<forall>n\<ge>N. dist (X m $ i) (X n $ i) < ?s"
  12.113    def M \<equiv> "Max (range N)"
  12.114    have "\<And>i. \<exists>N. \<forall>m\<ge>N. \<forall>n\<ge>N. dist (X m $ i) (X n $ i) < ?s"
  12.115 -    using X `0 < ?s` by (rule metric_CauchyD)
  12.116 +    using X \<open>0 < ?s\<close> by (rule metric_CauchyD)
  12.117    hence "\<And>i. \<forall>m\<ge>N i. \<forall>n\<ge>N i. dist (X m $ i) (X n $ i) < ?s"
  12.118      unfolding N_def by (rule LeastI_ex)
  12.119    hence M: "\<And>i. \<forall>m\<ge>M. \<forall>n\<ge>M. dist (X m $ i) (X n $ i) < ?s"
  12.120 @@ -353,7 +353,7 @@
  12.121      also have "\<dots> \<le> setsum (\<lambda>i. dist (X m $ i) (X n $ i)) UNIV"
  12.122        by (rule setL2_le_setsum [OF zero_le_dist])
  12.123      also have "\<dots> < setsum (\<lambda>i::'n. ?s) UNIV"
  12.124 -      by (rule setsum_strict_mono, simp_all add: M `M \<le> m` `M \<le> n`)
  12.125 +      by (rule setsum_strict_mono, simp_all add: M \<open>M \<le> m\<close> \<open>M \<le> n\<close>)
  12.126      also have "\<dots> = r"
  12.127        by simp
  12.128      finally have "dist (X m) (X n) < r" .
  12.129 @@ -367,7 +367,7 @@
  12.130  proof
  12.131    fix X :: "nat \<Rightarrow> 'a ^ 'b" assume "Cauchy X"
  12.132    have "\<And>i. (\<lambda>n. X n $ i) ----> lim (\<lambda>n. X n $ i)"
  12.133 -    using Cauchy_vec_nth [OF `Cauchy X`]
  12.134 +    using Cauchy_vec_nth [OF \<open>Cauchy X\<close>]
  12.135      by (simp add: Cauchy_convergent_iff convergent_LIMSEQ_iff)
  12.136    hence "X ----> vec_lambda (\<lambda>i. lim (\<lambda>n. X n $ i))"
  12.137      by (simp add: vec_tendstoI)
  12.138 @@ -376,7 +376,7 @@
  12.139  qed
  12.140  
  12.141  
  12.142 -subsection {* Normed vector space *}
  12.143 +subsection \<open>Normed vector space\<close>
  12.144  
  12.145  instantiation vec :: (real_normed_vector, finite) real_normed_vector
  12.146  begin
  12.147 @@ -421,7 +421,7 @@
  12.148  instance vec :: (banach, finite) banach ..
  12.149  
  12.150  
  12.151 -subsection {* Inner product space *}
  12.152 +subsection \<open>Inner product space\<close>
  12.153  
  12.154  instantiation vec :: (real_inner, finite) real_inner
  12.155  begin
  12.156 @@ -453,9 +453,9 @@
  12.157  end
  12.158  
  12.159  
  12.160 -subsection {* Euclidean space *}
  12.161 +subsection \<open>Euclidean space\<close>
  12.162  
  12.163 -text {* Vectors pointing along a single axis. *}
  12.164 +text \<open>Vectors pointing along a single axis.\<close>
  12.165  
  12.166  definition "axis k x = (\<chi> i. if i = k then x else 0)"
  12.167  
    13.1 --- a/src/HOL/Multivariate_Analysis/Integration.thy	Wed Jun 10 19:05:19 2015 +0200
    13.2 +++ b/src/HOL/Multivariate_Analysis/Integration.thy	Wed Jun 10 19:10:20 2015 +0200
    13.3 @@ -2,7 +2,7 @@
    13.4      Author:     Robert Himmelmann, TU Muenchen (Translation from HOL light)
    13.5  *)
    13.6  
    13.7 -section {* Kurzweil-Henstock Gauge Integration in many dimensions. *}
    13.8 +section \<open>Kurzweil-Henstock Gauge Integration in many dimensions.\<close>
    13.9  
   13.10  theory Integration
   13.11  imports
   13.12 @@ -81,7 +81,7 @@
   13.13    by (subst(asm) real_arch_inv)
   13.14  
   13.15  
   13.16 -subsection {* Sundries *}
   13.17 +subsection \<open>Sundries\<close>
   13.18  
   13.19  lemma conjunctD2: assumes "a \<and> b" shows a b using assms by auto
   13.20  lemma conjunctD3: assumes "a \<and> b \<and> c" shows a b c using assms by auto
   13.21 @@ -139,7 +139,7 @@
   13.22        case True
   13.23        show ?thesis
   13.24          apply (rule assms[OF Suc(1)[OF True]])
   13.25 -        using `?r`
   13.26 +        using \<open>?r\<close>
   13.27          apply auto
   13.28          done
   13.29      next
   13.30 @@ -147,7 +147,7 @@
   13.31        then have "m = n"
   13.32          using Suc(2) by auto
   13.33        then show ?thesis
   13.34 -        using `?r` by auto
   13.35 +        using \<open>?r\<close> by auto
   13.36      qed
   13.37    qed
   13.38  qed auto
   13.39 @@ -180,7 +180,7 @@
   13.40      show ?case
   13.41      proof (cases "m \<le> n")
   13.42        case True
   13.43 -      with Suc.hyps `\<forall>n. R n (Suc n)` assms show ?thesis
   13.44 +      with Suc.hyps \<open>\<forall>n. R n (Suc n)\<close> assms show ?thesis
   13.45          by blast
   13.46      next
   13.47        case False
   13.48 @@ -205,7 +205,7 @@
   13.49  qed
   13.50  
   13.51  
   13.52 -subsection {* Some useful lemmas about intervals. *}
   13.53 +subsection \<open>Some useful lemmas about intervals.\<close>
   13.54  
   13.55  lemma empty_as_interval: "{} = cbox One (0::'a::euclidean_space)"
   13.56    using nonempty_Basis
   13.57 @@ -279,7 +279,7 @@
   13.58            unfolding ab ball_min_Int by auto
   13.59          then have "ball x (min d e) \<subseteq> s \<inter> interior (\<Union>f)"
   13.60            using e unfolding lem1 unfolding  ball_min_Int by auto
   13.61 -        then have "x \<in> s \<inter> interior (\<Union>f)" using `d>0` e by auto
   13.62 +        then have "x \<in> s \<inter> interior (\<Union>f)" using \<open>d>0\<close> e by auto
   13.63          then have "\<exists>t\<in>f. \<exists>x e. 0 < e \<and> ball x e \<subseteq> s \<inter> t"
   13.64            using insert.hyps(3) insert.prems(1) by blast
   13.65          then show ?thesis by auto
   13.66 @@ -407,10 +407,10 @@
   13.67      using open_subset_interior[OF open_ball, of x e t]
   13.68      by auto
   13.69    then show False
   13.70 -    using `t \<in> f` assms(4) by auto
   13.71 -qed
   13.72 -
   13.73 -subsection {* Bounds on intervals where they exist. *}
   13.74 +    using \<open>t \<in> f\<close> assms(4) by auto
   13.75 +qed
   13.76 +
   13.77 +subsection \<open>Bounds on intervals where they exist.\<close>
   13.78  
   13.79  definition interval_upperbound :: "('a::euclidean_space) set \<Rightarrow> 'a"
   13.80    where "interval_upperbound s = (\<Sum>i\<in>Basis. (SUP x:s. x\<bullet>i) *\<^sub>R i)"
   13.81 @@ -473,7 +473,7 @@
   13.82        by (subst setsum_Basis_prod_eq) (auto simp add: setsum_prod)
   13.83  qed
   13.84  
   13.85 -subsection {* Content (length, area, volume...) of an interval. *}
   13.86 +subsection \<open>Content (length, area, volume...) of an interval.\<close>
   13.87  
   13.88  definition "content (s::('a::euclidean_space) set) =
   13.89    (if s = {} then 0 else (\<Prod>i\<in>Basis. (interval_upperbound s)\<bullet>i - (interval_lowerbound s)\<bullet>i))"
   13.90 @@ -596,7 +596,7 @@
   13.91        by (metis diff_mono)
   13.92    ultimately show ?thesis
   13.93      unfolding content_def interval_bounds[OF ab_ne] interval_bounds[OF cd_ne]
   13.94 -    by (simp add: setprod_mono if_not_P[OF False] if_not_P[OF `cbox c d \<noteq> {}`])
   13.95 +    by (simp add: setprod_mono if_not_P[OF False] if_not_P[OF \<open>cbox c d \<noteq> {}\<close>])
   13.96  qed
   13.97  
   13.98  lemma content_lt_nz: "0 < content (cbox a b) \<longleftrightarrow> content (cbox a b) \<noteq> 0"
   13.99 @@ -617,7 +617,7 @@
  13.100  qed (auto simp: content_def)
  13.101  
  13.102  
  13.103 -subsection {* The notion of a gauge --- simply an open set containing the point. *}
  13.104 +subsection \<open>The notion of a gauge --- simply an open set containing the point.\<close>
  13.105  
  13.106  definition "gauge d \<longleftrightarrow> (\<forall>x. x \<in> d x \<and> open (d x))"
  13.107  
  13.108 @@ -662,7 +662,7 @@
  13.109    by (metis zero_less_one)
  13.110  
  13.111  
  13.112 -subsection {* Divisions. *}
  13.113 +subsection \<open>Divisions.\<close>
  13.114  
  13.115  definition division_of (infixl "division'_of" 40)
  13.116  where
  13.117 @@ -757,7 +757,7 @@
  13.118      then have kp: "k \<in> p"
  13.119        using assms(2) by auto
  13.120      show "k \<subseteq> \<Union>q"
  13.121 -      using `k \<in> q` by auto
  13.122 +      using \<open>k \<in> q\<close> by auto
  13.123      show "\<exists>a b. k = cbox a b"
  13.124        using *(4)[OF kp] by auto
  13.125      show "k \<noteq> {}"
  13.126 @@ -989,7 +989,7 @@
  13.127            assume "\<not> ?thesis"
  13.128            with f g have "f = g"
  13.129              by (auto simp: PiE_iff extensional_def intro!: ext)
  13.130 -          with `l \<noteq> k` show False
  13.131 +          with \<open>l \<noteq> k\<close> show False
  13.132              by (simp add: l k)
  13.133          qed
  13.134          then obtain i where *: "i \<in> Basis" "f i \<noteq> g i" ..
  13.135 @@ -999,7 +999,7 @@
  13.136          with * ord[of i] show "interior l \<inter> interior k = {}"
  13.137            by (auto simp add: l k interior_cbox disjoint_interval intro!: bexI[of _ i])
  13.138        }
  13.139 -      note `k \<subseteq> cbox a b`
  13.140 +      note \<open>k \<subseteq> cbox a b\<close>
  13.141      }
  13.142      moreover
  13.143      {
  13.144 @@ -1149,7 +1149,7 @@
  13.145        apply (rule that[of "{cbox c d}"])
  13.146        unfolding *
  13.147        apply (rule division_disjoint_union)
  13.148 -      using `cbox c d \<noteq> {}` True assms
  13.149 +      using \<open>cbox c d \<noteq> {}\<close> True assms
  13.150        using interior_subset
  13.151        apply auto
  13.152        done
  13.153 @@ -1428,7 +1428,7 @@
  13.154  qed
  13.155  
  13.156  
  13.157 -subsection {* Tagged (partial) divisions. *}
  13.158 +subsection \<open>Tagged (partial) divisions.\<close>
  13.159  
  13.160  definition tagged_partial_division_of (infixr "tagged'_partial'_division'_of" 40)
  13.161    where "s tagged_partial_division_of i \<longleftrightarrow>
  13.162 @@ -1555,15 +1555,15 @@
  13.163      fix x y
  13.164      assume "x\<in>p" "y\<in>p" "x\<noteq>y" "snd x = snd y"
  13.165      obtain a b where ab: "snd x = cbox a b"
  13.166 -      using assm(4)[of "fst x" "snd x"] `x\<in>p` by auto
  13.167 +      using assm(4)[of "fst x" "snd x"] \<open>x\<in>p\<close> by auto
  13.168      have "(fst x, snd y) \<in> p" "(fst x, snd y) \<noteq> y"
  13.169 -      by (metis pair_collapse `x\<in>p` `snd x = snd y` `x \<noteq> y`)+
  13.170 -    with `x\<in>p` `y\<in>p` have "interior (snd x) \<inter> interior (snd y) = {}"
  13.171 +      by (metis pair_collapse \<open>x\<in>p\<close> \<open>snd x = snd y\<close> \<open>x \<noteq> y\<close>)+
  13.172 +    with \<open>x\<in>p\<close> \<open>y\<in>p\<close> have "interior (snd x) \<inter> interior (snd y) = {}"
  13.173        by (intro assm(5)[of "fst x" _ "fst y"]) auto
  13.174      then have "content (cbox a b) = 0"
  13.175 -      unfolding `snd x = snd y`[symmetric] ab content_eq_0_interior by auto
  13.176 +      unfolding \<open>snd x = snd y\<close>[symmetric] ab content_eq_0_interior by auto
  13.177      then have "d (cbox a b) = 0"
  13.178 -      using assm(2)[of "fst x" "snd x"] `x\<in>p` ab[symmetric] by (intro assms(2)) auto
  13.179 +      using assm(2)[of "fst x" "snd x"] \<open>x\<in>p\<close> ab[symmetric] by (intro assms(2)) auto
  13.180      then show "d (snd x) = 0"
  13.181        unfolding ab by auto
  13.182    qed
  13.183 @@ -1670,7 +1670,7 @@
  13.184    done
  13.185  
  13.186  
  13.187 -subsection {* Fine-ness of a partition w.r.t. a gauge. *}
  13.188 +subsection \<open>Fine-ness of a partition w.r.t. a gauge.\<close>
  13.189  
  13.190  definition fine  (infixr "fine" 46)
  13.191    where "d fine s \<longleftrightarrow> (\<forall>(x,k) \<in> s. k \<subseteq> d x)"
  13.192 @@ -1702,7 +1702,7 @@
  13.193    unfolding fine_def by blast
  13.194  
  13.195  
  13.196 -subsection {* Gauge integral. Define on compact intervals first, then use a limit. *}
  13.197 +subsection \<open>Gauge integral. Define on compact intervals first, then use a limit.\<close>
  13.198  
  13.199  definition has_integral_compact_interval (infixr "has'_integral'_compact'_interval" 46)
  13.200    where "(f has_integral_compact_interval y) i \<longleftrightarrow>
  13.201 @@ -1801,7 +1801,7 @@
  13.202  qed
  13.203  
  13.204  
  13.205 -subsection {* Some basic combining lemmas. *}
  13.206 +subsection \<open>Some basic combining lemmas.\<close>
  13.207  
  13.208  lemma tagged_division_unions_exists:
  13.209    assumes "finite iset"
  13.210 @@ -1821,14 +1821,14 @@
  13.211  qed
  13.212  
  13.213  
  13.214 -subsection {* The set we're concerned with must be closed. *}
  13.215 +subsection \<open>The set we're concerned with must be closed.\<close>
  13.216  
  13.217  lemma division_of_closed:
  13.218    fixes i :: "'n::euclidean_space set"
  13.219    shows "s division_of i \<Longrightarrow> closed i"
  13.220    unfolding division_of_def by fastforce
  13.221  
  13.222 -subsection {* General bisection principle for intervals; might be useful elsewhere. *}
  13.223 +subsection \<open>General bisection principle for intervals; might be useful elsewhere.\<close>
  13.224  
  13.225  lemma interval_bisection_step:
  13.226    fixes type :: "'a::euclidean_space"
  13.227 @@ -1936,7 +1936,7 @@
  13.228        unfolding euclidean_eq_iff[where 'a='a] by auto
  13.229      then have i: "c\<bullet>i \<noteq> e\<bullet>i" "d\<bullet>i \<noteq> f\<bullet>i"
  13.230        using s(2) t(2) apply fastforce
  13.231 -      using t(2)[OF i'] `c \<bullet> i \<noteq> e \<bullet> i \<or> d \<bullet> i \<noteq> f \<bullet> i` i' s(2) t(2) by fastforce
  13.232 +      using t(2)[OF i'] \<open>c \<bullet> i \<noteq> e \<bullet> i \<or> d \<bullet> i \<noteq> f \<bullet> i\<close> i' s(2) t(2) by fastforce
  13.233      have *: "\<And>s t. (\<And>a. a \<in> s \<Longrightarrow> a \<in> t \<Longrightarrow> False) \<Longrightarrow> s \<inter> t = {}"
  13.234        by auto
  13.235      show "interior s \<inter> interior t = {}"
  13.236 @@ -2165,7 +2165,7 @@
  13.237  qed
  13.238  
  13.239  
  13.240 -subsection {* Cousin's lemma. *}
  13.241 +subsection \<open>Cousin's lemma.\<close>
  13.242  
  13.243  lemma fine_division_exists:
  13.244    fixes a b :: "'a::euclidean_space"
  13.245 @@ -2221,7 +2221,7 @@
  13.246    obtains p where "p tagged_division_of {a .. b}" "g fine p"
  13.247    by (metis assms box_real(2) fine_division_exists)
  13.248  
  13.249 -subsection {* Basic theorems about integrals. *}
  13.250 +subsection \<open>Basic theorems about integrals.\<close>
  13.251  
  13.252  lemma has_integral_unique:
  13.253    fixes f :: "'n::euclidean_space \<Rightarrow> 'a::real_normed_vector"
  13.254 @@ -2622,7 +2622,7 @@
  13.255    fixes c :: real
  13.256    assumes "c \<noteq> 0"
  13.257    shows "(\<lambda>x. c * f x) integrable_on s \<longleftrightarrow> f integrable_on s"
  13.258 -  using integrable_cmul[of "\<lambda>x. c * f x" s "1 / c"] integrable_cmul[of f s c] `c \<noteq> 0`
  13.259 +  using integrable_cmul[of "\<lambda>x. c * f x" s "1 / c"] integrable_cmul[of f s c] \<open>c \<noteq> 0\<close>
  13.260    by auto
  13.261  
  13.262  lemma integrable_neg: "f integrable_on s \<Longrightarrow> (\<lambda>x. -f(x)) integrable_on s"
  13.263 @@ -2778,7 +2778,7 @@
  13.264    by (rule integral_unique) auto
  13.265  
  13.266  
  13.267 -subsection {* Cauchy-type criterion for integrability. *}
  13.268 +subsection \<open>Cauchy-type criterion for integrability.\<close>
  13.269  
  13.270  (* XXXXXXX *)
  13.271  lemma integrable_cauchy:
  13.272 @@ -2900,7 +2900,7 @@
  13.273  qed
  13.274  
  13.275  
  13.276 -subsection {* Additivity of integral on abutting intervals. *}
  13.277 +subsection \<open>Additivity of integral on abutting intervals.\<close>
  13.278  
  13.279  lemma interval_split:
  13.280    fixes a :: "'a::euclidean_space"
  13.281 @@ -3387,7 +3387,7 @@
  13.282  qed
  13.283  
  13.284  
  13.285 -subsection {* A sort of converse, integrability on subintervals. *}
  13.286 +subsection \<open>A sort of converse, integrability on subintervals.\<close>
  13.287  
  13.288  lemma tagged_division_union_interval:
  13.289    fixes a :: "'a::euclidean_space"
  13.290 @@ -3571,7 +3571,7 @@
  13.291  qed
  13.292  
  13.293  
  13.294 -subsection {* Generalized notion of additivity. *}
  13.295 +subsection \<open>Generalized notion of additivity.\<close>
  13.296  
  13.297  definition "neutral opp = (SOME x. \<forall>y. opp x y = y \<and> opp y x = y)"
  13.298  
  13.299 @@ -3598,7 +3598,7 @@
  13.300    unfolding operative_def by (rule property_empty_interval) auto
  13.301  
  13.302  
  13.303 -subsection {* Using additivity of lifted function to encode definedness. *}
  13.304 +subsection \<open>Using additivity of lifted function to encode definedness.\<close>
  13.305  
  13.306  lemma forall_option: "(\<forall>x. P x) \<longleftrightarrow> P None \<and> (\<forall>x. P (Some x))"
  13.307    by (metis option.nchotomy)
  13.308 @@ -3735,7 +3735,7 @@
  13.309      show ?thesis
  13.310        unfolding iterate_def fold'_def  if_not_P[OF x] support_clauses if_not_P[OF False]
  13.311        apply (subst comp_fun_commute.fold_insert[OF * finite_support, simplified comp_def])
  13.312 -      using `finite s`
  13.313 +      using \<open>finite s\<close>
  13.314        unfolding support_def
  13.315        using False x
  13.316        apply auto
  13.317 @@ -3767,7 +3767,7 @@
  13.318  qed
  13.319  
  13.320  
  13.321 -subsection {* Two key instances of additivity. *}
  13.322 +subsection \<open>Two key instances of additivity.\<close>
  13.323  
  13.324  lemma neutral_add[simp]: "neutral op + = (0::'a::comm_monoid_add)"
  13.325    unfolding neutral_def
  13.326 @@ -3850,7 +3850,7 @@
  13.327  qed
  13.328  
  13.329  
  13.330 -subsection {* Points of division of a partition. *}
  13.331 +subsection \<open>Points of division of a partition.\<close>
  13.332  
  13.333  definition "division_points (k::('a::euclidean_space) set) d =
  13.334     {(j,x). j \<in> Basis \<and> (interval_lowerbound k)\<bullet>j < x \<and> x < (interval_upperbound k)\<bullet>j \<and>
  13.335 @@ -3909,13 +3909,13 @@
  13.336      have **: "\<forall>i\<in>Basis. u\<bullet>i \<le> v\<bullet>i"
  13.337        using l using as(6) unfolding box_ne_empty[symmetric] by auto
  13.338      show "\<exists>i\<in>d. interval_lowerbound i \<bullet> fst x = snd x \<or> interval_upperbound i \<bullet> fst x = snd x"
  13.339 -      apply (rule bexI[OF _ `l \<in> d`])
  13.340 +      apply (rule bexI[OF _ \<open>l \<in> d\<close>])
  13.341        using as(1-3,5) fstx
  13.342        unfolding l interval_bounds[OF **] interval_bounds[OF *] interval_split[OF k] as
  13.343        apply (auto split: split_if_asm)
  13.344        done
  13.345      show "snd x < b \<bullet> fst x"
  13.346 -      using as(2) `c < b\<bullet>k` by (auto split: split_if_asm)
  13.347 +      using as(2) \<open>c < b\<bullet>k\<close> by (auto split: split_if_asm)
  13.348    qed
  13.349    show ?t2
  13.350      unfolding division_points_def interval_split[OF k, of a b]
  13.351 @@ -3940,13 +3940,13 @@
  13.352      have **: "\<forall>i\<in>Basis. u\<bullet>i \<le> v\<bullet>i"
  13.353        using l using as(6) unfolding box_ne_empty[symmetric] by auto
  13.354      show "\<exists>i\<in>d. interval_lowerbound i \<bullet> fst x = snd x \<or> interval_upperbound i \<bullet> fst x = snd x"
  13.355 -      apply (rule bexI[OF _ `l \<in> d`])
  13.356 +      apply (rule bexI[OF _ \<open>l \<in> d\<close>])
  13.357        using as(1-3,5) fstx
  13.358        unfolding l interval_bounds[OF **] interval_bounds[OF *] interval_split[OF k] as
  13.359        apply (auto split: split_if_asm)
  13.360        done
  13.361      show "a \<bullet> fst x < snd x"
  13.362 -      using as(1) `a\<bullet>k < c` by (auto split: split_if_asm)
  13.363 +      using as(1) \<open>a\<bullet>k < c\<close> by (auto split: split_if_asm)
  13.364     qed
  13.365  qed
  13.366  
  13.367 @@ -4034,7 +4034,7 @@
  13.368  qed
  13.369  
  13.370  
  13.371 -subsection {* Preservation by divisions and tagged divisions. *}
  13.372 +subsection \<open>Preservation by divisions and tagged divisions.\<close>
  13.373  
  13.374  lemma support_support[simp]:"support opp f (support opp f s) = support opp f s"
  13.375    unfolding support_def by auto
  13.376 @@ -4505,7 +4505,7 @@
  13.377  qed
  13.378  
  13.379  
  13.380 -subsection {* Additivity of content. *}
  13.381 +subsection \<open>Additivity of content.\<close>
  13.382  
  13.383  lemma setsum_iterate:
  13.384    assumes "finite s"
  13.385 @@ -4540,7 +4540,7 @@
  13.386    done
  13.387  
  13.388  
  13.389 -subsection {* Finally, the integral of a constant *}
  13.390 +subsection \<open>Finally, the integral of a constant\<close>
  13.391  
  13.392  lemma has_integral_const[intro]:
  13.393    fixes a b :: "'a::euclidean_space"
  13.394 @@ -4578,7 +4578,7 @@
  13.395    by (metis box_real(2) integral_const)
  13.396  
  13.397  
  13.398 -subsection {* Bounds on the norm of Riemann sums and the integral itself. *}
  13.399 +subsection \<open>Bounds on the norm of Riemann sums and the integral itself.\<close>
  13.400  
  13.401  lemma dsum_bound:
  13.402    assumes "p division_of (cbox a b)"
  13.403 @@ -4727,7 +4727,7 @@
  13.404    by (metis assms(1) assms(2) assms(3) box_real(2) has_integral_bound)
  13.405  
  13.406  
  13.407 -subsection {* Similar theorems about relationship among components. *}
  13.408 +subsection \<open>Similar theorems about relationship among components.\<close>
  13.409  
  13.410  lemma rsum_component_le:
  13.411    fixes f :: "'a::euclidean_space \<Rightarrow> 'b::euclidean_space"
  13.412 @@ -4917,7 +4917,7 @@
  13.413    using assms
  13.414    by (metis box_real(2) integral_component_ubound)
  13.415  
  13.416 -subsection {* Uniform limit of integrable functions is integrable. *}
  13.417 +subsection \<open>Uniform limit of integrable functions is integrable.\<close>
  13.418  
  13.419  lemma integrable_uniform_limit:
  13.420    fixes f :: "'a::euclidean_space \<Rightarrow> 'b::banach"
  13.421 @@ -4958,7 +4958,7 @@
  13.422        apply (rule_tac x=M in exI,rule,rule,rule,rule)
  13.423      proof -
  13.424        case goal1
  13.425 -      have "e/4>0" using `e>0` by auto
  13.426 +      have "e/4>0" using \<open>e>0\<close> by auto
  13.427        note * = i[unfolded has_integral,rule_format,OF this]
  13.428        from *[of m] guess gm by (elim conjE exE) note gm=this[rule_format]
  13.429        from *[of n] guess gn by (elim conjE exE) note gn=this[rule_format]
  13.430 @@ -5060,7 +5060,7 @@
  13.431          then have "content (cbox a b) < e / 3 * (real (N1 + N2) + 1)"
  13.432            apply -
  13.433            apply (rule less_le_trans,assumption)
  13.434 -          using `e>0`
  13.435 +          using \<open>e>0\<close>
  13.436            apply auto
  13.437            done
  13.438          then show "inverse (real (N1 + N2) + 1) * content (cbox a b) \<le> e / 3"
  13.439 @@ -5074,13 +5074,13 @@
  13.440  qed
  13.441  
  13.442  
  13.443 -subsection {* Negligible sets. *}
  13.444 +subsection \<open>Negligible sets.\<close>
  13.445  
  13.446  definition "negligible (s:: 'a::euclidean_space set) \<longleftrightarrow>
  13.447    (\<forall>a b. ((indicator s :: 'a\<Rightarrow>real) has_integral 0) (cbox a b))"
  13.448  
  13.449  
  13.450 -subsection {* Negligibility of hyperplane. *}
  13.451 +subsection \<open>Negligibility of hyperplane.\<close>
  13.452  
  13.453  lemma vsum_nonzero_image_lemma:
  13.454    assumes "finite s"
  13.455 @@ -5367,7 +5367,7 @@
  13.456  qed
  13.457  
  13.458  
  13.459 -subsection {* A technical lemma about "refinement" of division. *}
  13.460 +subsection \<open>A technical lemma about "refinement" of division.\<close>
  13.461  
  13.462  lemma tagged_division_finer:
  13.463    fixes p :: "('a::euclidean_space \<times> ('a::euclidean_space set)) set"
  13.464 @@ -5500,7 +5500,7 @@
  13.465  qed
  13.466  
  13.467  
  13.468 -subsection {* Hence the main theorem about negligible sets. *}
  13.469 +subsection \<open>Hence the main theorem about negligible sets.\<close>
  13.470  
  13.471  lemma finite_product_dependent:
  13.472    assumes "finite s"
  13.473 @@ -5833,7 +5833,7 @@
  13.474    by auto
  13.475  
  13.476  
  13.477 -subsection {* Some other trivialities about negligible sets. *}
  13.478 +subsection \<open>Some other trivialities about negligible sets.\<close>
  13.479  
  13.480  lemma negligible_subset[intro]:
  13.481    assumes "negligible s"
  13.482 @@ -5936,7 +5936,7 @@
  13.483  qed auto
  13.484  
  13.485  
  13.486 -subsection {* Finite case of the spike theorem is quite commonly needed. *}
  13.487 +subsection \<open>Finite case of the spike theorem is quite commonly needed.\<close>
  13.488  
  13.489  lemma has_integral_spike_finite:
  13.490    assumes "finite s"
  13.491 @@ -5972,7 +5972,7 @@
  13.492    done
  13.493  
  13.494  
  13.495 -subsection {* In particular, the boundary of an interval is negligible. *}
  13.496 +subsection \<open>In particular, the boundary of an interval is negligible.\<close>
  13.497  
  13.498  lemma negligible_frontier_interval: "negligible(cbox (a::'a::euclidean_space) b - box a b)"
  13.499  proof -
  13.500 @@ -6020,7 +6020,7 @@
  13.501    by auto
  13.502  
  13.503  
  13.504 -subsection {* Integrability of continuous functions. *}
  13.505 +subsection \<open>Integrability of continuous functions.\<close>
  13.506  
  13.507  lemma neutral_and[simp]: "neutral op \<and> = True"
  13.508    unfolding neutral_def by (rule some_equality) auto
  13.509 @@ -6166,7 +6166,7 @@
  13.510    by (metis assms box_real(2) integrable_continuous)
  13.511  
  13.512  
  13.513 -subsection {* Specialization of additivity to one dimension. *}
  13.514 +subsection \<open>Specialization of additivity to one dimension.\<close>
  13.515  
  13.516  lemma
  13.517    shows real_inner_1_left: "inner 1 x = x"
  13.518 @@ -6330,7 +6330,7 @@
  13.519  qed
  13.520  
  13.521  
  13.522 -subsection {* Special case of additivity we need for the FCT. *}
  13.523 +subsection \<open>Special case of additivity we need for the FCT.\<close>
  13.524  
  13.525  lemma additive_tagged_division_1:
  13.526    fixes f :: "real \<Rightarrow> 'a::real_normed_vector"
  13.527 @@ -6360,7 +6360,7 @@
  13.528  qed
  13.529  
  13.530  
  13.531 -subsection {* A useful lemma allowing us to factor out the content size. *}
  13.532 +subsection \<open>A useful lemma allowing us to factor out the content size.\<close>
  13.533  
  13.534  lemma has_integral_factor_content:
  13.535    "(f has_integral i) (cbox a b) \<longleftrightarrow>
  13.536 @@ -6426,7 +6426,7 @@
  13.537    by (rule has_integral_factor_content)
  13.538  
  13.539  
  13.540 -subsection {* Fundamental theorem of calculus. *}
  13.541 +subsection \<open>Fundamental theorem of calculus.\<close>
  13.542  
  13.543  lemma interval_bounds_real:
  13.544    fixes q b :: real
  13.545 @@ -6474,7 +6474,7 @@
  13.546        have *: "u \<le> v"
  13.547          using xk unfolding k by auto
  13.548        have ball: "\<forall>xa\<in>k. xa \<in> ball x (d x)"
  13.549 -        using as(2)[unfolded fine_def,rule_format,OF `(x,k)\<in>p`,unfolded split_conv subset_eq] .
  13.550 +        using as(2)[unfolded fine_def,rule_format,OF \<open>(x,k)\<in>p\<close>,unfolded split_conv subset_eq] .
  13.551        have "norm ((v - u) *\<^sub>R f' x - (f v - f u)) \<le>
  13.552          norm (f u - f x - (u - x) *\<^sub>R f' x) + norm (f v - f x - (v - x) *\<^sub>R f' x)"
  13.553          apply (rule order_trans[OF _ norm_triangle_ineq4])
  13.554 @@ -6508,7 +6508,7 @@
  13.555  qed
  13.556  
  13.557  
  13.558 -subsection {* Taylor series expansion *}
  13.559 +subsection \<open>Taylor series expansion\<close>
  13.560  
  13.561  lemma
  13.562    setsum_telescope:
  13.563 @@ -6569,7 +6569,7 @@
  13.564    def g \<equiv> "\<lambda>s. (b - s)^(p - 1)/fact (p - 1)"
  13.565    def Dg \<equiv> "\<lambda>n s. if n < p then (-1)^n * (b - s)^(p - 1 - n) / fact (p - 1 - n) else 0"
  13.566    have g0: "Dg 0 = g"
  13.567 -    using `p > 0`
  13.568 +    using \<open>p > 0\<close>
  13.569      by (auto simp add: Dg_def divide_simps g_def split: split_if_asm)
  13.570    {
  13.571      fix m
  13.572 @@ -6585,18 +6585,18 @@
  13.573      by (auto intro!: derivative_eq_intros simp: has_vector_derivative_def
  13.574        fact_eq real_eq_of_nat[symmetric] divide_simps)
  13.575    from setsum_prod_derivatives_has_vector_derivative[of _ Dg _ _ _ Df,
  13.576 -      OF `p > 0` g0 Dg f0 Df]
  13.577 +      OF \<open>p > 0\<close> g0 Dg f0 Df]
  13.578    have deriv: "\<And>t. a \<le> t \<Longrightarrow> t \<le> b \<Longrightarrow>
  13.579      ((\<lambda>t. \<Sum>i<p. (- 1) ^ i *\<^sub>R Dg i t *\<^sub>R Df (p - Suc i) t) has_vector_derivative
  13.580        g t *\<^sub>R Df p t - (- 1) ^ p *\<^sub>R Dg p t *\<^sub>R f t) (at t within {a..b})"
  13.581      by auto
  13.582 -  from fundamental_theorem_of_calculus[rule_format, OF `a \<le> b` deriv]
  13.583 +  from fundamental_theorem_of_calculus[rule_format, OF \<open>a \<le> b\<close> deriv]
  13.584    have ftc: "integral {a..b} (\<lambda>x. g x *\<^sub>R Df p x - (- 1) ^ p *\<^sub>R Dg p x *\<^sub>R f x) =
  13.585      (\<Sum>i<p. (- 1) ^ i *\<^sub>R Dg i b *\<^sub>R Df (p - Suc i) b) -
  13.586      (\<Sum>i<p. (- 1) ^ i *\<^sub>R Dg i a *\<^sub>R Df (p - Suc i) a)"
  13.587      unfolding atLeastAtMost_iff by (auto dest!: integral_unique)
  13.588    def p' \<equiv> "p - 1"
  13.589 -  have p': "p = Suc p'" using `p > 0` by (simp add: p'_def)
  13.590 +  have p': "p = Suc p'" using \<open>p > 0\<close> by (simp add: p'_def)
  13.591    have Dgp': "Dg p' = (\<lambda>_. (- 1) ^ p')"
  13.592      by (auto simp: Dg_def p')
  13.593    have one: "\<And>p'. (- 1::real) ^ p' * (- 1) ^ p' = 1"
  13.594 @@ -6623,7 +6623,7 @@
  13.595  qed
  13.596  
  13.597  
  13.598 -subsection {* Attempt a systematic general set of "offset" results for components. *}
  13.599 +subsection \<open>Attempt a systematic general set of "offset" results for components.\<close>
  13.600  
  13.601  lemma gauge_modify:
  13.602    assumes "(\<forall>s. open s \<longrightarrow> open {x. f(x) \<in> s})" "gauge d"
  13.603 @@ -6638,7 +6638,7 @@
  13.604    done
  13.605  
  13.606  
  13.607 -subsection {* Only need trivial subintervals if the interval itself is trivial. *}
  13.608 +subsection \<open>Only need trivial subintervals if the interval itself is trivial.\<close>
  13.609  
  13.610  lemma division_of_nontrivial:
  13.611    fixes s :: "'a::euclidean_space set set"
  13.612 @@ -6767,7 +6767,7 @@
  13.613  qed
  13.614  
  13.615  
  13.616 -subsection {* Integrability on subintervals. *}
  13.617 +subsection \<open>Integrability on subintervals.\<close>
  13.618  
  13.619  lemma operative_integrable:
  13.620    fixes f :: "'b::euclidean_space \<Rightarrow> 'a::banach"
  13.621 @@ -6801,7 +6801,7 @@
  13.622    by (metis assms(1) assms(2) box_real(2) integrable_subinterval)
  13.623  
  13.624  
  13.625 -subsection {* Combining adjacent intervals in 1 dimension. *}
  13.626 +subsection \<open>Combining adjacent intervals in 1 dimension.\<close>
  13.627  
  13.628  lemma has_integral_combine:
  13.629    fixes a b c :: real
  13.630 @@ -6860,7 +6860,7 @@
  13.631    by (fastforce intro!:has_integral_combine)
  13.632  
  13.633  
  13.634 -subsection {* Reduce integrability to "local" integrability. *}
  13.635 +subsection \<open>Reduce integrability to "local" integrability.\<close>
  13.636  
  13.637  lemma integrable_on_little_subintervals:
  13.638    fixes f :: "'b::euclidean_space \<Rightarrow> 'a::banach"
  13.639 @@ -6897,7 +6897,7 @@
  13.640  qed
  13.641  
  13.642  
  13.643 -subsection {* Second FCT or existence of antiderivative. *}
  13.644 +subsection \<open>Second FCT or existence of antiderivative.\<close>
  13.645  
  13.646  lemma integrable_const[intro]: "(\<lambda>x. c) integrable_on cbox a b"
  13.647    unfolding integrable_on_def
  13.648 @@ -7044,7 +7044,7 @@
  13.649    done
  13.650  
  13.651  
  13.652 -subsection {* Combined fundamental theorem of calculus. *}
  13.653 +subsection \<open>Combined fundamental theorem of calculus.\<close>
  13.654  
  13.655  lemma antiderivative_integral_continuous:
  13.656    fixes f :: "real \<Rightarrow> 'a::banach"
  13.657 @@ -7069,7 +7069,7 @@
  13.658  qed
  13.659  
  13.660  
  13.661 -subsection {* General "twiddling" for interval-to-interval function image. *}
  13.662 +subsection \<open>General "twiddling" for interval-to-interval function image.\<close>
  13.663  
  13.664  lemma has_integral_twiddle:
  13.665    assumes "0 < r"
  13.666 @@ -7231,7 +7231,7 @@
  13.667  qed
  13.668  
  13.669  
  13.670 -subsection {* Special case of a basic affine transformation. *}
  13.671 +subsection \<open>Special case of a basic affine transformation.\<close>
  13.672  
  13.673  lemma interval_image_affinity_interval:
  13.674    "\<exists>u v. (\<lambda>x. m *\<^sub>R (x::'a::euclidean_space) + c) ` cbox a b = cbox u v"
  13.675 @@ -7318,7 +7318,7 @@
  13.676    done
  13.677  
  13.678  
  13.679 -subsection {* Special case of stretching coordinate axes separately. *}
  13.680 +subsection \<open>Special case of stretching coordinate axes separately.\<close>
  13.681  
  13.682  lemma image_stretch_interval:
  13.683    "(\<lambda>x. \<Sum>k\<in>Basis. (m k * (x\<bullet>k)) *\<^sub>R k) ` cbox a (b::'a::euclidean_space) =
  13.684 @@ -7431,7 +7431,7 @@
  13.685    done
  13.686  
  13.687  
  13.688 -subsection {* even more special cases. *}
  13.689 +subsection \<open>even more special cases.\<close>
  13.690  
  13.691  lemma uminus_interval_vector[simp]:
  13.692    fixes a b :: "'a::euclidean_space"
  13.693 @@ -7479,7 +7479,7 @@
  13.694    by (rule integral_reflect)
  13.695  
  13.696  
  13.697 -subsection {* Stronger form of FCT; quite a tedious proof. *}
  13.698 +subsection \<open>Stronger form of FCT; quite a tedious proof.\<close>
  13.699  
  13.700  lemma bgauge_existence_lemma: "(\<forall>x\<in>s. \<exists>d::real. 0 < d \<and> q d x) \<longleftrightarrow> (\<forall>x. \<exists>d>0. x\<in>s \<longrightarrow> q d x)"
  13.701    by (meson zero_less_one)
  13.702 @@ -7524,7 +7524,7 @@
  13.703        show ?thesis
  13.704          unfolding *(2)
  13.705          unfolding content_eq_0
  13.706 -        using * `a = b`
  13.707 +        using * \<open>a = b\<close>
  13.708          by (auto simp: ex_in_conv)
  13.709      qed
  13.710    }
  13.711 @@ -7826,7 +7826,7 @@
  13.712              then have *: "s = {x}"
  13.713                using goal2(1) by auto
  13.714              then show ?case
  13.715 -              using `x \<in> s` goal2(2) by auto
  13.716 +              using \<open>x \<in> s\<close> goal2(2) by auto
  13.717            qed auto
  13.718            case goal2
  13.719            show ?case
  13.720 @@ -8016,7 +8016,7 @@
  13.721  qed
  13.722  
  13.723  
  13.724 -subsection {* Stronger form with finite number of exceptional points. *}
  13.725 +subsection \<open>Stronger form with finite number of exceptional points.\<close>
  13.726  
  13.727  lemma fundamental_theorem_of_calculus_interior_strong:
  13.728    fixes f :: "real \<Rightarrow> 'a::banach"
  13.729 @@ -8111,7 +8111,7 @@
  13.730    have "\<exists>w>0. \<forall>t. c - w < t \<and> t < c \<longrightarrow> norm (f c) * norm(c - t) < e / 3"
  13.731    proof (cases "f c = 0")
  13.732      case False
  13.733 -    hence "0 < e / 3 / norm (f c)" using `e>0` by simp
  13.734 +    hence "0 < e / 3 / norm (f c)" using \<open>e>0\<close> by simp
  13.735      then show ?thesis
  13.736        apply -
  13.737        apply rule
  13.738 @@ -8138,7 +8138,7 @@
  13.739      show ?thesis
  13.740        apply (rule_tac x=1 in exI)
  13.741        unfolding True
  13.742 -      using `e > 0`
  13.743 +      using \<open>e > 0\<close>
  13.744        apply auto
  13.745        done
  13.746    qed
  13.747 @@ -8178,7 +8178,7 @@
  13.748          defer
  13.749          apply (rule *)
  13.750          apply (subst less_le)
  13.751 -        using `e > 0` as(2)
  13.752 +        using \<open>e > 0\<close> as(2)
  13.753          apply auto
  13.754          done
  13.755      }
  13.756 @@ -8256,7 +8256,7 @@
  13.757          case goal1
  13.758          from p'(2-3)[OF this] have "c \<in> cbox a t"
  13.759            by auto
  13.760 -        then show False using `t < c`
  13.761 +        then show False using \<open>t < c\<close>
  13.762            by auto
  13.763        qed
  13.764        then show ?thesis
  13.765 @@ -8274,17 +8274,17 @@
  13.766      have ***: "c - w < t \<and> t < c"
  13.767      proof -
  13.768        have "c - k < t"
  13.769 -        using `k>0` as(1) by (auto simp add: field_simps)
  13.770 +        using \<open>k>0\<close> as(1) by (auto simp add: field_simps)
  13.771        moreover have "k \<le> w"
  13.772          apply (rule ccontr)
  13.773          using k(2)
  13.774          unfolding subset_eq
  13.775          apply (erule_tac x="c + ((k + w)/2)" in ballE)
  13.776          unfolding d_def
  13.777 -        using `k > 0` `w > 0`
  13.778 +        using \<open>k > 0\<close> \<open>w > 0\<close>
  13.779          apply (auto simp add: field_simps not_le not_less dist_real_def)
  13.780          done
  13.781 -      ultimately show ?thesis using `t < c`
  13.782 +      ultimately show ?thesis using \<open>t < c\<close>
  13.783          by (auto simp add: field_simps)
  13.784      qed
  13.785      show ?thesis
  13.786 @@ -8312,7 +8312,7 @@
  13.787  proof -
  13.788    have *: "(\<lambda>x. f (- x)) integrable_on {-b .. -a}" "- b < - c" "- c \<le> - a"
  13.789      using assms by auto
  13.790 -  from indefinite_integral_continuous_left[OF * `e>0`] guess d . note d = this
  13.791 +  from indefinite_integral_continuous_left[OF * \<open>e>0\<close>] guess d . note d = this
  13.792    let ?d = "min d (b - c)"
  13.793    show ?thesis
  13.794      apply (rule that[of "?d"])
  13.795 @@ -8362,7 +8362,7 @@
  13.796          apply (rule set_eqI)
  13.797          apply auto
  13.798          done
  13.799 -      then show ?case using `e > 0` by auto
  13.800 +      then show ?case using \<open>e > 0\<close> by auto
  13.801      qed
  13.802    }
  13.803    assume "a < b"
  13.804 @@ -8373,28 +8373,28 @@
  13.805    proof -
  13.806      assume "x = a"
  13.807      have "a \<le> a" ..
  13.808 -    from indefinite_integral_continuous_right[OF assms(1) this `a<b` `e>0`] guess d . note d=this
  13.809 +    from indefinite_integral_continuous_right[OF assms(1) this \<open>a<b\<close> \<open>e>0\<close>] guess d . note d=this
  13.810      show ?thesis
  13.811        apply rule
  13.812        apply rule
  13.813        apply (rule d)
  13.814        apply safe
  13.815        apply (subst dist_commute)
  13.816 -      unfolding `x = a` dist_norm
  13.817 +      unfolding \<open>x = a\<close> dist_norm
  13.818        apply (rule d(2)[rule_format])
  13.819        apply auto
  13.820        done
  13.821    next
  13.822      assume "x = b"
  13.823      have "b \<le> b" ..
  13.824 -    from indefinite_integral_continuous_left[OF assms(1) `a<b` this `e>0`] guess d . note d=this
  13.825 +    from indefinite_integral_continuous_left[OF assms(1) \<open>a<b\<close> this \<open>e>0\<close>] guess d . note d=this
  13.826      show ?thesis
  13.827        apply rule
  13.828        apply rule
  13.829        apply (rule d)
  13.830        apply safe
  13.831        apply (subst dist_commute)
  13.832 -      unfolding `x = b` dist_norm
  13.833 +      unfolding \<open>x = b\<close> dist_norm
  13.834        apply (rule d(2)[rule_format])
  13.835        apply auto
  13.836        done
  13.837 @@ -8402,8 +8402,8 @@
  13.838      assume "a < x \<and> x < b"
  13.839      then have xl: "a < x" "x \<le> b" and xr: "a \<le> x" "x < b"
  13.840        by auto
  13.841 -    from indefinite_integral_continuous_left [OF assms(1) xl `e>0`] guess d1 . note d1=this
  13.842 -    from indefinite_integral_continuous_right[OF assms(1) xr `e>0`] guess d2 . note d2=this
  13.843 +    from indefinite_integral_continuous_left [OF assms(1) xl \<open>e>0\<close>] guess d1 . note d1=this
  13.844 +    from indefinite_integral_continuous_right[OF assms(1) xr \<open>e>0\<close>] guess d2 . note d2=this
  13.845      show ?thesis
  13.846        apply (rule_tac x="min d1 d2" in exI)
  13.847      proof safe
  13.848 @@ -8426,7 +8426,7 @@
  13.849  qed
  13.850  
  13.851  
  13.852 -subsection {* This doesn't directly involve integration, but that gives an easy proof. *}
  13.853 +subsection \<open>This doesn't directly involve integration, but that gives an easy proof.\<close>
  13.854  
  13.855  lemma has_derivative_zero_unique_strong_interval:
  13.856    fixes f :: "real \<Rightarrow> 'a::banach"
  13.857 @@ -8460,7 +8460,7 @@
  13.858  qed
  13.859  
  13.860  
  13.861 -subsection {* Generalize a bit to any convex set. *}
  13.862 +subsection \<open>Generalize a bit to any convex set.\<close>
  13.863  
  13.864  lemma has_derivative_zero_unique_strong_convex:
  13.865    fixes f :: "'a::euclidean_space \<Rightarrow> 'b::banach"
  13.866 @@ -8499,7 +8499,7 @@
  13.867      then have "(t - xa) *\<^sub>R x = (t - xa) *\<^sub>R c"
  13.868        unfolding scaleR_simps by (auto simp add: algebra_simps)
  13.869      then show ?case
  13.870 -      using `x \<noteq> c` by auto
  13.871 +      using \<open>x \<noteq> c\<close> by auto
  13.872    qed
  13.873    have as2: "finite {t. ((1 - t) *\<^sub>R c + t *\<^sub>R x) \<in> k}"
  13.874      using assms(2)
  13.875 @@ -8528,7 +8528,7 @@
  13.876      have *: "c - t *\<^sub>R c + t *\<^sub>R x \<in> s - k"
  13.877        apply safe
  13.878        apply (rule conv[unfolded scaleR_simps])
  13.879 -      using `x \<in> s` `c \<in> s` as
  13.880 +      using \<open>x \<in> s\<close> \<open>c \<in> s\<close> as
  13.881        by (auto simp add: algebra_simps)
  13.882      have "(f \<circ> (\<lambda>t. (1 - t) *\<^sub>R c + t *\<^sub>R x) has_derivative (\<lambda>x. 0) \<circ> (\<lambda>z. (0 - z *\<^sub>R c) + z *\<^sub>R x))
  13.883        (at t within {0 .. 1})"
  13.884 @@ -8540,7 +8540,7 @@
  13.885        apply (rule *)
  13.886        apply safe
  13.887        apply (rule conv[unfolded scaleR_simps])
  13.888 -      using `x \<in> s` `c \<in> s`
  13.889 +      using \<open>x \<in> s\<close> \<open>c \<in> s\<close>
  13.890        apply auto
  13.891        done
  13.892      then show "((\<lambda>xa. f ((1 - xa) *\<^sub>R c + xa *\<^sub>R x)) has_derivative (\<lambda>h. 0)) (at t within {0 .. 1})"
  13.893 @@ -8551,8 +8551,8 @@
  13.894  qed
  13.895  
  13.896  
  13.897 -text {* Also to any open connected set with finite set of exceptions. Could
  13.898 - generalize to locally convex set with limpt-free set of exceptions. *}
  13.899 +text \<open>Also to any open connected set with finite set of exceptions. Could
  13.900 + generalize to locally convex set with limpt-free set of exceptions.\<close>
  13.901  
  13.902  lemma has_derivative_zero_unique_strong_connected:
  13.903    fixes f :: "'a::euclidean_space \<Rightarrow> 'b::banach"
  13.904 @@ -8604,7 +8604,7 @@
  13.905      qed
  13.906    qed
  13.907    then show ?thesis
  13.908 -    using `x \<in> s` `f c = y` `c \<in> s` by auto
  13.909 +    using \<open>x \<in> s\<close> \<open>f c = y\<close> \<open>c \<in> s\<close> by auto
  13.910  qed
  13.911  
  13.912  lemma has_derivative_zero_connected_constant:
  13.913 @@ -8628,7 +8628,7 @@
  13.914  qed
  13.915  
  13.916  
  13.917 -subsection {* Integrating characteristic function of an interval *}
  13.918 +subsection \<open>Integrating characteristic function of an interval\<close>
  13.919  
  13.920  lemma has_integral_restrict_open_subinterval:
  13.921    fixes f :: "'a::euclidean_space \<Rightarrow> 'b::banach"
  13.922 @@ -8773,7 +8773,7 @@
  13.923      then have "i = integral (cbox c d) f"
  13.924        apply -
  13.925        apply (rule has_integral_unique)
  13.926 -      apply (rule `?l`)
  13.927 +      apply (rule \<open>?l\<close>)
  13.928        apply (rule has_integral_restrict_closed_subinterval[OF _ assms])
  13.929        apply auto
  13.930        done
  13.931 @@ -8783,7 +8783,7 @@
  13.932  qed auto
  13.933  
  13.934  
  13.935 -text {* Hence we can apply the limit process uniformly to all integrals. *}
  13.936 +text \<open>Hence we can apply the limit process uniformly to all integrals.\<close>
  13.937  
  13.938  lemma has_integral':
  13.939    fixes f :: "'n::euclidean_space \<Rightarrow> 'a::banach"
  13.940 @@ -8822,14 +8822,14 @@
  13.941          unfolding s
  13.942          apply -
  13.943          apply (rule has_integral_restrict_closed_subinterval)
  13.944 -        apply (rule `?l`[unfolded s])
  13.945 +        apply (rule \<open>?l\<close>[unfolded s])
  13.946          apply safe
  13.947          apply (drule B(2)[rule_format])
  13.948          unfolding subset_eq
  13.949          apply (erule_tac x=x in ballE)
  13.950          apply (auto simp add: dist_norm)
  13.951          done
  13.952 -    qed (insert B `e>0`, auto)
  13.953 +    qed (insert B \<open>e>0\<close>, auto)
  13.954    next
  13.955      assume as: "\<forall>e>0. ?r e"
  13.956      from this[rule_format,OF zero_less_one] guess C .. note C=conjunctD2[OF this,rule_format]
  13.957 @@ -8842,7 +8842,7 @@
  13.958      proof
  13.959        case goal1
  13.960        then show ?case
  13.961 -        using Basis_le_norm[OF `i\<in>Basis`, of x]
  13.962 +        using Basis_le_norm[OF \<open>i\<in>Basis\<close>, of x]
  13.963          unfolding c_def d_def
  13.964          by (auto simp add: field_simps setsum_negf)
  13.965      qed
  13.966 @@ -8852,7 +8852,7 @@
  13.967      proof
  13.968        case goal1
  13.969        then show ?case
  13.970 -        using Basis_le_norm[OF `i\<in>Basis`, of x]
  13.971 +        using Basis_le_norm[OF \<open>i\<in>Basis\<close>, of x]
  13.972          unfolding c_def d_def
  13.973          by (auto simp: setsum_negf)
  13.974      qed
  13.975 @@ -8945,7 +8945,7 @@
  13.976    by (rule has_integral_nonneg[OF assms(1)[unfolded has_integral_integral] assms(2)])
  13.977  
  13.978  
  13.979 -text {* Hence a general restriction property. *}
  13.980 +text \<open>Hence a general restriction property.\<close>
  13.981  
  13.982  lemma has_integral_restrict[simp]:
  13.983    assumes "s \<subseteq> t"
  13.984 @@ -9018,7 +9018,7 @@
  13.985    proof safe
  13.986      case goal1
  13.987      show ?case
  13.988 -      apply (rule has_integral_negligible[OF `?r`[rule_format,of a b]])
  13.989 +      apply (rule has_integral_negligible[OF \<open>?r\<close>[rule_format,of a b]])
  13.990        unfolding indicator_def
  13.991        apply auto
  13.992        done
  13.993 @@ -9093,7 +9093,7 @@
  13.994    SET_TAC[]);;*)
  13.995  
  13.996  
  13.997 -subsection {* More lemmas that are useful later *}
  13.998 +subsection \<open>More lemmas that are useful later\<close>
  13.999  
 13.1000  lemma has_integral_subset_component_le:
 13.1001    fixes f :: "'n::euclidean_space \<Rightarrow> 'm::euclidean_space"
 13.1002 @@ -9159,7 +9159,7 @@
 13.1003      apply safe
 13.1004    proof -
 13.1005      case goal1
 13.1006 -    from `?r`[THEN conjunct2,rule_format,OF this] guess B .. note B=conjunctD2[OF this]
 13.1007 +    from \<open>?r\<close>[THEN conjunct2,rule_format,OF this] guess B .. note B=conjunctD2[OF this]
 13.1008      show ?case
 13.1009        apply rule
 13.1010        apply rule
 13.1011 @@ -9167,7 +9167,7 @@
 13.1012        apply safe
 13.1013        apply (rule_tac x="integral (cbox a b) (\<lambda>x. if x \<in> s then f x else 0)" in exI)
 13.1014        apply (drule B(2)[rule_format])
 13.1015 -      using integrable_integral[OF `?r`[THEN conjunct1,rule_format]]
 13.1016 +      using integrable_integral[OF \<open>?r\<close>[THEN conjunct1,rule_format]]
 13.1017        apply auto
 13.1018        done
 13.1019    qed
 13.1020 @@ -9221,7 +9221,7 @@
 13.1021  qed
 13.1022  
 13.1023  
 13.1024 -subsection {* Continuity of the integral (for a 1-dimensional interval). *}
 13.1025 +subsection \<open>Continuity of the integral (for a 1-dimensional interval).\<close>
 13.1026  
 13.1027  lemma integrable_alt:
 13.1028    fixes f :: "'n::euclidean_space \<Rightarrow> 'a::banach"
 13.1029 @@ -9275,7 +9275,7 @@
 13.1030        proof
 13.1031          case goal1
 13.1032          then show ?case
 13.1033 -          using Basis_le_norm[of i x] `i\<in>Basis`
 13.1034 +          using Basis_le_norm[of i x] \<open>i\<in>Basis\<close>
 13.1035            using n N
 13.1036            by (auto simp add: field_simps setsum_negf)
 13.1037        qed
 13.1038 @@ -9332,7 +9332,7 @@
 13.1039          proof
 13.1040            case goal1
 13.1041            then show ?case
 13.1042 -            using Basis_le_norm[of i x] `i \<in> Basis`
 13.1043 +            using Basis_le_norm[of i x] \<open>i \<in> Basis\<close>
 13.1044              using n
 13.1045              by (auto simp add: field_simps setsum_negf)
 13.1046          qed
 13.1047 @@ -9362,7 +9362,7 @@
 13.1048    done
 13.1049  
 13.1050  
 13.1051 -subsection {* A straddling criterion for integrability *}
 13.1052 +subsection \<open>A straddling criterion for integrability\<close>
 13.1053  
 13.1054  lemma integrable_straddle_interval:
 13.1055    fixes f :: "'n::euclidean_space \<Rightarrow> real"
 13.1056 @@ -9385,7 +9385,7 @@
 13.1057      have **: "\<And>i j g1 g2 h1 h2 f1 f2. g1 - h2 \<le> f1 - f2 \<Longrightarrow> f1 - f2 \<le> h1 - g2 \<Longrightarrow>
 13.1058        abs (i - j) < e / 3 \<Longrightarrow> abs (g2 - i) < e / 3 \<Longrightarrow>  abs (g1 - i) < e / 3 \<Longrightarrow>
 13.1059        abs (h2 - j) < e / 3 \<Longrightarrow> abs (h1 - j) < e / 3 \<Longrightarrow> abs (f1 - f2) < e"
 13.1060 -    using `e > 0` by arith
 13.1061 +    using \<open>e > 0\<close> by arith
 13.1062      case goal1
 13.1063      note tagged_division_ofD(2-4) note * = this[OF goal1(1)] this[OF goal1(4)]
 13.1064  
 13.1065 @@ -9586,7 +9586,7 @@
 13.1066  qed
 13.1067  
 13.1068  
 13.1069 -subsection {* Adding integrals over several sets *}
 13.1070 +subsection \<open>Adding integrals over several sets\<close>
 13.1071  
 13.1072  lemma has_integral_union:
 13.1073    fixes f :: "'n::euclidean_space \<Rightarrow> 'a::banach"
 13.1074 @@ -9651,7 +9651,7 @@
 13.1075  qed
 13.1076  
 13.1077  
 13.1078 -text {* In particular adding integrals over a division, maybe not of an interval. *}
 13.1079 +text \<open>In particular adding integrals over a division, maybe not of an interval.\<close>
 13.1080  
 13.1081  lemma has_integral_combine_division:
 13.1082    fixes f :: "'n::euclidean_space \<Rightarrow> 'a::banach"
 13.1083 @@ -9752,7 +9752,7 @@
 13.1084  qed
 13.1085  
 13.1086  
 13.1087 -subsection {* Also tagged divisions *}
 13.1088 +subsection \<open>Also tagged divisions\<close>
 13.1089  
 13.1090  lemma has_integral_combine_tagged_division:
 13.1091    fixes f :: "'n::euclidean_space \<Rightarrow> 'a::banach"
 13.1092 @@ -9820,7 +9820,7 @@
 13.1093    done
 13.1094  
 13.1095  
 13.1096 -subsection {* Henstock's lemma *}
 13.1097 +subsection \<open>Henstock's lemma\<close>
 13.1098  
 13.1099  lemma henstock_lemma_part1:
 13.1100    fixes f :: "'n::euclidean_space \<Rightarrow> 'a::banach"
 13.1101 @@ -9863,7 +9863,7 @@
 13.1102        done
 13.1103      note integrable_integral[OF this, unfolded has_integral[of f]]
 13.1104      from this[rule_format,OF *] guess dd .. note dd=conjunctD2[OF this,rule_format]
 13.1105 -    note gauge_inter[OF `gauge d` dd(1)]
 13.1106 +    note gauge_inter[OF \<open>gauge d\<close> dd(1)]
 13.1107      from fine_division_exists[OF this,of u v] guess qq .
 13.1108      then show ?case
 13.1109        apply (rule_tac x=qq in exI)
 13.1110 @@ -9956,7 +9956,7 @@
 13.1111        using as(1,3) q(1) unfolding r_def by auto
 13.1112      note q'(5)[OF this]
 13.1113      then have "interior l = {}"
 13.1114 -      using interior_mono[OF `l \<subseteq> k`] by blast
 13.1115 +      using interior_mono[OF \<open>l \<subseteq> k\<close>] by blast
 13.1116      then show "content l *\<^sub>R f x = 0"
 13.1117        unfolding uv content_eq_0_interior[symmetric] by auto
 13.1118    qed auto
 13.1119 @@ -10114,17 +10114,17 @@
 13.1120      note * = henstock_lemma_part2[OF assms(1) * d this]
 13.1121      show ?case
 13.1122        apply (rule le_less_trans[OF *])
 13.1123 -      using `e > 0`
 13.1124 +      using \<open>e > 0\<close>
 13.1125        apply (auto simp add: field_simps)
 13.1126        done
 13.1127    qed
 13.1128  qed
 13.1129  
 13.1130  
 13.1131 -subsection {* Geometric progression *}
 13.1132 -
 13.1133 -text {* FIXME: Should one or more of these theorems be moved to @{file
 13.1134 -"~~/src/HOL/Set_Interval.thy"}, alongside @{text geometric_sum}? *}
 13.1135 +subsection \<open>Geometric progression\<close>
 13.1136 +
 13.1137 +text \<open>FIXME: Should one or more of these theorems be moved to @{file
 13.1138 +"~~/src/HOL/Set_Interval.thy"}, alongside @{text geometric_sum}?\<close>
 13.1139  
 13.1140  lemma sum_gp_basic:
 13.1141    fixes x :: "'a::ring_1"
 13.1142 @@ -10204,7 +10204,7 @@
 13.1143    by (simp add: field_simps power_add)
 13.1144  
 13.1145  
 13.1146 -subsection {* Monotone convergence (bounded interval first) *}
 13.1147 +subsection \<open>Monotone convergence (bounded interval first)\<close>
 13.1148  
 13.1149  lemma monotone_convergence_interval:
 13.1150    fixes f :: "nat \<Rightarrow> 'n::euclidean_space \<Rightarrow> real"
 13.1151 @@ -10300,7 +10300,7 @@
 13.1152      proof
 13.1153        case goal1
 13.1154        have "e / (4 * content (cbox a b)) > 0"
 13.1155 -        using `e>0` False content_pos_le[of a b] by auto
 13.1156 +        using \<open>e>0\<close> False content_pos_le[of a b] by auto
 13.1157        from assms(3)[rule_format, OF goal1, THEN LIMSEQ_D, OF this]
 13.1158        guess n .. note n=this
 13.1159        then show ?case
 13.1160 @@ -10616,7 +10616,7 @@
 13.1161          by auto
 13.1162        from LIMSEQ_D [OF i this] guess N .. note N=this
 13.1163        note assms(2)[of N,unfolded has_integral_integral has_integral_alt'[of "f N"]]
 13.1164 -      from this[THEN conjunct2,rule_format,OF `e/4>0`] guess B .. note B=conjunctD2[OF this]
 13.1165 +      from this[THEN conjunct2,rule_format,OF \<open>e/4>0\<close>] guess B .. note B=conjunctD2[OF this]
 13.1166        show ?case
 13.1167          apply rule
 13.1168          apply rule
 13.1169 @@ -10625,7 +10625,7 @@
 13.1170        proof -
 13.1171          fix a b :: 'n
 13.1172          assume ab: "ball 0 B \<subseteq> cbox a b"
 13.1173 -        from `e > 0` have "e/2 > 0"
 13.1174 +        from \<open>e > 0\<close> have "e/2 > 0"
 13.1175            by auto
 13.1176          from LIMSEQ_D [OF g(2)[of a b] this] guess M .. note M=this
 13.1177          have **: "norm (integral (cbox a b) (\<lambda>x. if x \<in> s then f N x else 0) - i) < e/2"
 13.1178 @@ -10765,7 +10765,7 @@
 13.1179        unfolding x by (rule convergent_imp_bounded) fact
 13.1180    qed (auto intro: f)
 13.1181    moreover then have "integral s g = x'"
 13.1182 -    by (intro LIMSEQ_unique[OF _ `x ----> x'`]) (simp add: x_eq)
 13.1183 +    by (intro LIMSEQ_unique[OF _ \<open>x ----> x'\<close>]) (simp add: x_eq)
 13.1184    ultimately show ?thesis
 13.1185      by (simp add: has_integral_integral)
 13.1186  qed
 13.1187 @@ -10816,7 +10816,7 @@
 13.1188  qed
 13.1189  
 13.1190  
 13.1191 -subsection {* Absolute integrability (this is the same as Lebesgue integrability) *}
 13.1192 +subsection \<open>Absolute integrability (this is the same as Lebesgue integrability)\<close>
 13.1193  
 13.1194  definition absolutely_integrable_on (infixr "absolutely'_integrable'_on" 46)
 13.1195    where "f absolutely_integrable_on s \<longleftrightarrow> f integrable_on s \<and> (\<lambda>x. (norm(f x))) integrable_on s"
 13.1196 @@ -11674,12 +11674,12 @@
 13.1197          note f = absolutely_integrable_onD[OF f_int[of a b]]
 13.1198          note * = this(2)[unfolded has_integral_integral has_integral[of "\<lambda>x. norm (f x)"],rule_format]
 13.1199          have "e/2>0"
 13.1200 -          using `e > 0` by auto
 13.1201 +          using \<open>e > 0\<close> by auto
 13.1202          from * [OF this] obtain d1 where
 13.1203            d1: "gauge d1" "\<forall>p. p tagged_division_of (cbox a b) \<and> d1 fine p \<longrightarrow>
 13.1204              norm ((\<Sum>(x, k)\<in>p. content k *\<^sub>R norm (f x)) - integral (cbox a b) (\<lambda>x. norm (f x))) < e / 2"
 13.1205            by auto
 13.1206 -        from henstock_lemma [OF f(1) `e/2>0`] obtain d2 where
 13.1207 +        from henstock_lemma [OF f(1) \<open>e/2>0\<close>] obtain d2 where
 13.1208            d2: "gauge d2" "\<forall>p. p tagged_partial_division_of (cbox a b) \<and> d2 fine p \<longrightarrow>
 13.1209              (\<Sum>(x, k)\<in>p. norm (content k *\<^sub>R f x - integral k f)) < e / 2"
 13.1210            by blast
 13.1211 @@ -11958,7 +11958,7 @@
 13.1212        apply (subst absolutely_integrable_restrict_univ[symmetric])
 13.1213        apply (rule lem)
 13.1214        unfolding integrable_restrict_univ *
 13.1215 -      using `?r`
 13.1216 +      using \<open>?r\<close>
 13.1217        apply auto
 13.1218        done
 13.1219    }
 13.1220 @@ -12008,7 +12008,7 @@
 13.1221          unfolding inner_setsum_left[symmetric] integral_combine_division_topdown[OF * d] ..
 13.1222        also have "\<dots> \<le> integral UNIV (\<lambda>x. \<Sum>i\<in>Basis. \<bar>f x\<bullet>i\<bar> *\<^sub>R i::'m) \<bullet> j"
 13.1223          apply (rule integral_subset_component_le)
 13.1224 -        using assms * `j \<in> Basis`
 13.1225 +        using assms * \<open>j \<in> Basis\<close>
 13.1226          apply auto
 13.1227          done
 13.1228        finally show ?case .
 13.1229 @@ -12190,7 +12190,7 @@
 13.1230  qed auto
 13.1231  
 13.1232  
 13.1233 -subsection {* Dominated convergence *}
 13.1234 +subsection \<open>Dominated convergence\<close>
 13.1235  
 13.1236  (* GENERALIZE the following theorems *)
 13.1237  
 13.1238 @@ -12260,7 +12260,7 @@
 13.1239        note r = this
 13.1240  
 13.1241        have "\<exists>y\<in>?S. y < Inf ?S + r"
 13.1242 -        by (subst cInf_less_iff[symmetric]) (auto simp: `x\<in>s` r)
 13.1243 +        by (subst cInf_less_iff[symmetric]) (auto simp: \<open>x\<in>s\<close> r)
 13.1244        then obtain N where N: "f N x < Inf ?S + r" "m \<le> N"
 13.1245          by blast
 13.1246  
 13.1247 @@ -12273,7 +12273,7 @@
 13.1248          show ?case
 13.1249            unfolding real_norm_def
 13.1250              apply (rule *[rule_format, OF N(1)])
 13.1251 -            apply (rule cInf_superset_mono, auto simp: `x\<in>s`) []
 13.1252 +            apply (rule cInf_superset_mono, auto simp: \<open>x\<in>s\<close>) []
 13.1253              apply (rule cInf_lower)
 13.1254              using N goal1
 13.1255              apply auto []
 13.1256 @@ -12327,7 +12327,7 @@
 13.1257      proof (rule LIMSEQ_I)
 13.1258        case goal1 note r=this
 13.1259        have "\<exists>y\<in>?S. Sup ?S - r < y"
 13.1260 -        by (subst less_cSup_iff[symmetric]) (auto simp: r `x\<in>s`)
 13.1261 +        by (subst less_cSup_iff[symmetric]) (auto simp: r \<open>x\<in>s\<close>)
 13.1262        then obtain N where N: "Sup ?S - r < f N x" "m \<le> N"
 13.1263          by blast
 13.1264  
 13.1265 @@ -12340,7 +12340,7 @@
 13.1266          show ?case
 13.1267            apply simp
 13.1268            apply (rule *[rule_format, OF N(1)])
 13.1269 -          apply (rule cSup_subset_mono, auto simp: `x\<in>s`) []
 13.1270 +          apply (rule cSup_subset_mono, auto simp: \<open>x\<in>s\<close>) []
 13.1271            apply (subst cSup_upper)
 13.1272            using N goal1
 13.1273            apply auto
 13.1274 @@ -12374,7 +12374,7 @@
 13.1275  
 13.1276      have *: "\<And>x y::real. x \<ge> - y \<Longrightarrow> - x \<le> y" by auto
 13.1277      show "Inf {f j x |j. k \<le> j} \<le> Inf {f j x |j. Suc k \<le> j}"
 13.1278 -      by (intro cInf_superset_mono) (auto simp: `x\<in>s`)
 13.1279 +      by (intro cInf_superset_mono) (auto simp: \<open>x\<in>s\<close>)
 13.1280  
 13.1281      show "(\<lambda>k::nat. Inf {f j x |j. k \<le> j}) ----> g x"
 13.1282      proof (rule LIMSEQ_I)
 13.1283 @@ -12422,7 +12422,7 @@
 13.1284      assume x: "x \<in> s"
 13.1285  
 13.1286      show "Sup {f j x |j. k \<le> j} \<ge> Sup {f j x |j. Suc k \<le> j}"
 13.1287 -      by (rule cSup_subset_mono) (auto simp: `x\<in>s`)
 13.1288 +      by (rule cSup_subset_mono) (auto simp: \<open>x\<in>s\<close>)
 13.1289      show "((\<lambda>k. Sup {f j x |j. k \<le> j}) ---> g x) sequentially"
 13.1290      proof (rule LIMSEQ_I)
 13.1291        case goal1
    14.1 --- a/src/HOL/Multivariate_Analysis/L2_Norm.thy	Wed Jun 10 19:05:19 2015 +0200
    14.2 +++ b/src/HOL/Multivariate_Analysis/L2_Norm.thy	Wed Jun 10 19:10:20 2015 +0200
    14.3 @@ -2,7 +2,7 @@
    14.4      Author:     Brian Huffman, Portland State University
    14.5  *)
    14.6  
    14.7 -section {* Square root of sum of squares *}
    14.8 +section \<open>Square root of sum of squares\<close>
    14.9  
   14.10  theory L2_Norm
   14.11  imports NthRoot
    15.1 --- a/src/HOL/Multivariate_Analysis/Linear_Algebra.thy	Wed Jun 10 19:05:19 2015 +0200
    15.2 +++ b/src/HOL/Multivariate_Analysis/Linear_Algebra.thy	Wed Jun 10 19:10:20 2015 +0200
    15.3 @@ -2,7 +2,7 @@
    15.4      Author:     Amine Chaieb, University of Cambridge
    15.5  *)
    15.6  
    15.7 -section {* Elementary linear algebra on Euclidean spaces *}
    15.8 +section \<open>Elementary linear algebra on Euclidean spaces\<close>
    15.9  
   15.10  theory Linear_Algebra
   15.11  imports
   15.12 @@ -31,7 +31,7 @@
   15.13    using isCont_power[OF continuous_ident, of x, unfolded isCont_def LIM_eq, rule_format, of e 2]
   15.14    by (force simp add: power2_eq_square)
   15.15  
   15.16 -text{* Hence derive more interesting properties of the norm. *}
   15.17 +text\<open>Hence derive more interesting properties of the norm.\<close>
   15.18  
   15.19  lemma norm_eq_0_dot: "norm x = 0 \<longleftrightarrow> x \<bullet> x = (0::real)"
   15.20    by simp (* TODO: delete *)
   15.21 @@ -55,7 +55,7 @@
   15.22  lemma norm_eq_1: "norm x = 1 \<longleftrightarrow> x \<bullet> x = 1"
   15.23    by (simp add: norm_eq_sqrt_inner)
   15.24  
   15.25 -text{* Squaring equations and inequalities involving norms.  *}
   15.26 +text\<open>Squaring equations and inequalities involving norms.\<close>
   15.27  
   15.28  lemma dot_square_norm: "x \<bullet> x = (norm x)\<^sup>2"
   15.29    by (simp only: power2_norm_eq_inner) (* TODO: move? *)
   15.30 @@ -81,7 +81,7 @@
   15.31  lemma norm_gt_square: "norm x > a \<longleftrightarrow> a < 0 \<or> x \<bullet> x > a\<^sup>2"
   15.32    by (metis norm_le_square not_less)
   15.33  
   15.34 -text{* Dot product in terms of the norm rather than conversely. *}
   15.35 +text\<open>Dot product in terms of the norm rather than conversely.\<close>
   15.36  
   15.37  lemmas inner_simps = inner_add_left inner_add_right inner_diff_right inner_diff_left
   15.38    inner_scaleR_left inner_scaleR_right
   15.39 @@ -93,7 +93,7 @@
   15.40    unfolding power2_norm_eq_inner inner_simps inner_commute
   15.41    by (auto simp add: algebra_simps)
   15.42  
   15.43 -text{* Equality of vectors in terms of @{term "op \<bullet>"} products.    *}
   15.44 +text\<open>Equality of vectors in terms of @{term "op \<bullet>"} products.\<close>
   15.45  
   15.46  lemma vector_eq: "x = y \<longleftrightarrow> x \<bullet> x = x \<bullet> y \<and> y \<bullet> y = x \<bullet> x"
   15.47    (is "?lhs \<longleftrightarrow> ?rhs")
   15.48 @@ -173,7 +173,7 @@
   15.49  qed simp
   15.50  
   15.51  
   15.52 -subsection {* Orthogonality. *}
   15.53 +subsection \<open>Orthogonality.\<close>
   15.54  
   15.55  context real_inner
   15.56  begin
   15.57 @@ -199,7 +199,7 @@
   15.58    by (simp add: orthogonal_def inner_commute)
   15.59  
   15.60  
   15.61 -subsection {* Linear functions. *}
   15.62 +subsection \<open>Linear functions.\<close>
   15.63  
   15.64  lemma linear_iff:
   15.65    "linear f \<longleftrightarrow> (\<forall>x y. f (x + y) = f x + f y) \<and> (\<forall>c x. f (c *\<^sub>R x) = c *\<^sub>R f x)"
   15.66 @@ -301,7 +301,7 @@
   15.67  qed
   15.68  
   15.69  
   15.70 -subsection {* Bilinear functions. *}
   15.71 +subsection \<open>Bilinear functions.\<close>
   15.72  
   15.73  definition "bilinear f \<longleftrightarrow> (\<forall>x. linear (\<lambda>y. f x y)) \<and> (\<forall>y. linear (\<lambda>x. f x y))"
   15.74  
   15.75 @@ -364,7 +364,7 @@
   15.76  qed
   15.77  
   15.78  
   15.79 -subsection {* Adjoints. *}
   15.80 +subsection \<open>Adjoints.\<close>
   15.81  
   15.82  definition "adjoint f = (SOME f'. \<forall>x y. f x \<bullet> y = x \<bullet> f' y)"
   15.83  
   15.84 @@ -389,10 +389,10 @@
   15.85    then show "h = g" by (simp add: ext)
   15.86  qed
   15.87  
   15.88 -text {* TODO: The following lemmas about adjoints should hold for any
   15.89 +text \<open>TODO: The following lemmas about adjoints should hold for any
   15.90  Hilbert space (i.e. complete inner product space).
   15.91  (see @{url "http://en.wikipedia.org/wiki/Hermitian_adjoint"})
   15.92 -*}
   15.93 +\<close>
   15.94  
   15.95  lemma adjoint_works:
   15.96    fixes f :: "'n::euclidean_space \<Rightarrow> 'm::euclidean_space"
   15.97 @@ -437,7 +437,7 @@
   15.98    by (rule adjoint_unique, simp add: adjoint_clauses [OF lf])
   15.99  
  15.100  
  15.101 -subsection {* Interlude: Some properties of real sets *}
  15.102 +subsection \<open>Interlude: Some properties of real sets\<close>
  15.103  
  15.104  lemma seq_mono_lemma:
  15.105    assumes "\<forall>(n::nat) \<ge> m. (d n :: real) < e n"
  15.106 @@ -480,7 +480,7 @@
  15.107  qed
  15.108  
  15.109  
  15.110 -subsection {* A generic notion of "hull" (convex, affine, conic hull and closure). *}
  15.111 +subsection \<open>A generic notion of "hull" (convex, affine, conic hull and closure).\<close>
  15.112  
  15.113  definition hull :: "('a set \<Rightarrow> bool) \<Rightarrow> 'a set \<Rightarrow> 'a set"  (infixl "hull" 75)
  15.114    where "S hull s = \<Inter>{t. S t \<and> s \<subseteq> t}"
  15.115 @@ -547,7 +547,7 @@
  15.116    by (metis hull_redundant_eq)
  15.117  
  15.118  
  15.119 -subsection {* Archimedean properties and useful consequences *}
  15.120 +subsection \<open>Archimedean properties and useful consequences\<close>
  15.121  
  15.122  lemma real_arch_simple: "\<exists>n::nat. x \<le> real n"
  15.123    unfolding real_of_nat_def by (rule ex_le_of_nat)
  15.124 @@ -607,7 +607,7 @@
  15.125    with x1 have ix: "1 < 1/x" by (simp add: field_simps)
  15.126    from real_arch_pow[OF ix, of "1/y"]
  15.127    obtain n where n: "1/y < (1/x)^n" by blast
  15.128 -  then show ?thesis using y `x > 0`
  15.129 +  then show ?thesis using y \<open>x > 0\<close>
  15.130      by (auto simp add: field_simps)
  15.131  next
  15.132    case False
  15.133 @@ -651,7 +651,7 @@
  15.134  qed
  15.135  
  15.136  
  15.137 -subsection{* A bit of linear algebra. *}
  15.138 +subsection\<open>A bit of linear algebra.\<close>
  15.139  
  15.140  definition (in real_vector) subspace :: "'a set \<Rightarrow> bool"
  15.141    where "subspace S \<longleftrightarrow> 0 \<in> S \<and> (\<forall>x \<in> S. \<forall>y \<in> S. x + y \<in> S) \<and> (\<forall>c. \<forall>x \<in> S. c *\<^sub>R x \<in> S)"
  15.142 @@ -660,7 +660,7 @@
  15.143  definition (in real_vector) "dependent S \<longleftrightarrow> (\<exists>a \<in> S. a \<in> span (S - {a}))"
  15.144  abbreviation (in real_vector) "independent s \<equiv> \<not> dependent s"
  15.145  
  15.146 -text {* Closure properties of subspaces. *}
  15.147 +text \<open>Closure properties of subspaces.\<close>
  15.148  
  15.149  lemma subspace_UNIV[simp]: "subspace UNIV"
  15.150    by (simp add: subspace_def)
  15.151 @@ -718,7 +718,7 @@
  15.152  lemma subspace_Times: "subspace A \<Longrightarrow> subspace B \<Longrightarrow> subspace (A \<times> B)"
  15.153    unfolding subspace_def zero_prod_def by simp
  15.154  
  15.155 -text {* Properties of span. *}
  15.156 +text \<open>Properties of span.\<close>
  15.157  
  15.158  lemma (in real_vector) span_mono: "A \<subseteq> B \<Longrightarrow> span A \<subseteq> span B"
  15.159    by (metis span_def hull_mono)
  15.160 @@ -863,7 +863,7 @@
  15.161    shows "h x"
  15.162    using span_induct_alt'[of h S] h0 hS x by blast
  15.163  
  15.164 -text {* Individual closure properties. *}
  15.165 +text \<open>Individual closure properties.\<close>
  15.166  
  15.167  lemma span_span: "span (span A) = span A"
  15.168    unfolding span_def hull_hull ..
  15.169 @@ -902,7 +902,7 @@
  15.170  lemma span_add_eq: "x \<in> span S \<Longrightarrow> x + y \<in> span S \<longleftrightarrow> y \<in> span S"
  15.171    by (metis add_minus_cancel scaleR_minus1_left subspace_def subspace_span)
  15.172  
  15.173 -text {* Mapping under linear image. *}
  15.174 +text \<open>Mapping under linear image.\<close>
  15.175  
  15.176  lemma span_linear_image:
  15.177    assumes lf: "linear f"
  15.178 @@ -938,7 +938,7 @@
  15.179      by (auto intro!: subspace_add elim: span_induct)
  15.180  qed
  15.181  
  15.182 -text {* The key breakdown property. *}
  15.183 +text \<open>The key breakdown property.\<close>
  15.184  
  15.185  lemma span_singleton: "span {x} = range (\<lambda>k. k *\<^sub>R x)"
  15.186  proof (rule span_unique)
  15.187 @@ -976,7 +976,7 @@
  15.188  lemma span_breakdown_eq: "x \<in> span (insert a S) \<longleftrightarrow> (\<exists>k. x - k *\<^sub>R a \<in> span S)"
  15.189    by (simp add: span_insert)
  15.190  
  15.191 -text {* Hence some "reversal" results. *}
  15.192 +text \<open>Hence some "reversal" results.\<close>
  15.193  
  15.194  lemma in_span_insert:
  15.195    assumes a: "a \<in> span (insert b S)"
  15.196 @@ -995,7 +995,7 @@
  15.197      from k have "(- inverse k) *\<^sub>R (a - k *\<^sub>R b) \<in> span S"
  15.198        by (rule span_mul)
  15.199      then have "b - inverse k *\<^sub>R a \<in> span S"
  15.200 -      using `k \<noteq> 0` by (simp add: scaleR_diff_right)
  15.201 +      using \<open>k \<noteq> 0\<close> by (simp add: scaleR_diff_right)
  15.202      then show ?thesis
  15.203        unfolding span_insert by fast
  15.204    qed
  15.205 @@ -1013,7 +1013,7 @@
  15.206    apply (rule na)
  15.207    done
  15.208  
  15.209 -text {* Transitivity property. *}
  15.210 +text \<open>Transitivity property.\<close>
  15.211  
  15.212  lemma span_redundant: "x \<in> span S \<Longrightarrow> span (insert x S) = span S"
  15.213    unfolding span_def by (rule hull_redundant)
  15.214 @@ -1027,7 +1027,7 @@
  15.215  lemma span_insert_0[simp]: "span (insert 0 S) = span S"
  15.216    by (simp only: span_redundant span_0)
  15.217  
  15.218 -text {* An explicit expansion is sometimes needed. *}
  15.219 +text \<open>An explicit expansion is sometimes needed.\<close>
  15.220  
  15.221  lemma span_explicit:
  15.222    "span P = {y. \<exists>S u. finite S \<and> S \<subseteq> P \<and> setsum (\<lambda>v. u v *\<^sub>R v) S = y}"
  15.223 @@ -1168,7 +1168,7 @@
  15.224    ultimately show ?thesis by blast
  15.225  qed
  15.226  
  15.227 -text {* This is useful for building a basis step-by-step. *}
  15.228 +text \<open>This is useful for building a basis step-by-step.\<close>
  15.229  
  15.230  lemma independent_insert:
  15.231    "independent (insert a S) \<longleftrightarrow>
  15.232 @@ -1201,7 +1201,7 @@
  15.233    qed
  15.234  qed
  15.235  
  15.236 -text {* The degenerate case of the Exchange Lemma. *}
  15.237 +text \<open>The degenerate case of the Exchange Lemma.\<close>
  15.238  
  15.239  lemma spanning_subset_independent:
  15.240    assumes BA: "B \<subseteq> A"
  15.241 @@ -1240,7 +1240,7 @@
  15.242    then show "A \<subseteq> B" by blast
  15.243  qed
  15.244  
  15.245 -text {* The general case of the Exchange Lemma, the key to what follows. *}
  15.246 +text \<open>The general case of the Exchange Lemma, the key to what follows.\<close>
  15.247  
  15.248  lemma exchange_lemma:
  15.249    assumes f:"finite t"
  15.250 @@ -1250,7 +1250,7 @@
  15.251    using f i sp
  15.252  proof (induct "card (t - s)" arbitrary: s t rule: less_induct)
  15.253    case less
  15.254 -  note ft = `finite t` and s = `independent s` and sp = `s \<subseteq> span t`
  15.255 +  note ft = \<open>finite t\<close> and s = \<open>independent s\<close> and sp = \<open>s \<subseteq> span t\<close>
  15.256    let ?P = "\<lambda>t'. card t' = card t \<and> finite t' \<and> s \<subseteq> t' \<and> t' \<subseteq> s \<union> t \<and> s \<subseteq> span t'"
  15.257    let ?ths = "\<exists>t'. ?P t'"
  15.258    {
  15.259 @@ -1347,7 +1347,7 @@
  15.260    ultimately show ?ths by blast
  15.261  qed
  15.262  
  15.263 -text {* This implies corresponding size bounds. *}
  15.264 +text \<open>This implies corresponding size bounds.\<close>
  15.265  
  15.266  lemma independent_span_bound:
  15.267    assumes f: "finite t"
  15.268 @@ -1367,7 +1367,7 @@
  15.269  qed
  15.270  
  15.271  
  15.272 -subsection {* Euclidean Spaces as Typeclass *}
  15.273 +subsection \<open>Euclidean Spaces as Typeclass\<close>
  15.274  
  15.275  lemma independent_Basis: "independent Basis"
  15.276    unfolding dependent_def
  15.277 @@ -1429,7 +1429,7 @@
  15.278  qed
  15.279  
  15.280  
  15.281 -subsection {* Linearity and Bilinearity continued *}
  15.282 +subsection \<open>Linearity and Bilinearity continued\<close>
  15.283  
  15.284  lemma linear_bounded:
  15.285    fixes f :: "'a::euclidean_space \<Rightarrow> 'b::real_normed_vector"
  15.286 @@ -1473,7 +1473,7 @@
  15.287    show "bounded_linear f"
  15.288    proof
  15.289      have "\<exists>B. \<forall>x. norm (f x) \<le> B * norm x"
  15.290 -      using `linear f` by (rule linear_bounded)
  15.291 +      using \<open>linear f\<close> by (rule linear_bounded)
  15.292      then show "\<exists>K. \<forall>x. norm (f x) \<le> norm x * K"
  15.293        by (simp add: mult.commute)
  15.294    qed
  15.295 @@ -1540,24 +1540,24 @@
  15.296    proof
  15.297      fix x y z
  15.298      show "h (x + y) z = h x z + h y z"
  15.299 -      using `bilinear h` unfolding bilinear_def linear_iff by simp
  15.300 +      using \<open>bilinear h\<close> unfolding bilinear_def linear_iff by simp
  15.301    next
  15.302      fix x y z
  15.303      show "h x (y + z) = h x y + h x z"
  15.304 -      using `bilinear h` unfolding bilinear_def linear_iff by simp
  15.305 +      using \<open>bilinear h\<close> unfolding bilinear_def linear_iff by simp
  15.306    next
  15.307      fix r x y
  15.308      show "h (scaleR r x) y = scaleR r (h x y)"
  15.309 -      using `bilinear h` unfolding bilinear_def linear_iff
  15.310 +      using \<open>bilinear h\<close> unfolding bilinear_def linear_iff
  15.311        by simp
  15.312    next
  15.313      fix r x y
  15.314      show "h x (scaleR r y) = scaleR r (h x y)"
  15.315 -      using `bilinear h` unfolding bilinear_def linear_iff
  15.316 +      using \<open>bilinear h\<close> unfolding bilinear_def linear_iff
  15.317        by simp
  15.318    next
  15.319      have "\<exists>B. \<forall>x y. norm (h x y) \<le> B * norm x * norm y"
  15.320 -      using `bilinear h` by (rule bilinear_bounded)
  15.321 +      using \<open>bilinear h\<close> by (rule bilinear_bounded)
  15.322      then show "\<exists>K. \<forall>x y. norm (h x y) \<le> norm x * norm y * K"
  15.323        by (simp add: ac_simps)
  15.324    qed
  15.325 @@ -1582,7 +1582,7 @@
  15.326  qed
  15.327  
  15.328  
  15.329 -subsection {* We continue. *}
  15.330 +subsection \<open>We continue.\<close>
  15.331  
  15.332  lemma independent_bound:
  15.333    fixes S :: "'a::euclidean_space set"
  15.334 @@ -1600,7 +1600,7 @@
  15.335    shows "(finite S \<Longrightarrow> card S > DIM('a)) \<Longrightarrow> dependent S"
  15.336    by (metis independent_bound not_less)
  15.337  
  15.338 -text {* Hence we can create a maximal independent subset. *}
  15.339 +text \<open>Hence we can create a maximal independent subset.\<close>
  15.340  
  15.341  lemma maximal_independent_subset_extend:
  15.342    fixes S :: "'a::euclidean_space set"
  15.343 @@ -1610,7 +1610,7 @@
  15.344    using sv iS
  15.345  proof (induct "DIM('a) - card S" arbitrary: S rule: less_induct)
  15.346    case less
  15.347 -  note sv = `S \<subseteq> V` and i = `independent S`
  15.348 +  note sv = \<open>S \<subseteq> V\<close> and i = \<open>independent S\<close>
  15.349    let ?P = "\<lambda>B. S \<subseteq> B \<and> B \<subseteq> V \<and> independent B \<and> V \<subseteq> span B"
  15.350    let ?ths = "\<exists>x. ?P x"
  15.351    let ?d = "DIM('a)"
  15.352 @@ -1647,7 +1647,7 @@
  15.353      empty_subsetI independent_empty)
  15.354  
  15.355  
  15.356 -text {* Notion of dimension. *}
  15.357 +text \<open>Notion of dimension.\<close>
  15.358  
  15.359  definition "dim V = (SOME n. \<exists>B. B \<subseteq> V \<and> independent B \<and> V \<subseteq> span B \<and> card B = n)"
  15.360  
  15.361 @@ -1662,7 +1662,7 @@
  15.362    shows "finite s \<Longrightarrow> dim s \<le> card s"
  15.363  by (metis basis_exists card_mono)
  15.364  
  15.365 -text {* Consequences of independence or spanning for cardinality. *}
  15.366 +text \<open>Consequences of independence or spanning for cardinality.\<close>
  15.367  
  15.368  lemma independent_card_le_dim:
  15.369    fixes B :: "'a::euclidean_space set"
  15.370 @@ -1670,12 +1670,12 @@
  15.371      and "independent B"
  15.372    shows "card B \<le> dim V"
  15.373  proof -
  15.374 -  from basis_exists[of V] `B \<subseteq> V`
  15.375 +  from basis_exists[of V] \<open>B \<subseteq> V\<close>
  15.376    obtain B' where "independent B'"
  15.377      and "B \<subseteq> span B'"
  15.378      and "card B' = dim V"
  15.379      by blast
  15.380 -  with independent_span_bound[OF _ `independent B` `B \<subseteq> span B'`] independent_bound[of B']
  15.381 +  with independent_span_bound[OF _ \<open>independent B\<close> \<open>B \<subseteq> span B'\<close>] independent_bound[of B']
  15.382    show ?thesis by auto
  15.383  qed
  15.384  
  15.385 @@ -1694,7 +1694,7 @@
  15.386    shows "B \<subseteq> V \<Longrightarrow> V \<subseteq> span B \<Longrightarrow> independent B \<Longrightarrow> card B = n \<Longrightarrow> dim V = n"
  15.387    by (metis basis_card_eq_dim)
  15.388  
  15.389 -text {* More lemmas about dimension. *}
  15.390 +text \<open>More lemmas about dimension.\<close>
  15.391  
  15.392  lemma dim_UNIV: "dim (UNIV :: 'a::euclidean_space set) = DIM('a)"
  15.393    using independent_Basis
  15.394 @@ -1711,7 +1711,7 @@
  15.395    shows "dim S \<le> DIM('a)"
  15.396    by (metis dim_subset subset_UNIV dim_UNIV)
  15.397  
  15.398 -text {* Converses to those. *}
  15.399 +text \<open>Converses to those.\<close>
  15.400  
  15.401  lemma card_ge_dim_independent:
  15.402    fixes B :: "'a::euclidean_space set"
  15.403 @@ -1779,7 +1779,7 @@
  15.404    shows "B \<subseteq> V \<Longrightarrow> card B = dim V \<Longrightarrow> finite B \<Longrightarrow> independent B \<longleftrightarrow> V \<subseteq> span B"
  15.405    by (metis order_eq_iff card_le_dim_spanning card_ge_dim_independent)
  15.406  
  15.407 -text {* More general size bound lemmas. *}
  15.408 +text \<open>More general size bound lemmas.\<close>
  15.409  
  15.410  lemma independent_bound_general:
  15.411    fixes S :: "'a::euclidean_space set"
  15.412 @@ -1845,7 +1845,7 @@
  15.413    finally show ?thesis .
  15.414  qed
  15.415  
  15.416 -text {* Relation between bases and injectivity/surjectivity of map. *}
  15.417 +text \<open>Relation between bases and injectivity/surjectivity of map.\<close>
  15.418  
  15.419  lemma spanning_surjective_image:
  15.420    assumes us: "UNIV \<subseteq> span S"
  15.421 @@ -1882,7 +1882,7 @@
  15.422      unfolding dependent_def by blast
  15.423  qed
  15.424  
  15.425 -text {* Picking an orthogonal replacement for a spanning set. *}
  15.426 +text \<open>Picking an orthogonal replacement for a spanning set.\<close>
  15.427  
  15.428  (* FIXME : Move to some general theory ?*)
  15.429  definition "pairwise R S \<longleftrightarrow> (\<forall>x \<in> S. \<forall>y\<in> S. x\<noteq>y \<longrightarrow> R x y)"
  15.430 @@ -1913,8 +1913,8 @@
  15.431      done
  15.432  next
  15.433    case (insert a B)
  15.434 -  note fB = `finite B` and aB = `a \<notin> B`
  15.435 -  from `\<exists>C. finite C \<and> card C \<le> card B \<and> span C = span B \<and> pairwise orthogonal C`
  15.436 +  note fB = \<open>finite B\<close> and aB = \<open>a \<notin> B\<close>
  15.437 +  from \<open>\<exists>C. finite C \<and> card C \<le> card B \<and> span C = span B \<and> pairwise orthogonal C\<close>
  15.438    obtain C where C: "finite C" "card C \<le> card B"
  15.439      "span C = span B" "pairwise orthogonal C" by blast
  15.440    let ?a = "a - setsum (\<lambda>x. (x \<bullet> a / (x \<bullet> x)) *\<^sub>R x) C"
  15.441 @@ -1950,14 +1950,14 @@
  15.442      have "orthogonal ?a y"
  15.443        unfolding orthogonal_def
  15.444        unfolding inner_diff inner_setsum_left right_minus_eq
  15.445 -      unfolding setsum.remove [OF `finite C` `y \<in> C`]
  15.446 +      unfolding setsum.remove [OF \<open>finite C\<close> \<open>y \<in> C\<close>]
  15.447        apply (clarsimp simp add: inner_commute[of y a])
  15.448        apply (rule setsum.neutral)
  15.449        apply clarsimp
  15.450        apply (rule C(4)[unfolded pairwise_def orthogonal_def, rule_format])
  15.451 -      using `y \<in> C` by auto
  15.452 +      using \<open>y \<in> C\<close> by auto
  15.453    }
  15.454 -  with `pairwise orthogonal C` have CPO: "pairwise orthogonal ?C"
  15.455 +  with \<open>pairwise orthogonal C\<close> have CPO: "pairwise orthogonal ?C"
  15.456      by (rule pairwise_orthogonal_insert)
  15.457    from fC cC SC CPO have "?P (insert a B) ?C"
  15.458      by blast
  15.459 @@ -1998,7 +1998,7 @@
  15.460    using span_inc[unfolded subset_eq] using span_mono[of T "span S"] span_mono[of S "span T"]
  15.461    by (auto simp add: span_span)
  15.462  
  15.463 -text {* Low-dimensional subset is in a hyperplane (weak orthogonal complement). *}
  15.464 +text \<open>Low-dimensional subset is in a hyperplane (weak orthogonal complement).\<close>
  15.465  
  15.466  lemma span_not_univ_orthogonal:
  15.467    fixes S :: "'a::euclidean_space set"
  15.468 @@ -2081,7 +2081,7 @@
  15.469    from span_not_univ_subset_hyperplane[OF th] show ?thesis .
  15.470  qed
  15.471  
  15.472 -text {* We can extend a linear basis-basis injection to the whole set. *}
  15.473 +text \<open>We can extend a linear basis-basis injection to the whole set.\<close>
  15.474  
  15.475  lemma linear_indep_image_lemma:
  15.476    assumes lf: "linear f"
  15.477 @@ -2144,7 +2144,7 @@
  15.478    from "2.hyps"(3)[OF fb ifb fib xsb "2.prems"(5)] show "x = 0" .
  15.479  qed
  15.480  
  15.481 -text {* We can extend a linear mapping from basis. *}
  15.482 +text \<open>We can extend a linear mapping from basis.\<close>
  15.483  
  15.484  lemma linear_independent_extend_lemma:
  15.485    fixes f :: "'a::real_vector \<Rightarrow> 'b::real_vector"
  15.486 @@ -2290,7 +2290,7 @@
  15.487      done
  15.488  qed
  15.489  
  15.490 -text {* Can construct an isomorphism between spaces of same dimension. *}
  15.491 +text \<open>Can construct an isomorphism between spaces of same dimension.\<close>
  15.492  
  15.493  lemma subspace_isomorphism:
  15.494    fixes S :: "'a::euclidean_space set"
  15.495 @@ -2307,7 +2307,7 @@
  15.496    obtain C where C: "C \<subseteq> T" "independent C" "T \<subseteq> span C" "card C = dim T" and fC: "finite C"
  15.497      by blast
  15.498    from B(4) C(4) card_le_inj[of B C] d
  15.499 -  obtain f where f: "f ` B \<subseteq> C" "inj_on f B" using `finite B` `finite C`
  15.500 +  obtain f where f: "f ` B \<subseteq> C" "inj_on f B" using \<open>finite B\<close> \<open>finite C\<close>
  15.501      by auto
  15.502    from linear_independent_extend[OF B(2)]
  15.503    obtain g where g: "linear g" "\<forall>x\<in> B. g x = f x"
  15.504 @@ -2346,7 +2346,7 @@
  15.505      by blast
  15.506  qed
  15.507  
  15.508 -text {* Linear functions are equal on a subspace if they are on a spanning set. *}
  15.509 +text \<open>Linear functions are equal on a subspace if they are on a spanning set.\<close>
  15.510  
  15.511  lemma subspace_kernel:
  15.512    assumes lf: "linear f"
  15.513 @@ -2389,7 +2389,7 @@
  15.514    shows "f = g"
  15.515    using linear_eq[OF lf lg, of _ Basis] fg by auto
  15.516  
  15.517 -text {* Similar results for bilinear functions. *}
  15.518 +text \<open>Similar results for bilinear functions.\<close>
  15.519  
  15.520  lemma bilinear_eq:
  15.521    assumes bf: "bilinear f"
  15.522 @@ -2427,7 +2427,7 @@
  15.523    shows "f = g"
  15.524    using bilinear_eq[OF bf bg equalityD2[OF span_Basis] equalityD2[OF span_Basis] fg] by blast
  15.525  
  15.526 -text {* Detailed theorems about left and right invertibility in general case. *}
  15.527 +text \<open>Detailed theorems about left and right invertibility in general case.\<close>
  15.528  
  15.529  lemma linear_injective_left_inverse:
  15.530    fixes f :: "'a::euclidean_space \<Rightarrow> 'b::euclidean_space"
  15.531 @@ -2464,7 +2464,7 @@
  15.532      using h(1) by blast
  15.533  qed
  15.534  
  15.535 -text {* An injective map @{typ "'a::euclidean_space \<Rightarrow> 'b::euclidean_space"} is also surjective. *}
  15.536 +text \<open>An injective map @{typ "'a::euclidean_space \<Rightarrow> 'b::euclidean_space"} is also surjective.\<close>
  15.537  
  15.538  lemma linear_injective_imp_surjective:
  15.539    fixes f :: "'a::euclidean_space \<Rightarrow> 'a::euclidean_space"
  15.540 @@ -2494,7 +2494,7 @@
  15.541      using B(3) by blast
  15.542  qed
  15.543  
  15.544 -text {* And vice versa. *}
  15.545 +text \<open>And vice versa.\<close>
  15.546  
  15.547  lemma surjective_iff_injective_gen:
  15.548    assumes fS: "finite S"
  15.549 @@ -2599,7 +2599,7 @@
  15.550      by blast
  15.551  qed
  15.552  
  15.553 -text {* Hence either is enough for isomorphism. *}
  15.554 +text \<open>Hence either is enough for isomorphism.\<close>
  15.555  
  15.556  lemma left_right_inverse_eq:
  15.557    assumes fg: "f \<circ> g = id"
  15.558 @@ -2638,8 +2638,8 @@
  15.559      linear_injective_left_inverse[OF lf linear_surjective_imp_injective[OF lf sf]]
  15.560    by (metis left_right_inverse_eq)
  15.561  
  15.562 -text {* Left and right inverses are the same for
  15.563 -  @{typ "'a::euclidean_space \<Rightarrow> 'a::euclidean_space"}. *}
  15.564 +text \<open>Left and right inverses are the same for
  15.565 +  @{typ "'a::euclidean_space \<Rightarrow> 'a::euclidean_space"}.\<close>
  15.566  
  15.567  lemma linear_inverse_left:
  15.568    fixes f :: "'a::euclidean_space \<Rightarrow> 'a::euclidean_space"
  15.569 @@ -2663,7 +2663,7 @@
  15.570      using lf lf' by metis
  15.571  qed
  15.572  
  15.573 -text {* Moreover, a one-sided inverse is automatically linear. *}
  15.574 +text \<open>Moreover, a one-sided inverse is automatically linear.\<close>
  15.575  
  15.576  lemma left_inverse_linear:
  15.577    fixes f :: "'a::euclidean_space \<Rightarrow> 'a::euclidean_space"
  15.578 @@ -2687,7 +2687,7 @@
  15.579  qed
  15.580  
  15.581  
  15.582 -subsection {* Infinity norm *}
  15.583 +subsection \<open>Infinity norm\<close>
  15.584  
  15.585  definition "infnorm (x::'a::euclidean_space) = Sup {\<bar>x \<bullet> b\<bar> |b. b \<in> Basis}"
  15.586  
  15.587 @@ -2792,7 +2792,7 @@
  15.588  lemma infnorm_pos_lt: "infnorm x > 0 \<longleftrightarrow> x \<noteq> 0"
  15.589    using infnorm_pos_le[of x] infnorm_eq_0[of x] by arith
  15.590  
  15.591 -text {* Prove that it differs only up to a bound from Euclidean norm. *}
  15.592 +text \<open>Prove that it differs only up to a bound from Euclidean norm.\<close>
  15.593  
  15.594  lemma infnorm_le_norm: "infnorm x \<le> norm x"
  15.595    by (simp add: Basis_le_norm infnorm_Max)
  15.596 @@ -2838,7 +2838,7 @@
  15.597      by (metis real_norm_def le_less_trans real_abs_sub_infnorm infnorm_le_norm)
  15.598  qed
  15.599  
  15.600 -text {* Equality in Cauchy-Schwarz and triangle inequalities. *}
  15.601 +text \<open>Equality in Cauchy-Schwarz and triangle inequalities.\<close>
  15.602  
  15.603  lemma norm_cauchy_schwarz_eq: "x \<bullet> y = norm x * norm y \<longleftrightarrow> norm x *\<^sub>R y = norm y *\<^sub>R x"
  15.604    (is "?lhs \<longleftrightarrow> ?rhs")
  15.605 @@ -2928,7 +2928,7 @@
  15.606  qed
  15.607  
  15.608  
  15.609 -subsection {* Collinearity *}
  15.610 +subsection \<open>Collinearity\<close>
  15.611  
  15.612  definition collinear :: "'a::real_vector set \<Rightarrow> bool"
  15.613    where "collinear S \<longleftrightarrow> (\<exists>u. \<forall>x \<in> S. \<forall> y \<in> S. \<exists>c. x - y = c *\<^sub>R u)"
    16.1 --- a/src/HOL/Multivariate_Analysis/Norm_Arith.thy	Wed Jun 10 19:05:19 2015 +0200
    16.2 +++ b/src/HOL/Multivariate_Analysis/Norm_Arith.thy	Wed Jun 10 19:10:20 2015 +0200
    16.3 @@ -2,7 +2,7 @@
    16.4      Author:     Amine Chaieb, University of Cambridge
    16.5  *)
    16.6  
    16.7 -section {* General linear decision procedure for normed spaces *}
    16.8 +section \<open>General linear decision procedure for normed spaces\<close>
    16.9  
   16.10  theory Norm_Arith
   16.11  imports "~~/src/HOL/Library/Sum_of_Squares"
   16.12 @@ -126,12 +126,12 @@
   16.13  
   16.14  ML_file "normarith.ML"
   16.15  
   16.16 -method_setup norm = {*
   16.17 +method_setup norm = \<open>
   16.18    Scan.succeed (SIMPLE_METHOD' o NormArith.norm_arith_tac)
   16.19 -*} "prove simple linear statements about vector norms"
   16.20 +\<close> "prove simple linear statements about vector norms"
   16.21  
   16.22  
   16.23 -text {* Hence more metric properties. *}
   16.24 +text \<open>Hence more metric properties.\<close>
   16.25  
   16.26  lemma dist_triangle_add:
   16.27    fixes x y x' y' :: "'a::real_normed_vector"
    17.1 --- a/src/HOL/Multivariate_Analysis/Operator_Norm.thy	Wed Jun 10 19:05:19 2015 +0200
    17.2 +++ b/src/HOL/Multivariate_Analysis/Operator_Norm.thy	Wed Jun 10 19:10:20 2015 +0200
    17.3 @@ -3,13 +3,13 @@
    17.4      Author:     Brian Huffman
    17.5  *)
    17.6  
    17.7 -section {* Operator Norm *}
    17.8 +section \<open>Operator Norm\<close>
    17.9  
   17.10  theory Operator_Norm
   17.11  imports Complex_Main
   17.12  begin
   17.13  
   17.14 -text {* This formulation yields zero if @{text 'a} is the trivial vector space. *}
   17.15 +text \<open>This formulation yields zero if @{text 'a} is the trivial vector space.\<close>
   17.16  
   17.17  definition onorm :: "('a::real_normed_vector \<Rightarrow> 'b::real_normed_vector) \<Rightarrow> real"
   17.18    where "onorm f = (SUP x. norm (f x) / norm x)"
   17.19 @@ -24,7 +24,7 @@
   17.20      using assms by (cases "x = 0") (simp_all add: pos_divide_le_eq)
   17.21  qed simp
   17.22  
   17.23 -text {* In non-trivial vector spaces, the first assumption is redundant. *}
   17.24 +text \<open>In non-trivial vector spaces, the first assumption is redundant.\<close>
   17.25  
   17.26  lemma onorm_le:
   17.27    fixes f :: "'a::{real_normed_vector, perfect_space} \<Rightarrow> 'b::real_normed_vector"
   17.28 @@ -35,7 +35,7 @@
   17.29    then obtain a :: 'a where "a \<noteq> 0" by fast
   17.30    have "0 \<le> b * norm a"
   17.31      by (rule order_trans [OF norm_ge_zero assms])
   17.32 -  with `a \<noteq> 0` show "0 \<le> b"
   17.33 +  with \<open>a \<noteq> 0\<close> show "0 \<le> b"
   17.34      by (simp add: zero_le_mult_iff)
   17.35  qed
   17.36  
   17.37 @@ -69,7 +69,7 @@
   17.38      have "norm (f x) / norm x \<le> onorm f"
   17.39        by (rule le_onorm [OF assms])
   17.40      then show "norm (f x) \<le> onorm f * norm x"
   17.41 -      by (simp add: pos_divide_le_eq `x \<noteq> 0`)
   17.42 +      by (simp add: pos_divide_le_eq \<open>x \<noteq> 0\<close>)
   17.43    qed
   17.44  qed
   17.45  
   17.46 @@ -141,7 +141,7 @@
   17.47        using bounded_linear_scaleR_right f by (rule bounded_linear_compose)
   17.48      then have "onorm (\<lambda>x. inverse r *\<^sub>R r *\<^sub>R f x) \<le> \<bar>inverse r\<bar> * onorm (\<lambda>x. r *\<^sub>R f x)"
   17.49        by (rule onorm_scaleR_lemma)
   17.50 -    with `r \<noteq> 0` show "\<bar>r\<bar> * onorm f \<le> onorm (\<lambda>x. r *\<^sub>R f x)"
   17.51 +    with \<open>r \<noteq> 0\<close> show "\<bar>r\<bar> * onorm f \<le> onorm (\<lambda>x. r *\<^sub>R f x)"
   17.52        by (simp add: inverse_eq_divide pos_le_divide_eq mult.commute)
   17.53    qed
   17.54  qed (simp add: onorm_zero)
    18.1 --- a/src/HOL/Multivariate_Analysis/Ordered_Euclidean_Space.thy	Wed Jun 10 19:05:19 2015 +0200
    18.2 +++ b/src/HOL/Multivariate_Analysis/Ordered_Euclidean_Space.thy	Wed Jun 10 19:10:20 2015 +0200
    18.3 @@ -4,7 +4,7 @@
    18.4    "~~/src/HOL/Library/Product_Order"
    18.5  begin
    18.6  
    18.7 -subsection {* An ordering on euclidean spaces that will allow us to talk about intervals *}
    18.8 +subsection \<open>An ordering on euclidean spaces that will allow us to talk about intervals\<close>
    18.9  
   18.10  class ordered_euclidean_space = ord + inf + sup + abs + Inf + Sup + euclidean_space +
   18.11    assumes eucl_le: "x \<le> y \<longleftrightarrow> (\<forall>i\<in>Basis. x \<bullet> i \<le> y \<bullet> i)"
   18.12 @@ -119,7 +119,7 @@
   18.13    hence "Inf ?proj = x \<bullet> b"
   18.14      by (auto intro!: conditionally_complete_lattice_class.cInf_eq_minimum simp del: Inf_class.Inf_image_eq)
   18.15    hence "x \<bullet> b = Inf X \<bullet> b"
   18.16 -    by (auto simp: eucl_Inf Inf_class.INF_def inner_setsum_left inner_Basis if_distrib `b \<in> Basis` setsum.delta
   18.17 +    by (auto simp: eucl_Inf Inf_class.INF_def inner_setsum_left inner_Basis if_distrib \<open>b \<in> Basis\<close> setsum.delta
   18.18        simp del: Inf_class.Inf_image_eq
   18.19        cong: if_cong)
   18.20    with x show "\<exists>x. x \<in> X \<and> x \<bullet> b = Inf X \<bullet> b \<and> (\<forall>y. y \<in> X \<longrightarrow> x \<bullet> b \<le> y \<bullet> b)" by blast
   18.21 @@ -142,7 +142,7 @@
   18.22    hence "Sup ?proj = x \<bullet> b"
   18.23      by (auto intro!: cSup_eq_maximum simp del: Sup_image_eq)
   18.24    hence "x \<bullet> b = Sup X \<bullet> b"
   18.25 -    by (auto simp: eucl_Sup[where 'a='a] SUP_def inner_setsum_left inner_Basis if_distrib `b \<in> Basis` setsum.delta
   18.26 +    by (auto simp: eucl_Sup[where 'a='a] SUP_def inner_setsum_left inner_Basis if_distrib \<open>b \<in> Basis\<close> setsum.delta
   18.27        simp del: Sup_image_eq cong: if_cong)
   18.28    with x show "\<exists>x. x \<in> X \<and> x \<bullet> b = Sup X \<bullet> b \<and> (\<forall>y. y \<in> X \<longrightarrow> y \<bullet> b \<le> x \<bullet> b)" by blast
   18.29  qed
   18.30 @@ -174,7 +174,7 @@
   18.31        inner_Basis_SUP_left Sup_prod_def less_prod_def less_eq_prod_def eucl_le[where 'a='a]
   18.32        eucl_le[where 'a='b] abs_prod_def abs_inner)
   18.33  
   18.34 -text{* Instantiation for intervals on @{text ordered_euclidean_space} *}
   18.35 +text\<open>Instantiation for intervals on @{text ordered_euclidean_space}\<close>
   18.36  
   18.37  lemma
   18.38    fixes a :: "'a\<Colon>ordered_euclidean_space"
    19.1 --- a/src/HOL/Multivariate_Analysis/Path_Connected.thy	Wed Jun 10 19:05:19 2015 +0200
    19.2 +++ b/src/HOL/Multivariate_Analysis/Path_Connected.thy	Wed Jun 10 19:10:20 2015 +0200
    19.3 @@ -2,7 +2,7 @@
    19.4      Author:     Robert Himmelmann, TU Muenchen, and LCP with material from HOL Light
    19.5  *)
    19.6  
    19.7 -section {* Continuous paths and path-connected sets *}
    19.8 +section \<open>Continuous paths and path-connected sets\<close>
    19.9  
   19.10  theory Path_Connected
   19.11  imports Convex_Euclidean_Space
   19.12 @@ -74,7 +74,7 @@
   19.13    fixes u::real shows "closed_segment u v = (\<lambda>x. (v - u) * x + u) ` {0..1}"
   19.14    by (simp add: add.commute [of u] image_affinity_atLeastAtMost [where c=u] closed_segment_eq_real_ivl)
   19.15  
   19.16 -subsection {* Paths and Arcs *}
   19.17 +subsection \<open>Paths and Arcs\<close>
   19.18  
   19.19  definition path :: "(real \<Rightarrow> 'a::topological_space) \<Rightarrow> bool"
   19.20    where "path g \<longleftrightarrow> continuous_on {0..1} g"
   19.21 @@ -103,7 +103,7 @@
   19.22    where "arc g \<longleftrightarrow> path g \<and> inj_on g {0..1}"
   19.23  
   19.24  
   19.25 -subsection{*Invariance theorems*}
   19.26 +subsection\<open>Invariance theorems\<close>
   19.27  
   19.28  lemma path_eq: "path p \<Longrightarrow> (\<And>t. t \<in> {0..1} \<Longrightarrow> p t = q t) \<Longrightarrow> path q"
   19.29    using continuous_on_eq path_def by blast
   19.30 @@ -198,7 +198,7 @@
   19.31    using assms inj_on_eq_iff [of f]
   19.32    by (auto simp: arc_def inj_on_def path_linear_image_eq)
   19.33  
   19.34 -subsection{*Basic lemmas about paths*}
   19.35 +subsection\<open>Basic lemmas about paths\<close>
   19.36  
   19.37  lemma arc_imp_simple_path: "arc g \<Longrightarrow> simple_path g"
   19.38    by (simp add: arc_def inj_on_def simple_path_def)
   19.39 @@ -358,7 +358,7 @@
   19.40      done
   19.41  qed
   19.42  
   19.43 -section {*Path Images*}
   19.44 +section \<open>Path Images\<close>
   19.45  
   19.46  lemma bounded_path_image: "path g \<Longrightarrow> bounded(path_image g)"
   19.47    by (simp add: compact_imp_bounded compact_path_image)
   19.48 @@ -451,7 +451,7 @@
   19.49    by (auto simp: simple_path_def path_image_def inj_on_def less_eq_real_def Ball_def)
   19.50  
   19.51  
   19.52 -subsection{*Simple paths with the endpoints removed*}
   19.53 +subsection\<open>Simple paths with the endpoints removed\<close>
   19.54  
   19.55  lemma simple_path_endless:
   19.56      "simple_path c \<Longrightarrow> path_image c - {pathstart c,pathfinish c} = c ` {0<..<1}"
   19.57 @@ -474,7 +474,7 @@
   19.58    by (simp add: simple_path_endless)
   19.59  
   19.60  
   19.61 -subsection{* The operations on paths*}
   19.62 +subsection\<open>The operations on paths\<close>
   19.63  
   19.64  lemma path_image_subset_reversepath: "path_image(reversepath g) \<le> path_image g"
   19.65    by (auto simp: path_image_def reversepath_def)
   19.66 @@ -630,7 +630,7 @@
   19.67    by (rule ext) (auto simp: mult.commute)
   19.68  
   19.69  
   19.70 -subsection{* Choosing a subpath of an existing path*}
   19.71 +subsection\<open>Choosing a subpath of an existing path\<close>
   19.72      
   19.73  definition subpath :: "real \<Rightarrow> real \<Rightarrow> (real \<Rightarrow> 'a) \<Rightarrow> real \<Rightarrow> 'a::real_normed_vector"
   19.74    where "subpath a b g \<equiv> \<lambda>x. g((b - a) * x + a)"
   19.75 @@ -802,7 +802,7 @@
   19.76    by (rule ext) (simp add: joinpaths_def subpath_def divide_simps)
   19.77  
   19.78  
   19.79 -subsection {* Reparametrizing a closed curve to start at some chosen point *}
   19.80 +subsection \<open>Reparametrizing a closed curve to start at some chosen point\<close>
   19.81  
   19.82  definition shiftpath :: "real \<Rightarrow> (real \<Rightarrow> 'a::topological_space) \<Rightarrow> real \<Rightarrow> 'a"
   19.83    where "shiftpath a f = (\<lambda>x. if (a + x) \<le> 1 then f (a + x) else f (a + x - 1))"
   19.84 @@ -903,7 +903,7 @@
   19.85  qed
   19.86  
   19.87  
   19.88 -subsection {* Special case of straight-line paths *}
   19.89 +subsection \<open>Special case of straight-line paths\<close>
   19.90  
   19.91  definition linepath :: "'a::real_normed_vector \<Rightarrow> 'a \<Rightarrow> real \<Rightarrow> 'a"
   19.92    where "linepath a b = (\<lambda>x. (1 - x) *\<^sub>R a + x *\<^sub>R b)"
   19.93 @@ -957,7 +957,7 @@
   19.94    by (simp add: arc_imp_simple_path arc_linepath)
   19.95  
   19.96  
   19.97 -subsection {* Bounding a point away from a path *}
   19.98 +subsection \<open>Bounding a point away from a path\<close>
   19.99  
  19.100  lemma not_on_path_ball:
  19.101    fixes g :: "real \<Rightarrow> 'a::heine_borel"
  19.102 @@ -984,7 +984,7 @@
  19.103    obtain e where "ball z e \<inter> path_image g = {}" "e > 0"
  19.104      using not_on_path_ball[OF assms] by auto
  19.105    moreover have "cball z (e/2) \<subseteq> ball z e"
  19.106 -    using `e > 0` by auto
  19.107 +    using \<open>e > 0\<close> by auto
  19.108    ultimately show ?thesis
  19.109      apply (rule_tac x="e/2" in exI)
  19.110      apply auto
  19.111 @@ -992,7 +992,7 @@
  19.112  qed
  19.113  
  19.114  
  19.115 -subsection {* Path component, considered as a "joinability" relation (from Tom Hales) *}
  19.116 +subsection \<open>Path component, considered as a "joinability" relation (from Tom Hales)\<close>
  19.117  
  19.118  definition "path_component s x y \<longleftrightarrow>
  19.119    (\<exists>g. path g \<and> path_image g \<subseteq> s \<and> pathstart g = x \<and> pathfinish g = y)"
  19.120 @@ -1041,7 +1041,7 @@
  19.121    unfolding path_component_def by auto
  19.122  
  19.123  
  19.124 -text {* Can also consider it as a set, as the name suggests. *}
  19.125 +text \<open>Can also consider it as a set, as the name suggests.\<close>
  19.126  
  19.127  lemma path_component_set:
  19.128    "{y. path_component s x y} =
  19.129 @@ -1057,7 +1057,7 @@
  19.130    using path_component_mem path_component_refl_eq
  19.131      by fastforce
  19.132  
  19.133 -subsection {* Path connectedness of a space *}
  19.134 +subsection \<open>Path connectedness of a space\<close>
  19.135  
  19.136  definition "path_connected s \<longleftrightarrow>
  19.137    (\<forall>x\<in>s. \<forall>y\<in>s. \<exists>g. path g \<and> path_image g \<subseteq> s \<and> pathstart g = x \<and> pathfinish g = y)"
  19.138 @@ -1070,7 +1070,7 @@
  19.139    apply auto
  19.140    using path_component_mem(2) by blast
  19.141  
  19.142 -subsection {* Some useful lemmas about path-connectedness *}
  19.143 +subsection \<open>Some useful lemmas about path-connectedness\<close>
  19.144  
  19.145  lemma convex_imp_path_connected:
  19.146    fixes s :: "'a::real_normed_vector set"
  19.147 @@ -1140,7 +1140,7 @@
  19.148      by auto
  19.149    show "\<exists>e > 0. ball y e \<subseteq> {y. path_component s x y}"
  19.150      apply (rule_tac x=e in exI)
  19.151 -    apply (rule,rule `e>0`)
  19.152 +    apply (rule,rule \<open>e>0\<close>)
  19.153      apply rule
  19.154      unfolding mem_ball mem_Collect_eq
  19.155    proof -
  19.156 @@ -1151,7 +1151,7 @@
  19.157        defer
  19.158        apply (rule path_component_of_subset[OF e(2)])
  19.159        apply (rule convex_imp_path_connected[OF convex_ball, unfolded path_connected_component, rule_format])
  19.160 -      using `e > 0` as
  19.161 +      using \<open>e > 0\<close> as
  19.162        apply auto
  19.163        done
  19.164    qed
  19.165 @@ -1171,7 +1171,7 @@
  19.166    show "\<exists>e>0. ball y e \<subseteq> s - {y. path_component s x y}"
  19.167      apply (rule_tac x=e in exI)
  19.168      apply rule
  19.169 -    apply (rule `e>0`)
  19.170 +    apply (rule \<open>e>0\<close>)
  19.171      apply rule
  19.172      apply rule
  19.173      defer
  19.174 @@ -1179,7 +1179,7 @@
  19.175      fix z
  19.176      assume "z \<in> ball y e" "\<not> z \<notin> {y. path_component s x y}"
  19.177      then have "y \<in> {y. path_component s x y}"
  19.178 -      unfolding not_not mem_Collect_eq using `e>0`
  19.179 +      unfolding not_not mem_Collect_eq using \<open>e>0\<close>
  19.180        apply -
  19.181        apply (rule path_component_trans, assumption)
  19.182        apply (rule path_component_of_subset[OF e(2)])
  19.183 @@ -1204,11 +1204,11 @@
  19.184    proof (rule ccontr)
  19.185      assume "\<not> ?thesis"
  19.186      moreover have "{y. path_component s x y} \<inter> s \<noteq> {}"
  19.187 -      using `x \<in> s` path_component_eq_empty path_component_subset[of s x]
  19.188 +      using \<open>x \<in> s\<close> path_component_eq_empty path_component_subset[of s x]
  19.189        by auto
  19.190      ultimately
  19.191      show False
  19.192 -      using `y \<in> s` open_non_path_component[OF assms(1)] open_path_component[OF assms(1)]
  19.193 +      using \<open>y \<in> s\<close> open_non_path_component[OF assms(1)] open_path_component[OF assms(1)]
  19.194        using assms(2)[unfolded connected_def not_ex, rule_format,
  19.195          of"{y. path_component s x y}" "s - {y. path_component s x y}"]
  19.196        by auto
  19.197 @@ -1295,7 +1295,7 @@
  19.198  qed
  19.199  
  19.200  
  19.201 -subsection {* Sphere is path-connected *}
  19.202 +subsection \<open>Sphere is path-connected\<close>
  19.203  
  19.204  lemma path_connected_punctured_universe:
  19.205    assumes "2 \<le> DIM('a::euclidean_space)"
    20.1 --- a/src/HOL/Multivariate_Analysis/PolyRoots.thy	Wed Jun 10 19:05:19 2015 +0200
    20.2 +++ b/src/HOL/Multivariate_Analysis/PolyRoots.thy	Wed Jun 10 19:10:20 2015 +0200
    20.3 @@ -1,4 +1,4 @@
    20.4 -section {* polynomial functions: extremal behaviour and root counts *}
    20.5 +section \<open>polynomial functions: extremal behaviour and root counts\<close>
    20.6  
    20.7  (*  Author: John Harrison and Valentina Bruno
    20.8      Ported from "hol_light/Multivariate/complexes.ml" by L C Paulson
    20.9 @@ -9,7 +9,7 @@
   20.10  
   20.11  begin
   20.12  
   20.13 -subsection{*Geometric progressions*}
   20.14 +subsection\<open>Geometric progressions\<close>
   20.15  
   20.16  lemma setsum_gp_basic:
   20.17    fixes x :: "'a::{comm_ring,monoid_mult}"
   20.18 @@ -35,7 +35,7 @@
   20.19    have "(\<Sum>i=m..n. x^i) = x^m * (\<Sum>i=m..n. x^(i-m))"
   20.20      by (simp add: setsum_right_distrib power_add [symmetric])
   20.21    also have "(\<Sum>i=m..n. x^(i-m)) = (\<Sum>i\<le>n-m. x^i)"
   20.22 -    using `m \<le> n` by (intro setsum.reindex_bij_witness[where j="\<lambda>i. i - m" and i="\<lambda>i. i + m"]) auto
   20.23 +    using \<open>m \<le> n\<close> by (intro setsum.reindex_bij_witness[where j="\<lambda>i. i - m" and i="\<lambda>i. i + m"]) auto
   20.24    finally show ?thesis .
   20.25  qed
   20.26  
   20.27 @@ -76,7 +76,7 @@
   20.28    shows "(\<Sum>i<n. x^i) = (if x = 1 then of_nat n else (1 - x^n) / (1 - x))"
   20.29    by (induct n) (auto simp: algebra_simps divide_simps)
   20.30      
   20.31 -subsection{*Basics about polynomial functions: extremal behaviour and root counts.*}
   20.32 +subsection\<open>Basics about polynomial functions: extremal behaviour and root counts.\<close>
   20.33  
   20.34  lemma sub_polyfun:
   20.35    fixes x :: "'a::{comm_ring,monoid_mult}"
   20.36 @@ -203,7 +203,7 @@
   20.37        then have "\<bar>B\<bar> * 2 + 2 \<le> norm z * norm (c (Suc n))"
   20.38          by (metis False pos_divide_le_eq zero_less_norm_iff)
   20.39        then have "\<bar>B\<bar> * 2 + 2 \<le> norm z ^ (Suc n) * norm (c (Suc n))" 
   20.40 -        by (metis `1 \<le> norm z` order.trans mult_right_mono norm_ge_zero self_le_power zero_less_Suc)
   20.41 +        by (metis \<open>1 \<le> norm z\<close> order.trans mult_right_mono norm_ge_zero self_le_power zero_less_Suc)
   20.42        then show "B \<le> norm ((\<Sum>i\<le>n. c i * z^i) + c (Suc n) * (z * z ^ n))" using M les
   20.43          apply auto
   20.44          apply (rule norm_lemma_xy [where a = "norm (c (Suc n)) * norm z ^ (Suc n) / 2"])
    21.1 --- a/src/HOL/Multivariate_Analysis/Topology_Euclidean_Space.thy	Wed Jun 10 19:05:19 2015 +0200
    21.2 +++ b/src/HOL/Multivariate_Analysis/Topology_Euclidean_Space.thy	Wed Jun 10 19:10:20 2015 +0200
    21.3 @@ -4,7 +4,7 @@
    21.4      Author:     Brian Huffman, Portland State University
    21.5  *)
    21.6  
    21.7 -section {* Elementary topology in Euclidean space. *}
    21.8 +section \<open>Elementary topology in Euclidean space.\<close>
    21.9  
   21.10  theory Topology_Euclidean_Space
   21.11  imports
   21.12 @@ -47,7 +47,7 @@
   21.13    by (rule continuous_on_If) auto
   21.14  
   21.15  
   21.16 -subsection {* Topological Basis *}
   21.17 +subsection \<open>Topological Basis\<close>
   21.18  
   21.19  context topological_space
   21.20  begin
   21.21 @@ -143,7 +143,7 @@
   21.22  proof (intro allI impI)
   21.23    fix X :: "'a set"
   21.24    assume "open X" and "X \<noteq> {}"
   21.25 -  from topological_basisE[OF `topological_basis B` `open X` choosefrom_basis[OF `X \<noteq> {}`]]
</