# HG changeset patch # User wenzelm # Date 1442864774 -7200 # Node ID 05d28dc76e5c7d6d9b025a620f1c1a76c23aba7e # Parent bf194f7c4c8eb2d2745681a4b61c3cbe164d0b7b isabelle update_cartouches; diff -r bf194f7c4c8e -r 05d28dc76e5c src/HOL/HOL.thy --- a/src/HOL/HOL.thy Mon Sep 21 21:43:09 2015 +0200 +++ b/src/HOL/HOL.thy Mon Sep 21 21:46:14 2015 +0200 @@ -1691,8 +1691,8 @@ \ -text{* Tagging a premise of a simp rule with ASSUMPTION forces the simplifier -not to simplify the argument and to solve it by an assumption. *} +text\Tagging a premise of a simp rule with ASSUMPTION forces the simplifier +not to simplify the argument and to solve it by an assumption.\ definition ASSUMPTION :: "bool \ bool" where "ASSUMPTION A \ A" @@ -1706,7 +1706,7 @@ lemma ASSUMPTION_D: "ASSUMPTION A \ A" by(simp add: ASSUMPTION_def) -setup {* +setup \ let val asm_sol = mk_solver "ASSUMPTION" (fn ctxt => resolve_tac ctxt [@{thm ASSUMPTION_I}] THEN' @@ -1714,7 +1714,7 @@ in map_theory_simpset (fn ctxt => Simplifier.addSolver (ctxt,asm_sol)) end -*} +\ subsection \Code generator setup\ diff -r bf194f7c4c8e -r 05d28dc76e5c src/HOL/Multivariate_Analysis/Cauchy_Integral_Thm.thy --- a/src/HOL/Multivariate_Analysis/Cauchy_Integral_Thm.thy Mon Sep 21 21:43:09 2015 +0200 +++ b/src/HOL/Multivariate_Analysis/Cauchy_Integral_Thm.thy Mon Sep 21 21:46:14 2015 +0200 @@ -81,7 +81,7 @@ using assms by (auto simp: piecewise_differentiable_on_def) have finabc: "finite ({a,b,c} \ (s \ t))" - by (metis `finite s` `finite t` finite_Un finite_insert finite.emptyI) + by (metis \finite s\ \finite t\ finite_Un finite_insert finite.emptyI) have "continuous_on {a..c} f" "continuous_on {c..b} g" using assms piecewise_differentiable_on_def by auto then have "continuous_on {a..b} (\x. if x \ c then f x else g x)" @@ -462,7 +462,7 @@ by (rule continuous_on_eq) (simp add: scaleR_conv_of_real) have "continuous_on {0..1} g1" using continuous_on_joinpaths_D1 assms piecewise_C1_differentiable_on_def by blast - with `finite s` show ?thesis + with \finite s\ show ?thesis apply (clarsimp simp add: piecewise_C1_differentiable_on_def C1_differentiable_on_eq) apply (rule_tac x="insert 1 ((op*2)`s)" in exI) apply (simp add: g1D con_g1) @@ -509,7 +509,7 @@ by (rule continuous_on_eq) (simp add: scaleR_conv_of_real) have "continuous_on {0..1} g2" using continuous_on_joinpaths_D2 assms piecewise_C1_differentiable_on_def by blast - with `finite s` show ?thesis + with \finite s\ show ?thesis apply (clarsimp simp add: piecewise_C1_differentiable_on_def C1_differentiable_on_eq) apply (rule_tac x="insert 0 ((\x. 2 * x - 1) ` s)" in exI) apply (simp add: g2D con_g2) @@ -2253,11 +2253,11 @@ def shrink \ "\x. x - e *\<^sub>R (x - d)" let ?pathint = "\x y. path_integral(linepath x y) f" have e: "0 < e" "e \ 1" "e \ d1 / (4 * C)" "e \ cmod y / 24 / C / B" - using d1_pos `C>0` `B>0` ynz by (simp_all add: e_def) + using d1_pos \C>0\ \B>0\ ynz by (simp_all add: e_def) then have eCB: "24 * e * C * B \ cmod y" - using `C>0` `B>0` by (simp add: field_simps) + using \C>0\ \B>0\ by (simp add: field_simps) have e_le_d1: "e * (4 * C) \ d1" - using e `C>0` by (simp add: field_simps) + using e \C>0\ by (simp add: field_simps) have "shrink a \ interior(convex hull {a,b,c})" "shrink b \ interior(convex hull {a,b,c})" "shrink c \ interior(convex hull {a,b,c})" @@ -2276,10 +2276,10 @@ have sh_eq: "\a b d::complex. (b - e *\<^sub>R (b - d)) - (a - e *\<^sub>R (a - d)) - (b - a) = e *\<^sub>R (a - b)" by (simp add: algebra_simps) have "cmod y / (24 * C) \ cmod y / cmod (b - a) / 12" - using False `C>0` diff_2C [of b a] ynz + using False \C>0\ diff_2C [of b a] ynz by (auto simp: divide_simps hull_inc) have less_C: "\u \ convex hull {a, b, c}; 0 \ x; x \ 1\ \ x * cmod u < C" for x u - apply (cases "x=0", simp add: `00) using Cno [of u] mult_left_le_one_le [of "cmod u" x] le_less_trans norm_ge_zero by blast { fix u v assume uv: "u \ convex hull {a, b, c}" "v \ convex hull {a, b, c}" "u\v" @@ -2292,7 +2292,7 @@ using shr_uv by (blast intro: Bnf linepath_in_convex_hull interior_subset [THEN subsetD]) have By_uv: "B * (12 * (e * cmod (u - v))) \ cmod y" apply (rule order_trans [OF _ eCB]) - using e `B>0` diff_2C [of u v] uv + using e \B>0\ diff_2C [of u v] uv by (auto simp: field_simps) { fix x::real assume x: "0\x" "x\1" have cmod_less_4C: "cmod ((1 - x) *\<^sub>R u - (1 - x) *\<^sub>R d) + cmod (x *\<^sub>R v - x *\<^sub>R d) < (C+C) + (C+C)" @@ -2303,7 +2303,7 @@ have ll: "linepath (shrink u) (shrink v) x - linepath u v x = -e * ((1 - x) *\<^sub>R (u - d) + x *\<^sub>R (v - d))" by (simp add: linepath_def shrink_def algebra_simps scaleR_conv_of_real) have cmod_less_dt: "cmod (linepath (shrink u) (shrink v) x - linepath u v x) < d1" - using `e>0` + using \e>0\ apply (simp add: ll norm_mult scaleR_diff_right) apply (rule less_le_trans [OF _ e_le_d1]) using cmod_less_4C @@ -2313,7 +2313,7 @@ using x uv shr_uv cmod_less_dt by (auto simp: hull_inc intro: d1 interior_subset [THEN subsetD] linepath_in_convex_hull) also have "... \ cmod y / cmod (v - u) / 12" - using False uv `C>0` diff_2C [of v u] ynz + using False uv \C>0\ diff_2C [of v u] ynz by (auto simp: divide_simps hull_inc) finally have "cmod (f (linepath (shrink u) (shrink v) x) - f (linepath u v x)) \ cmod y / cmod (v - u) / 12" by simp @@ -2324,7 +2324,7 @@ \ cmod y / 6" apply (rule order_trans [of _ "B*((norm y / 24 / C / B)*2*C) + (2*C)*(norm y /24 / C)"]) apply (rule add_mono [OF mult_mono]) - using By_uv e `0 < B` `0 < C` x ynz + using By_uv e \0 < B\ \0 < C\ x ynz apply (simp_all add: cmod_fuv cmod_shr cmod_12_le hull_inc) apply (simp add: field_simps) done @@ -2339,7 +2339,7 @@ [of "B*(norm y /24/C/B)*2*C + (2*C)*(norm y/24/C)" "\x. f(linepath (shrink u) (shrink v) x) * (shrink v - shrink u) - f(linepath u v x)*(v - u)" _ 0 1 ]) - using ynz `0 < B` `0 < C` + using ynz \0 < B\ \0 < C\ apply (simp_all del: le_divide_eq_numeral1) apply (simp add: has_integral_sub has_path_integral_linepath [symmetric] has_path_integral_integral fpi_uv f_uv path_integrable_continuous_linepath, clarify) @@ -2376,7 +2376,7 @@ by (simp add: contf compact_convex_hull compact_uniformly_continuous) ultimately have "False" unfolding uniformly_continuous_on_def - by (force simp: ynz `0 < C` dist_norm) + by (force simp: ynz \0 < C\ dist_norm) then show ?thesis .. qed } @@ -2411,7 +2411,7 @@ case False show "(f has_path_integral 0) (linepath a b +++ linepath b c +++ linepath c a)" apply (rule less.hyps [of "s'"]) - using False d `finite s` interior_subset + using False d \finite s\ interior_subset apply (auto intro!: less.prems) done next @@ -2420,7 +2420,7 @@ by (meson True hull_subset insert_subset convex_hull_subset) have abd: "(f has_path_integral 0) (linepath a b +++ linepath b d +++ linepath d a)" apply (rule less.hyps [of "s'"]) - using True d `finite s` not_in_interior_convex_hull_3 + using True d \finite s\ not_in_interior_convex_hull_3 apply (auto intro!: less.prems continuous_on_subset [OF _ *]) apply (metis * insert_absorb insert_subset interior_mono) done @@ -2428,7 +2428,7 @@ by (meson True hull_subset insert_subset convex_hull_subset) have bcd: "(f has_path_integral 0) (linepath b c +++ linepath c d +++ linepath d b)" apply (rule less.hyps [of "s'"]) - using True d `finite s` not_in_interior_convex_hull_3 + using True d \finite s\ not_in_interior_convex_hull_3 apply (auto intro!: less.prems continuous_on_subset [OF _ *]) apply (metis * insert_absorb insert_subset interior_mono) done @@ -2436,7 +2436,7 @@ by (meson True hull_subset insert_subset convex_hull_subset) have cad: "(f has_path_integral 0) (linepath c a +++ linepath a d +++ linepath d c)" apply (rule less.hyps [of "s'"]) - using True d `finite s` not_in_interior_convex_hull_3 + using True d \finite s\ not_in_interior_convex_hull_3 apply (auto intro!: less.prems continuous_on_subset [OF _ *]) apply (metis * insert_absorb insert_subset interior_mono) done @@ -2518,7 +2518,7 @@ then obtain d1 where d1: "d1>0" and d1_less: "\y. cmod (y - x) < d1 \ cmod (f y - f x) < e/2" unfolding continuous_at Lim_at dist_norm using e by (drule_tac x="e/2" in spec) force - obtain d2 where d2: "d2>0" "ball x d2 \ s" using `open s` x + obtain d2 where d2: "d2>0" "ball x d2 \ s" using \open s\ x by (auto simp: open_contains_ball) have dpos: "min d1 d2 > 0" using d1 d2 by simp { fix y @@ -2556,7 +2556,7 @@ apply (simp add: has_field_derivative_def has_derivative_at bounded_linear_mult_right) apply (rule Lim_transform [OF * Lim_eventually]) apply (simp add: inverse_eq_divide [symmetric] eventually_at) - using `open s` x + using \open s\ x apply (force simp: dist_norm open_contains_ball) done qed @@ -2802,7 +2802,7 @@ proof - { fix z assume z: "z \ s" - obtain d where d: "d>0" "ball z d \ s" using `open s` z + obtain d where d: "d>0" "ball z d \ s" using \open s\ z by (auto simp: open_contains_ball) then have contfb: "continuous_on (ball z d) f" using contf continuous_on_subset by blast @@ -2839,16 +2839,16 @@ apply (auto simp: holomorphic_on_open open_delete intro!: derivative_eq_intros) done -text{*Key fact that path integral is the same for a "nearby" path. This is the +text\Key fact that path integral is the same for a "nearby" path. This is the main lemma for the homotopy form of Cauchy's theorem and is also useful if we want "without loss of generality" to assume some nice properties of a path (e.g. smoothness). It can also be used to define the integrals of analytic functions over arbitrary continuous paths. This is just done for winding numbers now. -*} +\ -text{*This formulation covers two cases: @{term g} and @{term h} share their - start and end points; @{term g} and @{term h} both loop upon themselves. *} +text\This formulation covers two cases: @{term g} and @{term h} share their + start and end points; @{term g} and @{term h} both loop upon themselves.\ lemma path_integral_nearby: assumes os: "open s" and p: "path p" "path_image p \ s" @@ -2876,7 +2876,7 @@ by blast then obtain k where k: "k \ {0..1}" "finite k" and D_eq: "D = ((\z. ball z (ee z / 3)) \ p) ` k" apply (simp add: cover_def path_image_def image_comp) - apply (blast dest!: finite_subset_image [OF `finite D`]) + apply (blast dest!: finite_subset_image [OF \finite D\]) done then have kne: "k \ {}" using D by auto @@ -2905,7 +2905,7 @@ { fix t::real assume t: "0 \ t" "t \ 1" then obtain u where u: "u \ k" and ptu: "p t \ ball(p u) (ee(p u) / 3)" - using `path_image p \ \D` D_eq by (force simp: path_image_def) + using \path_image p \ \D\ D_eq by (force simp: path_image_def) then have ele: "e \ ee (p u)" using fin_eep by (simp add: e_def) have "cmod (g t - p t) < e / 3" "cmod (h t - p t) < e / 3" @@ -2950,7 +2950,7 @@ next case (Suc n) obtain t where t: "t \ k" and "p (n/N) \ ball(p t) (ee(p t) / 3)" - using `path_image p \ \D` [THEN subsetD, where c="p (n/N)"] D_eq N Suc.prems + using \path_image p \ \D\ [THEN subsetD, where c="p (n/N)"] D_eq N Suc.prems by (force simp: path_image_def) then have ptu: "cmod (p t - p (n/N)) < ee (p t) / 3" by (simp add: dist_norm) @@ -2988,7 +2988,7 @@ using ptgh_ee [of "n/N"] Suc.prems by (auto simp: field_simps real_of_nat_def dist_norm dest: segment_furthest_le [where y="p t"]) then have gh_ns: "closed_segment (g (n/N)) (h (n/N)) \ s" - using `N>0` Suc.prems + using \N>0\ Suc.prems apply (simp add: real_of_nat_def path_image_join field_simps closed_segment_commute) apply (erule order_trans) apply (simp add: ee pi t) @@ -2998,14 +2998,14 @@ using ptgh_ee [of "(1+n)/N"] Suc.prems by (auto simp: field_simps real_of_nat_def dist_norm dest: segment_furthest_le [where y="p t"]) then have gh_n's: "closed_segment (g ((1 + n) / N)) (h ((1 + n) / N)) \ s" - using `N>0` Suc.prems ee pi t + using \N>0\ Suc.prems ee pi t by (auto simp: Path_Connected.path_image_join field_simps) have pi_subset_ball: "path_image (subpath (n/N) ((1+n) / N) g +++ linepath (g ((1+n) / N)) (h ((1+n) / N)) +++ subpath ((1+n) / N) (n/N) h +++ linepath (h (n/N)) (g (n/N))) \ ball (p t) (ee (p t))" apply (intro subset_path_image_join pi_hgn pi_ghn') - using `N>0` Suc.prems + using \N>0\ Suc.prems apply (auto simp: dist_norm field_simps closed_segment_eq_real_ivl ptgh_ee) done have pi0: "(f has_path_integral 0) @@ -3126,7 +3126,7 @@ where d: "0 < d" and p: "polynomial_function p" "path_image p \ s" and pi: "\f. f holomorphic_on s \ path_integral g f = path_integral p f" - using path_integral_nearby_ends [OF s `path g` pag] + using path_integral_nearby_ends [OF s \path g\ pag] apply clarify apply (drule_tac x=g in spec) apply (simp only: assms) diff -r bf194f7c4c8e -r 05d28dc76e5c src/HOL/Multivariate_Analysis/Convex_Euclidean_Space.thy --- a/src/HOL/Multivariate_Analysis/Convex_Euclidean_Space.thy Mon Sep 21 21:43:09 2015 +0200 +++ b/src/HOL/Multivariate_Analysis/Convex_Euclidean_Space.thy Mon Sep 21 21:46:14 2015 +0200 @@ -9467,7 +9467,7 @@ using g by (simp add: Fun.image_comp) then show "coplanar s" unfolding coplanar_def - using affine_hull_linear_image [of g "{u,v,w}" for u v w] `linear g` linear_conv_bounded_linear + using affine_hull_linear_image [of g "{u,v,w}" for u v w] \linear g\ linear_conv_bounded_linear by fastforce qed (*The HOL Light proof is simply @@ -9651,7 +9651,7 @@ then have *: "\x. x \ closure s \ setdist s t \ dist x y" apply (rule continuous_ge_on_closure) apply assumption - apply (blast intro: setdist_le_dist `y \ t` ) + apply (blast intro: setdist_le_dist \y \ t\ ) done } note * = this show ?thesis @@ -9687,7 +9687,7 @@ assumes s: "closed s" and t: "compact t" and "s \ {}" "t \ {}" shows "\x \ s. \y \ t. dist x y = setdist s t" - using setdist_compact_closed [OF t s `t \ {}` `s \ {}`] + using setdist_compact_closed [OF t s \t \ {}\ \s \ {}\] by (metis dist_commute setdist_sym) lemma setdist_eq_0I: "\x \ s; x \ t\ \ setdist s t = 0" diff -r bf194f7c4c8e -r 05d28dc76e5c src/HOL/Multivariate_Analysis/Integration.thy --- a/src/HOL/Multivariate_Analysis/Integration.thy Mon Sep 21 21:43:09 2015 +0200 +++ b/src/HOL/Multivariate_Analysis/Integration.thy Mon Sep 21 21:46:14 2015 +0200 @@ -2889,7 +2889,7 @@ apply (rule less_trans[OF _ *]) apply (subst N1', rule d(2)[of "p (N1+N2)"]) using N1' as(1) as(2) dp - apply (simp add: `\x. p x tagged_division_of cbox a b \ (\xa. \{d i xa |i. i \ {0..x}}) fine p x`) + apply (simp add: \\x. p x tagged_division_of cbox a b \ (\xa. \{d i xa |i. i \ {0..x}}) fine p x\) using N2 le_add2 by blast } ultimately show "\d. gauge d \ @@ -3602,11 +3602,11 @@ proof (cases "f x = neutral opp") case True then show ?thesis - using assms `x \ s` + using assms \x \ s\ by (auto simp: iterate_def support_clauses) next case False - with `x \ s` \finite s\ support_subset show ?thesis + with \x \ s\ \finite s\ support_subset show ?thesis apply (simp add: iterate_def fold'_def support_clauses) apply (subst comp_fun_commute.fold_insert[OF * finite_support, simplified comp_def]) apply (force simp add: )+ @@ -3962,7 +3962,7 @@ case True show "iterate opp d f = f (cbox a b)" unfolding operativeD(1)[OF assms(2) True] - proof (rule iterate_eq_neutral[OF `monoidal opp`]) + proof (rule iterate_eq_neutral[OF \monoidal opp\]) fix x assume x: "x \ d" then show "f x = neutral opp" @@ -3990,9 +3990,9 @@ note *[OF this(1)] *[OF this(2)] note this[unfolded interval_bounds[OF uv(1)]] moreover have "a\j \ u\j" "v\j \ b\j" - using division_ofD(2,2,3)[OF `d division_of cbox a b` as] + using division_ofD(2,2,3)[OF \d division_of cbox a b\ as] apply (metis j subset_box(1) uv(1)) - by (metis `cbox u v \ cbox a b` j subset_box(1) uv(1)) + by (metis \cbox u v \ cbox a b\ j subset_box(1) uv(1)) ultimately have "u\j = a\j \ v\j = a\j \ u\j = b\j \ v\j = b\j \ u\j = a\j \ v\j = b\j" unfolding not_less de_Morgan_disj using ab[rule_format,of j] uv(2) j by force } then have d': "\i\d. \u v. i = cbox u v \ @@ -4001,7 +4001,7 @@ by blast have "(1/2) *\<^sub>R (a+b) \ cbox a b" unfolding mem_box using ab by(auto intro!: less_imp_le simp: inner_simps) - note this[unfolded division_ofD(6)[OF `d division_of cbox a b`,symmetric] Union_iff] + note this[unfolded division_ofD(6)[OF \d division_of cbox a b\,symmetric] Union_iff] then guess i .. note i=this guess u v using d'[rule_format,OF i(1)] by (elim exE conjE) note uv=this have "cbox a b \ d" @@ -4059,18 +4059,18 @@ def d2 \ "{l \ {x. x\k \ c} | l. l \ d \ l \ {x. x\k \ c} \ {}}" def cb \ "(\i\Basis. (if i = k then c else b\i) *\<^sub>R i)::'a" def ca \ "(\i\Basis. (if i = k then c else a\i) *\<^sub>R i)::'a" - note division_points_psubset[OF `d division_of cbox a b` ab kc(1-2) j] + note division_points_psubset[OF \d division_of cbox a b\ ab kc(1-2) j] note psubset_card_mono[OF _ this(1)] psubset_card_mono[OF _ this(2)] then have *: "(iterate opp d1 f) = f (cbox a b \ {x. x\k \ c})" "(iterate opp d2 f) = f (cbox a b \ {x. x\k \ c})" unfolding interval_split[OF kc(4)] apply (rule_tac[!] "1.hyps"[rule_format]) - using division_split[OF `d division_of cbox a b`, where k=k and c=c] - apply (simp_all add: interval_split 1 kc d1_def d2_def division_points_finite[OF `d division_of cbox a b`]) + using division_split[OF \d division_of cbox a b\, where k=k and c=c] + apply (simp_all add: interval_split 1 kc d1_def d2_def division_points_finite[OF \d division_of cbox a b\]) done { fix l y assume as: "l \ d" "y \ d" "l \ {x. x \ k \ c} = y \ {x. x \ k \ c}" "l \ y" - from division_ofD(4)[OF `d division_of cbox a b` this(1)] guess u v by (elim exE) note leq=this + from division_ofD(4)[OF \d division_of cbox a b\ this(1)] guess u v by (elim exE) note leq=this have "f (l \ {x. x \ k \ c}) = neutral opp" unfolding leq interval_split[OF kc(4)] apply (rule operativeD(1) 1)+ @@ -4079,7 +4079,7 @@ } note fxk_le = this { fix l y assume as: "l \ d" "y \ d" "l \ {x. c \ x \ k} = y \ {x. c \ x \ k}" "l \ y" - from division_ofD(4)[OF `d division_of cbox a b` this(1)] guess u v by (elim exE) note leq=this + from division_ofD(4)[OF \d division_of cbox a b\ this(1)] guess u v by (elim exE) note leq=this have "f (l \ {x. x \ k \ c}) = neutral opp" unfolding leq interval_split[OF kc(4)] apply (rule operativeD(1) 1)+ @@ -4102,7 +4102,7 @@ apply (force simp add: empty_as_interval[symmetric] fxk_ge)+ done also have *: "\x\d. f x = opp (f (x \ {x. x \ k \ c})) (f (x \ {x. c \ x \ k}))" - unfolding forall_in_division[OF `d division_of cbox a b`] + unfolding forall_in_division[OF \d division_of cbox a b\] using assms(2) kc(4) by blast have "opp (iterate opp d (\l. f (l \ {x. x \ k \ c}))) (iterate opp d (\l. f (l \ {x. c \ x \ k}))) = iterate opp d f" @@ -4689,7 +4689,7 @@ proof (cases "content (cbox a b) = 0") case True then have ce: "content (cbox a b) < e" - by (metis `0 < e`) + by (metis \0 < e\) show ?thesis apply (rule that[of 1]) apply simp @@ -6112,10 +6112,10 @@ have one: "(- 1) ^ p' * (- 1) ^ p' = (1::real)" and "{.. {i. p = Suc i} = {p - 1}" for p' - using `p > 0` + using \p > 0\ by (auto simp: power_mult_distrib[symmetric]) then have "?sum b = f b" - using Suc_pred'[OF `p > 0`] + using Suc_pred'[OF \p > 0\] by (simp add: diff_eq_eq Dg_def power_0_left le_Suc_eq if_distrib cond_application_beta setsum.If_cases f0) also @@ -6428,7 +6428,7 @@ { fix e::real assume "e > 0" obtain d where "d>0" and d: "\x'. \x' \ {a..b}; \x' - x\ < d\ \ norm(f x' - f x) \ e" - using `e>0` fx by (auto simp: continuous_within_eps_delta dist_norm less_imp_le) + using \e>0\ fx by (auto simp: continuous_within_eps_delta dist_norm less_imp_le) have "norm (integral {a..y} f - integral {a..x} f - (y - x) *\<^sub>R f x) \ e * \y - x\" if y: "y \ {a..b}" and yx: "\y - x\ < d" for y proof (cases "y < x") @@ -6447,7 +6447,7 @@ using False apply (simp add: abs_eq_content del: content_real_if) apply (rule has_integral_bound_real[where f="(\u. f u - f x)"]) - using yx False d x y `e>0` apply (auto simp add: Idiff fux_int) + using yx False d x y \e>0\ apply (auto simp add: Idiff fux_int) done next case True @@ -6465,13 +6465,13 @@ using True apply (simp add: abs_eq_content del: content_real_if) apply (rule has_integral_bound_real[where f="(\u. f u - f x)"]) - using yx True d x y `e>0` apply (auto simp add: Idiff fux_int) + using yx True d x y \e>0\ apply (auto simp add: Idiff fux_int) done then show ?thesis by (simp add: algebra_simps norm_minus_commute) qed then have "\d>0. \y\{a..b}. \y - x\ < d \ norm (integral {a..y} f - integral {a..x} f - (y - x) *\<^sub>R f x) \ e * \y - x\" - using `d>0` by blast + using \d>0\ by blast } then show ?thesis by (simp add: has_vector_derivative_def has_derivative_within_alt bounded_linear_scaleR_left) @@ -11913,7 +11913,7 @@ by simp qed -subsection{*Compute a double integral using iterated integrals and switching the order of integration*} +subsection\Compute a double integral using iterated integrals and switching the order of integration\ lemma setcomp_dot1: "{z. P (z \ (i,0))} = {(x,y). P(x \ i)}" by auto @@ -12197,7 +12197,7 @@ using compact_uniformly_continuous [OF assms compact_cbox] apply (simp add: uniformly_continuous_on_def dist_norm) apply (drule_tac x="e / 2 / content?CBOX" in spec) - using cbp `0 < e` + using cbp \0 < e\ apply (auto simp: zero_less_mult_iff) apply (rename_tac k) apply (rule_tac e1=k in fine_division_exists [OF gauge_ball, where a = "(a,c)" and b = "(b,d)"]) diff -r bf194f7c4c8e -r 05d28dc76e5c src/HOL/Multivariate_Analysis/Linear_Algebra.thy --- a/src/HOL/Multivariate_Analysis/Linear_Algebra.thy Mon Sep 21 21:43:09 2015 +0200 +++ b/src/HOL/Multivariate_Analysis/Linear_Algebra.thy Mon Sep 21 21:46:14 2015 +0200 @@ -462,7 +462,7 @@ apply auto done -lemma approachable_lt_le2: --{*like the above, but pushes aside an extra formula*} +lemma approachable_lt_le2: --\like the above, but pushes aside an extra formula\ "(\(d::real) > 0. \x. Q x \ f x < d \ P x) \ (\d>0. \x. f x \ d \ Q x \ P x)" apply auto apply (rule_tac x="d/2" in exI, auto) @@ -562,7 +562,7 @@ using reals_Archimedean[of e] less_trans[of 0 "1 / real n" e for n::nat] by (auto simp add: field_simps cong: conj_cong) -text{*Bernoulli's inequality*} +text\Bernoulli's inequality\ lemma Bernoulli_inequality: fixes x :: real assumes "-1 \ x" diff -r bf194f7c4c8e -r 05d28dc76e5c src/HOL/Multivariate_Analysis/Uniform_Limit.thy --- a/src/HOL/Multivariate_Analysis/Uniform_Limit.thy Mon Sep 21 21:43:09 2015 +0200 +++ b/src/HOL/Multivariate_Analysis/Uniform_Limit.thy Mon Sep 21 21:46:14 2015 +0200 @@ -58,15 +58,15 @@ def e' \ "e/3" assume "0 < e" then have "0 < e'" by (simp add: e'_def) - from uniform_limitD[OF uc `0 < e'`] + from uniform_limitD[OF uc \0 < e'\] have "\\<^sub>F n in F. \x\S. dist (h x) (f n x) < e'" by (simp add: dist_commute) moreover from f have "\\<^sub>F n in F. \\<^sub>F x in at x within S. dist (g n) (f n x) < e'" - by eventually_elim (auto dest!: tendstoD[OF _ `0 < e'`] simp: dist_commute) + by eventually_elim (auto dest!: tendstoD[OF _ \0 < e'\] simp: dist_commute) moreover - from tendstoD[OF g `0 < e'`] have "\\<^sub>F x in F. dist l (g x) < e'" + from tendstoD[OF g \0 < e'\] have "\\<^sub>F x in F. dist l (g x) < e'" by (simp add: dist_commute) ultimately have "\\<^sub>F _ in F. \\<^sub>F x in at x within S. dist (h x) l < e" @@ -80,7 +80,7 @@ show ?case proof eventually_elim case (elim x) - from fh[rule_format, OF `x \ S`] elim(1) + from fh[rule_format, OF \x \ S\] elim(1) have "dist (h x) (g n) < e' + e'" by (rule dist_triangle_lt[OF add_strict_mono]) from dist_triangle_lt[OF add_strict_mono, OF this gl] @@ -88,7 +88,7 @@ qed qed thus "\\<^sub>F x in at x within S. dist (h x) l < e" - using eventually_happens by (metis `\trivial_limit F`) + using eventually_happens by (metis \\trivial_limit F\) qed lemma @@ -122,7 +122,7 @@ proof (rule uniform_limitI) fix e :: real assume "0 < e" - from suminf_exist_split[OF `0 < e` `summable M`] + from suminf_exist_split[OF \0 < e\ \summable M\] have "\\<^sub>F k in sequentially. norm (\i. M (i + k)) < e" by (auto simp: eventually_sequentially) thus "\\<^sub>F n in sequentially. \x\A. dist (\ii. f i x) < e" @@ -132,16 +132,16 @@ proof safe fix x assume "x \ A" have "\N. \n\N. norm (f n x) \ M n" - using assms(1)[OF `x \ A`] by simp + using assms(1)[OF \x \ A\] by simp hence summable_norm_f: "summable (\n. norm (f n x))" - by(rule summable_norm_comparison_test[OF _ `summable M`]) + by(rule summable_norm_comparison_test[OF _ \summable M\]) have summable_f: "summable (\n. f n x)" using summable_norm_cancel[OF summable_norm_f] . have summable_norm_f_plus_k: "summable (\i. norm (f (i + k) x))" using summable_ignore_initial_segment[OF summable_norm_f] by auto have summable_M_plus_k: "summable (\i. M (i + k))" - using summable_ignore_initial_segment[OF `summable M`] + using summable_ignore_initial_segment[OF \summable M\] by auto have "dist (\ii. f i x) = norm ((\i. f i x) - (\i (\i. M (i + k))" by (rule suminf_le[OF _ summable_norm_f_plus_k summable_M_plus_k]) - (simp add: assms(1)[OF `x \ A`]) + (simp add: assms(1)[OF \x \ A\]) finally show "dist (\ii. f i x) < e" using elim by auto qed @@ -163,12 +163,12 @@ by simp named_theorems uniform_limit_intros "introduction rules for uniform_limit" -setup {* +setup \ Global_Theory.add_thms_dynamic (@{binding uniform_limit_eq_intros}, fn context => Named_Theorems.get (Context.proof_of context) @{named_theorems uniform_limit_intros} |> map_filter (try (fn thm => @{thm uniform_limit_eq_rhs} OF [thm]))) -*} +\ lemma (in bounded_linear) uniform_limit[uniform_limit_intros]: assumes "uniform_limit X g l F" @@ -178,7 +178,7 @@ from pos_bounded obtain K where K: "\x y. dist (f x) (f y) \ K * dist x y" "K > 0" by (auto simp: ac_simps dist_norm diff[symmetric]) - assume "0 < e" with `K > 0` have "e / K > 0" by simp + assume "0 < e" with \K > 0\ have "e / K > 0" by simp from uniform_limitD[OF assms this] show "\\<^sub>F n in F. \x\X. dist (f (g n x)) (f (l x)) < e" by eventually_elim (metis le_less_trans mult.commute pos_less_divide_eq K) @@ -245,15 +245,15 @@ and Kl: "Kl > 0" "\x. x \ X \ norm (l x) \ Kl" by (auto simp: bounded_pos) hence "K * Km * 4 > 0" "K * Kl * 4 > 0" - using `K > 0` + using \K > 0\ by simp_all assume "0 < e" hence "sqrt e > 0" by simp - from uniform_limitD[OF assms(1) divide_pos_pos[OF this `sqrt (K*4) > 0`]] - uniform_limitD[OF assms(2) divide_pos_pos[OF this `sqrt (K*4) > 0`]] - uniform_limitD[OF assms(1) divide_pos_pos[OF `e > 0` `K * Km * 4 > 0`]] - uniform_limitD[OF assms(2) divide_pos_pos[OF `e > 0` `K * Kl * 4 > 0`]] + from uniform_limitD[OF assms(1) divide_pos_pos[OF this \sqrt (K*4) > 0\]] + uniform_limitD[OF assms(2) divide_pos_pos[OF this \sqrt (K*4) > 0\]] + uniform_limitD[OF assms(1) divide_pos_pos[OF \e > 0\ \K * Km * 4 > 0\]] + uniform_limitD[OF assms(2) divide_pos_pos[OF \e > 0\ \K * Kl * 4 > 0\]] show "\\<^sub>F n in F. \x\X. dist (prod (f n x) (g n x)) (prod (l x) (m x)) < e" proof eventually_elim case (elim n) @@ -266,31 +266,31 @@ norm (prod (l x) (g n x - m x))" by (auto simp: dist_norm prod_diff_prod intro: order_trans norm_triangle_ineq add_mono) also note K(2)[of "f n x - l x" "g n x - m x"] - also from elim(1)[THEN bspec, OF `_ \ X`, unfolded dist_norm] + also from elim(1)[THEN bspec, OF \_ \ X\, unfolded dist_norm] have "norm (f n x - l x) \ sqrt e / sqrt (K * 4)" by simp - also from elim(2)[THEN bspec, OF `_ \ X`, unfolded dist_norm] + also from elim(2)[THEN bspec, OF \_ \ X\, unfolded dist_norm] have "norm (g n x - m x) \ sqrt e / sqrt (K * 4)" by simp also have "sqrt e / sqrt (K * 4) * (sqrt e / sqrt (K * 4)) * K = e / 4" - using `K > 0` `e > 0` by auto + using \K > 0\ \e > 0\ by auto also note K(2)[of "f n x - l x" "m x"] also note K(2)[of "l x" "g n x - m x"] - also from elim(3)[THEN bspec, OF `_ \ X`, unfolded dist_norm] + also from elim(3)[THEN bspec, OF \_ \ X\, unfolded dist_norm] have "norm (f n x - l x) \ e / (K * Km * 4)" by simp - also from elim(4)[THEN bspec, OF `_ \ X`, unfolded dist_norm] + also from elim(4)[THEN bspec, OF \_ \ X\, unfolded dist_norm] have "norm (g n x - m x) \ e / (K * Kl * 4)" by simp - also note Kl(2)[OF `_ \ X`] - also note Km(2)[OF `_ \ X`] + also note Kl(2)[OF \_ \ X\] + also note Km(2)[OF \_ \ X\] also have "e / (K * Km * 4) * Km * K = e / 4" - using `K > 0` `Km > 0` by simp + using \K > 0\ \Km > 0\ by simp also have " Kl * (e / (K * Kl * 4)) * K = e / 4" - using `K > 0` `Kl > 0` by simp - also have "e / 4 + e / 4 + e / 4 < e" using `e > 0` by simp + using \K > 0\ \Kl > 0\ by simp + also have "e / 4 + e / 4 + e / 4 < e" using \e > 0\ by simp finally show "dist (prod (f n x) (g n x)) (prod (l x) (m x)) < e" - using `K > 0` `Kl > 0` `Km > 0` `e > 0` + using \K > 0\ \Kl > 0\ \Km > 0\ \e > 0\ by (simp add: algebra_simps mult_right_mono divide_right_mono) qed qed diff -r bf194f7c4c8e -r 05d28dc76e5c src/HOL/Multivariate_Analysis/Weierstrass.thy --- a/src/HOL/Multivariate_Analysis/Weierstrass.thy Mon Sep 21 21:43:09 2015 +0200 +++ b/src/HOL/Multivariate_Analysis/Weierstrass.thy Mon Sep 21 21:46:14 2015 +0200 @@ -1,4 +1,4 @@ -section{*Bernstein-Weierstrass and Stone-Weierstrass Theorems*} +section\Bernstein-Weierstrass and Stone-Weierstrass Theorems\ theory Weierstrass imports Uniform_Limit Path_Connected @@ -11,7 +11,7 @@ (*Power.thy:*) declare power_divide [where b = "numeral w" for w, simp del] -subsection {*Bernstein polynomials*} +subsection \Bernstein polynomials\ definition Bernstein :: "[nat,nat,real] \ real" where "Bernstein n k x \ of_nat (n choose k) * x ^ k * (1 - x) ^ (n - k)" @@ -65,7 +65,7 @@ by auto qed -subsection {*Explicit Bernstein version of the 1D Weierstrass approximation theorem*} +subsection \Explicit Bernstein version of the 1D Weierstrass approximation theorem\ lemma Bernstein_Weierstrass: fixes f :: "real \ real" @@ -87,11 +87,11 @@ assume n: "Suc (nat\4*M/(e*d\<^sup>2)\) \ n" and x: "0 \ x" "x \ 1" have "0 < n" using n by simp have ed0: "- (e * d\<^sup>2) < 0" - using e `00 by simp also have "... \ M * 4" - using `0\M` by simp + using \0\M\ by simp finally have [simp]: "real (nat \4 * M / (e * d\<^sup>2)\) = real \4 * M / (e * d\<^sup>2)\" - using `0\M` e `00\M\ e \0 by (simp add: Real.real_of_nat_Suc field_simps) have "4*M/(e*d\<^sup>2) + 1 \ real (Suc (nat\4*M/(e*d\<^sup>2)\))" by (simp add: Real.real_of_nat_Suc) @@ -137,7 +137,7 @@ also have "... \ 2 * M * ((x - k/n)\<^sup>2 / d\<^sup>2)" apply simp apply (rule Rings.ordered_semiring_class.mult_left_mono [of 1 "((x - k/n)\<^sup>2 / d\<^sup>2)", simplified]) - using dle `d>0` `M\0` by auto + using dle \d>0\ \M\0\ by auto also have "... \ e/2 + 2 * M / d\<^sup>2 * (x - k/n)\<^sup>2" using e by simp finally show ?thesis . @@ -152,12 +152,12 @@ done also have "... \ e/2 + (2 * M) / (d\<^sup>2 * n)" apply (simp only: setsum.distrib Rings.semiring_class.distrib_right setsum_right_distrib [symmetric] mult.assoc sum_bern) - using `d>0` x + using \d>0\ x apply (simp add: divide_simps Mge0 mult_le_one mult_left_le) done also have "... < e" apply (simp add: field_simps) - using `d>0` nbig e `n>0` + using \d>0\ nbig e \n>0\ apply (simp add: divide_simps algebra_simps) using ed0 by linarith finally have "\f x - (\k = 0..n. f (real k / real n) * Bernstein n k x)\ < e" . @@ -167,7 +167,7 @@ qed -subsection {*General Stone-Weierstrass theorem*} +subsection \General Stone-Weierstrass theorem\ text\Source: Bruno Brosowski and Frank Deutsch. @@ -282,7 +282,7 @@ show ?thesis using subU i t apply (clarsimp simp: p_def divide_simps) - apply (rule setsum_pos2 [OF `finite subU`]) + apply (rule setsum_pos2 [OF \finite subU\]) using Uf t pf01 apply auto apply (force elim!: subsetCE) done @@ -345,10 +345,10 @@ using t0 pf by (simp add: q_def power_0_left) { fix t and n::nat assume t: "t \ s \ V" - with `k>0` V have "k * p t < k * \ / 2" + with \k>0\ V have "k * p t < k * \ / 2" by force then have "1 - (k * \ / 2)^n \ 1 - (k * p t)^n" - using `k>0` p01 t by (simp add: power_mono) + using \k>0\ p01 t by (simp add: power_mono) also have "... \ q n t" using Bernoulli_inequality [of "- ((p t)^n)" "k^n"] apply (simp add: q_def) @@ -357,7 +357,7 @@ } note limitV = this { fix t and n::nat assume t: "t \ s - U" - with `k>0` U have "k * \ \ k * p t" + with \k>0\ U have "k * \ \ k * p t" by (simp add: pt_\) with k\ have kpt: "1 < k * p t" by (blast intro: less_le_trans) @@ -366,9 +366,9 @@ have ptn_le: "p t ^ n \ 1" by (meson DiffE atLeastAtMost_iff p01 power_le_one t) have "q n t = (1/(k^n * (p t)^n)) * (1 - p t ^ n) ^ (k^n) * k^n * (p t)^n" - using pt_pos [OF t] `k>0` by (simp add: q_def) + using pt_pos [OF t] \k>0\ by (simp add: q_def) also have "... \ (1/(k * (p t))^n) * (1 - p t ^ n) ^ (k^n) * (1 + k^n * (p t)^n)" - using pt_pos [OF t] `k>0` + using pt_pos [OF t] \k>0\ apply simp apply (simp only: times_divide_eq_right [symmetric]) apply (rule mult_left_mono [of "1::real", simplified]) @@ -377,20 +377,20 @@ using ptn_le by linarith also have "... \ (1/(k * (p t))^n) * (1 - p t ^ n) ^ (k^n) * (1 + (p t)^n) ^ (k^n)" apply (rule mult_left_mono [OF Bernoulli_inequality [of "p t ^ n" "k^n"]]) - using `k>0` ptn_pos ptn_le + using \k>0\ ptn_pos ptn_le apply (auto simp: power_mult_distrib) done also have "... = (1/(k * (p t))^n) * (1 - p t ^ (2*n)) ^ (k^n)" - using pt_pos [OF t] `k>0` + using pt_pos [OF t] \k>0\ by (simp add: algebra_simps power_mult power2_eq_square power_mult_distrib [symmetric]) also have "... \ (1/(k * (p t))^n) * 1" apply (rule mult_left_mono [OF power_le_one]) apply (metis diff_le_iff(1) less_eq_real_def mult.commute power_le_one power_mult ptn_pos ptn_le) - using pt_pos [OF t] `k>0` + using pt_pos [OF t] \k>0\ apply auto done also have "... \ (1 / (k*\))^n" - using `k>0` \01 power_mono pt_\ t + using \k>0\ \01 power_mono pt_\ t by (fastforce simp: field_simps) finally have "q n t \ (1 / (real k * \)) ^ n " . } note limitNonU = this @@ -401,13 +401,13 @@ have NN1: "\e. e>0 \ (k * \ / 2)^NN e < e" apply (subst Transcendental.ln_less_cancel_iff [symmetric]) prefer 3 apply (subst ln_realpow) - using `k>0` `\>0` NN k\ + using \k>0\ \\>0\ NN k\ apply (force simp add: field_simps)+ done have NN0: "\e. e>0 \ (1/(k*\))^NN e < e" apply (subst Transcendental.ln_less_cancel_iff [symmetric]) prefer 3 apply (subst ln_realpow) - using `k>0` `\>0` NN k\ + using \k>0\ \\>0\ NN k\ apply (force simp add: field_simps ln_div)+ done { fix t and e::real @@ -416,11 +416,11 @@ proof - assume t: "t \ s \ V" show "1 - q (NN e) t < e" - by (metis add.commute diff_le_eq not_le limitV [OF t] less_le_trans [OF NN1 [OF `e>0`]]) + by (metis add.commute diff_le_eq not_le limitV [OF t] less_le_trans [OF NN1 [OF \e>0\]]) next assume t: "t \ s - U" show "q (NN e) t < e" - using limitNonU [OF t] less_le_trans [OF NN0 [OF `e>0`]] not_le by blast + using limitNonU [OF t] less_le_trans [OF NN0 [OF \e>0\]] not_le by blast qed } then have "\e. e > 0 \ \f\R. f ` s \ {0..1} \ (\t \ s \ V. f t < e) \ (\t \ s - U. 1 - e < f t)" using q01 @@ -445,7 +445,7 @@ using assms by auto then have "\V. open V \ w \ V \ s \ V \ -B \ (\e>0. \f \ R. f ` s \ {0..1} \ (\x \ s \ V. f x < e) \ (\x \ s \ B. f x > 1 - e))" - using one [of "-B" w b] assms `w \ A` by simp + using one [of "-B" w b] assms \w \ A\ by simp } then obtain Vf where Vf: "\w. w \ A \ open (Vf w) \ w \ Vf w \ s \ Vf w \ -B \ @@ -462,7 +462,7 @@ obtain subA where subA: "subA \ A" "finite subA" "A \ (\x \ subA. Vf x)" by (blast intro: that open_Vf compactE_image [OF com_A _ setsum_max_0]) then have [simp]: "subA \ {}" - using `a \ A` by auto + using \a \ A\ by auto then have cardp: "card subA > 0" using subA by (simp add: card_gt_0_iff) have "\w. w \ A \ \f \ R. f ` s \ {0..1} \ (\x \ s \ Vf w. f x < e / card subA) \ (\x \ s \ B. f x > 1 - e / card subA)" @@ -623,7 +623,7 @@ then have fj1: "f t \ (j - 1/3)*e" by (simp add: A_def) then have Anj: "t \ A i" if "ii apply (simp add: j_def) using not_less_Least by blast have j1: "1 \ j" @@ -639,7 +639,7 @@ then obtain d where "i+2+d = j" using le_Suc_ex that by blast then have "t \ B i" - using Anj e ge_fx [OF t] `1 \ n` fpos [OF t] t + using Anj e ge_fx [OF t] \1 \ n\ fpos [OF t] t apply (simp add: A_def B_def) apply (clarsimp simp add: field_simps real_of_nat_diff not_le real_of_nat_Suc) apply (rule order_trans [of _ "e * 2 + (e * (real d * 3) + e * (real i * 3))"]) @@ -664,9 +664,9 @@ apply simp done also have "... \ j*e + e*(n - j + 1)*e/n " - using `1 \ n` e by (simp add: field_simps) + using \1 \ n\ e by (simp add: field_simps) also have "... \ j*e + e*e" - using `1 \ n` e j1 by (simp add: field_simps) + using \1 \ n\ e j1 by (simp add: field_simps) also have "... < (j + 1/3)*e" using e by (auto simp: field_simps) finally have gj1: "g t < (j + 1 / 3) * e" . @@ -737,7 +737,7 @@ assume n: "N \ n" "\x\s. \f x - g x\ < 1 / (1 + real n)" assume x: "x \ s" have "\ real (Suc n) < inverse e" - using `N \ n` N using less_imp_inverse_less by force + using \N \ n\ N using less_imp_inverse_less by force then have "1 / (1 + real n) \ e" using e by (simp add: field_simps real_of_nat_Suc) then have "\f x - g x\ < e" @@ -756,7 +756,7 @@ done qed -text{*A HOL Light formulation*} +text\A HOL Light formulation\ corollary Stone_Weierstrass_HOL: fixes R :: "('a::t2_space \ real) set" and s :: "'a set" assumes "compact s" "\c. P(\x. c::real)" @@ -772,12 +772,12 @@ using assms by auto show ?thesis - using PR.Stone_Weierstrass_basic [OF `continuous_on s f` `0 < e`] + using PR.Stone_Weierstrass_basic [OF \continuous_on s f\ \0 < e\] by blast qed -subsection {*Polynomial functions*} +subsection \Polynomial functions\ inductive real_polynomial_function :: "('a::real_normed_vector \ real) \ bool" where linear: "bounded_linear f \ real_polynomial_function f" @@ -978,7 +978,7 @@ by (simp add: euclidean_representation_setsum_fun) qed -subsection {*Stone-Weierstrass theorem for polynomial functions*} +subsection \Stone-Weierstrass theorem for polynomial functions\ text\First, we need to show that they are continous, differentiable and separable.\ @@ -1048,12 +1048,12 @@ assume "b \ Basis" then obtain p' where p': "real_polynomial_function p'" and pd: "\x. ((\x. p x \ b) has_real_derivative p' x) (at x)" - using assms [unfolded polynomial_function_iff_Basis_inner, rule_format] `b \ Basis` + using assms [unfolded polynomial_function_iff_Basis_inner, rule_format] \b \ Basis\ has_real_derivative_polynomial_function by blast have "\q. polynomial_function q \ (\x. ((\u. (p u \ b) *\<^sub>R b) has_vector_derivative q x) (at x))" apply (rule_tac x="\x. p' x *\<^sub>R b" in exI) - using `b \ Basis` p' + using \b \ Basis\ p' apply (simp add: polynomial_function_iff_Basis_inner inner_Basis) apply (auto intro: derivative_eq_intros pd) done @@ -1096,7 +1096,7 @@ apply (auto intro: real_polynomial_function_separable) done show ?thesis - using PR.Stone_Weierstrass_basic [OF `continuous_on s f` `0 < e`] + using PR.Stone_Weierstrass_basic [OF \continuous_on s f\ \0 < e\] by blast qed @@ -1131,7 +1131,7 @@ by (rule norm_setsum) also have "... < of_nat DIM('b) * (e / DIM('b))" apply (rule setsum_bounded_above_strict) - apply (simp add: Real_Vector_Spaces.scaleR_diff_left [symmetric] pf `x \ s`) + apply (simp add: Real_Vector_Spaces.scaleR_diff_left [symmetric] pf \x \ s\) apply (rule DIM_positive) done also have "... = e" @@ -1149,8 +1149,8 @@ subsection\Polynomial functions as paths\ -text{*One application is to pick a smooth approximation to a path, -or just pick a smooth path anyway in an open connected set*} +text\One application is to pick a smooth approximation to a path, +or just pick a smooth path anyway in an open connected set\ lemma path_polynomial_function: fixes g :: "real \ 'b::euclidean_space" @@ -1192,7 +1192,7 @@ proof - have "path_connected s" using assms by (simp add: connected_open_path_connected) - with `x \ s` `y \ s` obtain p where p: "path p" "path_image p \ s" "pathstart p = x" "pathfinish p = y" + with \x \ s\ \y \ s\ obtain p where p: "path p" "path_image p \ s" "pathstart p = x" "pathfinish p = y" by (force simp: path_connected_def) have "\e. 0 < e \ (\x \ path_image p. ball x e \ s)" proof (cases "s = UNIV") @@ -1211,7 +1211,7 @@ then obtain e where "0 < e"and eb: "\x. x \ path_image p \ ball x e \ s" by auto show ?thesis - using path_approx_polynomial_function [OF `path p` `0 < e`] + using path_approx_polynomial_function [OF \path p\ \0 < e\] apply clarify apply (intro exI conjI, assumption) using p