# HG changeset patch # User wenzelm # Date 1451480751 -3600 # Node ID 3a27957ac658bb7502b717579d231a56b7add45f # Parent b4b11391c67615ab425457cd12cc9362c4000680 more symbols; diff -r b4b11391c676 -r 3a27957ac658 NEWS --- a/NEWS Wed Dec 30 11:37:29 2015 +0100 +++ b/NEWS Wed Dec 30 14:05:51 2015 +0100 @@ -504,6 +504,7 @@ notation (in topological_space) tendsto (infixr "--->" 55) notation (in topological_space) LIMSEQ ("((_)/ ----> (_))" [60, 60] 60) + notation LIM ("((_)/ -- (_)/ --> (_))" [60, 0, 60] 60) notation NSLIMSEQ ("((_)/ ----NS> (_))" [60, 60] 60) notation NSLIM ("((_)/ -- (_)/ --NS> (_))" [60, 0, 60] 60) diff -r b4b11391c676 -r 3a27957ac658 etc/abbrevs --- a/etc/abbrevs Wed Dec 30 11:37:29 2015 +0100 +++ b/etc/abbrevs Wed Dec 30 14:05:51 2015 +0100 @@ -3,6 +3,8 @@ (*prevent replacement of very long arrows*) "===>" = "===>" +"--->" = "\\" + (*HOL-NSA*) "--->" = "\\<^sub>N\<^sub>S" "--->" = "\\\<^sub>N\<^sub>S" diff -r b4b11391c676 -r 3a27957ac658 src/HOL/Deriv.thy --- a/src/HOL/Deriv.thy Wed Dec 30 11:37:29 2015 +0100 +++ b/src/HOL/Deriv.thy Wed Dec 30 14:05:51 2015 +0100 @@ -148,12 +148,12 @@ by (simp add: has_derivative_at_within divide_inverse ac_simps) lemma has_derivative_at: - "(f has_derivative D) (at x) \ (bounded_linear D \ (\h. norm (f (x + h) - f x - D h) / norm h) -- 0 --> 0)" + "(f has_derivative D) (at x) \ (bounded_linear D \ (\h. norm (f (x + h) - f x - D h) / norm h) \0\ 0)" unfolding has_derivative_iff_norm LIM_offset_zero_iff[of _ _ x] by simp lemma field_has_derivative_at: fixes x :: "'a::real_normed_field" - shows "(f has_derivative op * D) (at x) \ (\h. (f (x + h) - f x) / h) -- 0 --> D" + shows "(f has_derivative op * D) (at x) \ (\h. (f (x + h) - f x) / h) \0\ D" apply (unfold has_derivative_at) apply (simp add: bounded_linear_mult_right) apply (simp cong: LIM_cong add: nonzero_norm_divide [symmetric]) @@ -454,7 +454,7 @@ interpret F: bounded_linear F using assms by (rule has_derivative_bounded_linear) let ?r = "\h. norm (F h) / norm h" - have *: "?r -- 0 --> 0" + have *: "?r \0\ 0" using assms unfolding has_derivative_at by simp show "F = (\h. 0)" proof @@ -599,7 +599,7 @@ lemma differentiableI: "(f has_real_derivative D) (at x within s) \ f differentiable (at x within s)" by (force simp add: real_differentiable_def) -lemma DERIV_def: "DERIV f x :> D \ (\h. (f (x + h) - f x) / h) -- 0 --> D" +lemma DERIV_def: "DERIV f x :> D \ (\h. (f (x + h) - f x) / h) \0\ D" apply (simp add: has_field_derivative_def has_derivative_at bounded_linear_mult_right LIM_zero_iff[symmetric, of _ D]) apply (subst (2) tendsto_norm_zero_iff[symmetric]) apply (rule filterlim_cong) @@ -701,7 +701,7 @@ subsection \Derivatives\ -lemma DERIV_D: "DERIV f x :> D \ (\h. (f (x + h) - f x) / h) -- 0 --> D" +lemma DERIV_D: "DERIV f x :> D \ (\h. (f (x + h) - f x) / h) \0\ D" by (simp add: DERIV_def) lemma DERIV_const [simp, derivative_intros]: "((\x. k) has_field_derivative 0) F" @@ -883,8 +883,8 @@ lemma DERIV_LIM_iff: fixes f :: "'a::{real_normed_vector,inverse} \ 'a" shows - "((%h. (f(a + h) - f(a)) / h) -- 0 --> D) = - ((%x. (f(x)-f(a)) / (x-a)) -- a --> D)" + "((%h. (f(a + h) - f(a)) / h) \0\ D) = + ((%x. (f(x)-f(a)) / (x-a)) \a\ D)" apply (rule iffI) apply (drule_tac k="- a" in LIM_offset) apply simp @@ -892,7 +892,7 @@ apply (simp add: add.commute) done -lemma DERIV_iff2: "(DERIV f x :> D) \ (\z. (f z - f x) / (z - x)) --x --> D" +lemma DERIV_iff2: "(DERIV f x :> D) \ (\z. (f z - f x) / (z - x)) \x\ D" by (simp add: DERIV_def DERIV_LIM_iff) lemma DERIV_cong_ev: "x = y \ eventually (\x. f x = g x) (nhds x) \ u = v \ @@ -1485,9 +1485,9 @@ inverse ((f (g y) - x) / (g y - g x))" by (simp add: inj) next - have "(\z. (f z - f (g x)) / (z - g x)) -- g x --> D" + have "(\z. (f z - f (g x)) / (z - g x)) \g x\ D" by (rule der [unfolded DERIV_iff2]) - hence 1: "(\z. (f z - x) / (z - g x)) -- g x --> D" + hence 1: "(\z. (f z - x) / (z - g x)) \g x\ D" using inj a b by simp have 2: "\d>0. \y. y \ x \ norm (y - x) < d \ g y \ g x" proof (rule exI, safe) @@ -1504,10 +1504,10 @@ also assume "y \ x" finally show False by simp qed - have "(\y. (f (g y) - x) / (g y - g x)) -- x --> D" + have "(\y. (f (g y) - x) / (g y - g x)) \x\ D" using cont 1 2 by (rule isCont_LIM_compose2) thus "(\y. inverse ((f (g y) - x) / (g y - g x))) - -- x --> inverse D" + \x\ inverse D" using neq by (rule tendsto_inverse) qed diff -r b4b11391c676 -r 3a27957ac658 src/HOL/Library/Extended_Real.thy --- a/src/HOL/Library/Extended_Real.thy Wed Dec 30 11:37:29 2015 +0100 +++ b/src/HOL/Library/Extended_Real.thy Wed Dec 30 14:05:51 2015 +0100 @@ -3596,7 +3596,7 @@ unfolding tendsto_PInfty filterlim_at_top_dense tendsto_MInfty filterlim_at_bot_dense using lim_ereal by (simp_all add: comp_def) -lemma inverse_infty_ereal_tendsto_0: "inverse -- \ --> (0::ereal)" +lemma inverse_infty_ereal_tendsto_0: "inverse \\\ (0::ereal)" proof - have **: "((\x. ereal (inverse x)) \ ereal 0) at_infinity" by (intro tendsto_intros tendsto_inverse_0) @@ -3609,10 +3609,10 @@ lemma inverse_ereal_tendsto_pos: fixes x :: ereal assumes "0 < x" - shows "inverse -- x --> inverse x" + shows "inverse \x\ inverse x" proof (cases x) case (real r) - with \0 < x\ have **: "(\x. ereal (inverse x)) -- r --> ereal (inverse r)" + with \0 < x\ have **: "(\x. ereal (inverse x)) \r\ ereal (inverse r)" by (auto intro!: tendsto_inverse) from real \0 < x\ show ?thesis by (auto simp: at_ereal tendsto_compose_filtermap[symmetric] eventually_at_filter diff -r b4b11391c676 -r 3a27957ac658 src/HOL/Limits.thy --- a/src/HOL/Limits.thy Wed Dec 30 11:37:29 2015 +0100 +++ b/src/HOL/Limits.thy Wed Dec 30 14:05:51 2015 +0100 @@ -1941,40 +1941,40 @@ lemma LIM_eq: fixes a :: "'a::real_normed_vector" and L :: "'b::real_normed_vector" - shows "f -- a --> L = + shows "f \a\ L = (\r>0.\s>0.\x. x \ a & norm (x-a) < s --> norm (f x - L) < r)" by (simp add: LIM_def dist_norm) lemma LIM_I: fixes a :: "'a::real_normed_vector" and L :: "'b::real_normed_vector" shows "(!!r. 0 \s>0.\x. x \ a & norm (x-a) < s --> norm (f x - L) < r) - ==> f -- a --> L" + ==> f \a\ L" by (simp add: LIM_eq) lemma LIM_D: fixes a :: "'a::real_normed_vector" and L :: "'b::real_normed_vector" - shows "[| f -- a --> L; 0a\ L; 0 \s>0.\x. x \ a & norm (x-a) < s --> norm (f x - L) < r" by (simp add: LIM_eq) lemma LIM_offset: fixes a :: "'a::real_normed_vector" - shows "f -- a --> L \ (\x. f (x + k)) -- a - k --> L" + shows "f \a\ L \ (\x. f (x + k)) \(a - k)\ L" unfolding filtermap_at_shift[symmetric, of a k] filterlim_def filtermap_filtermap by simp lemma LIM_offset_zero: fixes a :: "'a::real_normed_vector" - shows "f -- a --> L \ (\h. f (a + h)) -- 0 --> L" + shows "f \a\ L \ (\h. f (a + h)) \0\ L" by (drule_tac k="a" in LIM_offset, simp add: add.commute) lemma LIM_offset_zero_cancel: fixes a :: "'a::real_normed_vector" - shows "(\h. f (a + h)) -- 0 --> L \ f -- a --> L" + shows "(\h. f (a + h)) \0\ L \ f \a\ L" by (drule_tac k="- a" in LIM_offset, simp) lemma LIM_offset_zero_iff: fixes f :: "'a :: real_normed_vector \ _" - shows "f -- a --> L \ (\h. f (a + h)) -- 0 --> L" + shows "f \a\ L \ (\h. f (a + h)) \0\ L" using LIM_offset_zero_cancel[of f a L] LIM_offset_zero[of f L a] by auto lemma LIM_zero: @@ -1995,9 +1995,9 @@ lemma LIM_imp_LIM: fixes f :: "'a::topological_space \ 'b::real_normed_vector" fixes g :: "'a::topological_space \ 'c::real_normed_vector" - assumes f: "f -- a --> l" + assumes f: "f \a\ l" assumes le: "\x. x \ a \ norm (g x - m) \ norm (f x - l)" - shows "g -- a --> m" + shows "g \a\ m" by (rule metric_LIM_imp_LIM [OF f], simp add: dist_norm le) @@ -2005,23 +2005,23 @@ fixes f g :: "'a::real_normed_vector \ 'b::topological_space" assumes 1: "0 < R" assumes 2: "\x. \x \ a; norm (x - a) < R\ \ f x = g x" - shows "g -- a --> l \ f -- a --> l" + shows "g \a\ l \ f \a\ l" by (rule metric_LIM_equal2 [OF 1 2], simp_all add: dist_norm) lemma LIM_compose2: fixes a :: "'a::real_normed_vector" - assumes f: "f -- a --> b" - assumes g: "g -- b --> c" + assumes f: "f \a\ b" + assumes g: "g \b\ c" assumes inj: "\d>0. \x. x \ a \ norm (x - a) < d \ f x \ b" - shows "(\x. g (f x)) -- a --> c" + shows "(\x. g (f x)) \a\ c" by (rule metric_LIM_compose2 [OF f g inj [folded dist_norm]]) lemma real_LIM_sandwich_zero: fixes f g :: "'a::topological_space \ real" - assumes f: "f -- a --> 0" + assumes f: "f \a\ 0" assumes 1: "\x. x \ a \ 0 \ g x" assumes 2: "\x. x \ a \ g x \ f x" - shows "g -- a --> 0" + shows "g \a\ 0" proof (rule LIM_imp_LIM [OF f]) (* FIXME: use tendsto_sandwich *) fix x assume x: "x \ a" have "norm (g x - 0) = g x" by (simp add: 1 x) @@ -2036,20 +2036,20 @@ lemma LIM_isCont_iff: fixes f :: "'a::real_normed_vector \ 'b::topological_space" - shows "(f -- a --> f a) = ((\h. f (a + h)) -- 0 --> f a)" + shows "(f \a\ f a) = ((\h. f (a + h)) \0\ f a)" by (rule iffI [OF LIM_offset_zero LIM_offset_zero_cancel]) lemma isCont_iff: fixes f :: "'a::real_normed_vector \ 'b::topological_space" - shows "isCont f x = (\h. f (x + h)) -- 0 --> f x" + shows "isCont f x = (\h. f (x + h)) \0\ f x" by (simp add: isCont_def LIM_isCont_iff) lemma isCont_LIM_compose2: fixes a :: "'a::real_normed_vector" assumes f [unfolded isCont_def]: "isCont f a" - assumes g: "g -- f a --> l" + assumes g: "g \f a\ l" assumes inj: "\d>0. \x. x \ a \ norm (x - a) < d \ f x \ f a" - shows "(\x. g (f x)) -- a --> l" + shows "(\x. g (f x)) \a\ l" by (rule LIM_compose2 [OF f g inj]) @@ -2403,7 +2403,7 @@ text\Bartle/Sherbert: Introduction to Real Analysis, Theorem 4.2.9, p. 110\ lemma LIM_fun_gt_zero: fixes f :: "real \ real" - shows "f -- c --> l \ 0 < l \ \r. 0 < r \ (\x. x \ c \ \c - x\ < r \ 0 < f x)" + shows "f \c\ l \ 0 < l \ \r. 0 < r \ (\x. x \ c \ \c - x\ < r \ 0 < f x)" apply (drule (1) LIM_D, clarify) apply (rule_tac x = s in exI) apply (simp add: abs_less_iff) @@ -2411,7 +2411,7 @@ lemma LIM_fun_less_zero: fixes f :: "real \ real" - shows "f -- c --> l \ l < 0 \ \r. 0 < r \ (\x. x \ c \ \c - x\ < r \ f x < 0)" + shows "f \c\ l \ l < 0 \ \r. 0 < r \ (\x. x \ c \ \c - x\ < r \ f x < 0)" apply (drule LIM_D [where r="-l"], simp, clarify) apply (rule_tac x = s in exI) apply (simp add: abs_less_iff) @@ -2419,7 +2419,7 @@ lemma LIM_fun_not_zero: fixes f :: "real \ real" - shows "f -- c --> l \ l \ 0 \ \r. 0 < r \ (\x. x \ c \ \c - x\ < r \ f x \ 0)" + shows "f \c\ l \ l \ 0 \ \r. 0 < r \ (\x. x \ c \ \c - x\ < r \ f x \ 0)" using LIM_fun_gt_zero[of f l c] LIM_fun_less_zero[of f l c] by (auto simp add: neq_iff) end diff -r b4b11391c676 -r 3a27957ac658 src/HOL/Multivariate_Analysis/Cauchy_Integral_Thm.thy --- a/src/HOL/Multivariate_Analysis/Cauchy_Integral_Thm.thy Wed Dec 30 11:37:29 2015 +0100 +++ b/src/HOL/Multivariate_Analysis/Cauchy_Integral_Thm.thy Wed Dec 30 14:05:51 2015 +0100 @@ -2552,7 +2552,7 @@ then have "\d>0. \y. y \ x \ cmod (y-x) < d \ cmod (?pathint x y - f x * (y-x)) / cmod (y-x) < e" using dpos by blast } - then have *: "(\y. (?pathint x y - f x * (y - x)) /\<^sub>R cmod (y - x)) -- x --> 0" + then have *: "(\y. (?pathint x y - f x * (y - x)) /\<^sub>R cmod (y - x)) \x\ 0" by (simp add: Lim_at dist_norm inverse_eq_divide) show ?thesis apply (simp add: has_field_derivative_def has_derivative_at bounded_linear_mult_right) @@ -5472,7 +5472,7 @@ show "(\u. f' u / (u - w) ^ (Suc k)) contour_integrable_on \" by (rule contour_integral_uniform_limit [OF 1 2 leB \]) auto have *: "(\n. contour_integral \ (\x. f' x * (inverse (x - n) ^ k - inverse (x - w) ^ k) / (n - w) / k)) - --w--> contour_integral \ (\u. f' u / (u - w) ^ (Suc k))" + \w\ contour_integral \ (\u. f' u / (u - w) ^ (Suc k))" by (rule contour_integral_uniform_limit [OF 1 2 leB \]) auto have **: "contour_integral \ (\x. f' x * (inverse (x - u) ^ k - inverse (x - w) ^ k) / ((u - w) * k)) = (f u - f w) / (u - w) / k" diff -r b4b11391c676 -r 3a27957ac658 src/HOL/NSA/CLim.thy --- a/src/HOL/NSA/CLim.thy Wed Dec 30 11:37:29 2015 +0100 +++ b/src/HOL/NSA/CLim.thy Wed Dec 30 14:05:51 2015 +0100 @@ -47,22 +47,22 @@ (** get this result easily now **) lemma LIM_Re: fixes f :: "'a::real_normed_vector \ complex" - shows "f -- a --> L ==> (%x. Re(f x)) -- a --> Re(L)" + shows "f \a\ L ==> (%x. Re(f x)) \a\ Re(L)" by (simp add: LIM_NSLIM_iff NSLIM_Re) lemma LIM_Im: fixes f :: "'a::real_normed_vector \ complex" - shows "f -- a --> L ==> (%x. Im(f x)) -- a --> Im(L)" + shows "f \a\ L ==> (%x. Im(f x)) \a\ Im(L)" by (simp add: LIM_NSLIM_iff NSLIM_Im) lemma LIM_cnj: fixes f :: "'a::real_normed_vector \ complex" - shows "f -- a --> L ==> (%x. cnj (f x)) -- a --> cnj L" + shows "f \a\ L ==> (%x. cnj (f x)) \a\ cnj L" by (simp add: LIM_eq complex_cnj_diff [symmetric] del: complex_cnj_diff) lemma LIM_cnj_iff: fixes f :: "'a::real_normed_vector \ complex" - shows "((%x. cnj (f x)) -- a --> cnj L) = (f -- a --> L)" + shows "((%x. cnj (f x)) \a\ cnj L) = (f \a\ L)" by (simp add: LIM_eq complex_cnj_diff [symmetric] del: complex_cnj_diff) lemma starfun_norm: "( *f* (\x. norm (f x))) = (\x. hnorm (( *f* f) x))" @@ -84,7 +84,7 @@ (** much, much easier standard proof **) lemma CLIM_CRLIM_iff: fixes f :: "'a::real_normed_vector \ complex" - shows "(f -- x --> L) = ((%y. cmod(f y - L)) -- x --> 0)" + shows "(f \x\ L) = ((%y. cmod(f y - L)) \x\ 0)" by (simp add: LIM_eq) (* so this is nicer nonstandard proof *) @@ -103,8 +103,8 @@ lemma LIM_CRLIM_Re_Im_iff: fixes f :: "'a::real_normed_vector \ complex" - shows "(f -- a --> L) = ((%x. Re(f x)) -- a --> Re(L) & - (%x. Im(f x)) -- a --> Im(L))" + shows "(f \a\ L) = ((%x. Re(f x)) \a\ Re(L) & + (%x. Im(f x)) \a\ Im(L))" by (simp add: LIM_NSLIM_iff NSLIM_NSCRLIM_Re_Im_iff) diff -r b4b11391c676 -r 3a27957ac658 src/HOL/NSA/HLim.thy --- a/src/HOL/NSA/HLim.thy Wed Dec 30 11:37:29 2015 +0100 +++ b/src/HOL/NSA/HLim.thy Wed Dec 30 14:05:51 2015 +0100 @@ -136,7 +136,7 @@ subsubsection \Equivalence of @{term filterlim} and @{term NSLIM}\ lemma LIM_NSLIM: - assumes f: "f -- a --> L" shows "f \a\\<^sub>N\<^sub>S L" + assumes f: "f \a\ L" shows "f \a\\<^sub>N\<^sub>S L" proof (rule NSLIM_I) fix x assume neq: "x \ star_of a" @@ -164,7 +164,7 @@ qed lemma NSLIM_LIM: - assumes f: "f \a\\<^sub>N\<^sub>S L" shows "f -- a --> L" + assumes f: "f \a\\<^sub>N\<^sub>S L" shows "f \a\ L" proof (rule LIM_I) fix r::real assume r: "0 < r" have "\s>0. \x. x \ star_of a \ hnorm (x - star_of a) < s @@ -190,7 +190,7 @@ by transfer qed -theorem LIM_NSLIM_iff: "(f -- x --> L) = (f \x\\<^sub>N\<^sub>S L)" +theorem LIM_NSLIM_iff: "(f \x\ L) = (f \x\\<^sub>N\<^sub>S L)" by (blast intro: LIM_NSLIM NSLIM_LIM) @@ -215,7 +215,7 @@ text\Hence, NS continuity can be given in terms of standard limit\ -lemma isNSCont_LIM_iff: "(isNSCont f a) = (f -- a --> (f a))" +lemma isNSCont_LIM_iff: "(isNSCont f a) = (f \a\ (f a))" by (simp add: LIM_NSLIM_iff isNSCont_NSLIM_iff) text\Moreover, it's trivial now that NS continuity diff -r b4b11391c676 -r 3a27957ac658 src/HOL/Real_Vector_Spaces.thy --- a/src/HOL/Real_Vector_Spaces.thy Wed Dec 30 11:37:29 2015 +0100 +++ b/src/HOL/Real_Vector_Spaces.thy Wed Dec 30 14:05:51 2015 +0100 @@ -1727,31 +1727,31 @@ subsubsection \Limits of Functions\ -lemma LIM_def: "f -- (a::'a::metric_space) --> (L::'b::metric_space) = +lemma LIM_def: "f \(a::'a::metric_space)\ (L::'b::metric_space) = (\r > 0. \s > 0. \x. x \ a & dist x a < s --> dist (f x) L < r)" unfolding tendsto_iff eventually_at by simp lemma metric_LIM_I: "(\r. 0 < r \ \s>0. \x. x \ a \ dist x a < s \ dist (f x) L < r) - \ f -- (a::'a::metric_space) --> (L::'b::metric_space)" + \ f \(a::'a::metric_space)\ (L::'b::metric_space)" by (simp add: LIM_def) lemma metric_LIM_D: - "\f -- (a::'a::metric_space) --> (L::'b::metric_space); 0 < r\ + "\f \(a::'a::metric_space)\ (L::'b::metric_space); 0 < r\ \ \s>0. \x. x \ a \ dist x a < s \ dist (f x) L < r" by (simp add: LIM_def) lemma metric_LIM_imp_LIM: - assumes f: "f -- a --> (l::'a::metric_space)" + assumes f: "f \a\ (l::'a::metric_space)" assumes le: "\x. x \ a \ dist (g x) m \ dist (f x) l" - shows "g -- a --> (m::'b::metric_space)" + shows "g \a\ (m::'b::metric_space)" by (rule metric_tendsto_imp_tendsto [OF f]) (auto simp add: eventually_at_topological le) lemma metric_LIM_equal2: assumes 1: "0 < R" assumes 2: "\x. \x \ a; dist x a < R\ \ f x = g x" - shows "g -- a --> l \ f -- (a::'a::metric_space) --> l" + shows "g \a\ l \ f \(a::'a::metric_space)\ l" apply (rule topological_tendstoI) apply (drule (2) topological_tendstoD) apply (simp add: eventually_at, safe) @@ -1761,19 +1761,19 @@ done lemma metric_LIM_compose2: - assumes f: "f -- (a::'a::metric_space) --> b" - assumes g: "g -- b --> c" + assumes f: "f \(a::'a::metric_space)\ b" + assumes g: "g \b\ c" assumes inj: "\d>0. \x. x \ a \ dist x a < d \ f x \ b" - shows "(\x. g (f x)) -- a --> c" + shows "(\x. g (f x)) \a\ c" using inj by (intro tendsto_compose_eventually[OF g f]) (auto simp: eventually_at) lemma metric_isCont_LIM_compose2: fixes f :: "'a :: metric_space \ _" assumes f [unfolded isCont_def]: "isCont f a" - assumes g: "g -- f a --> l" + assumes g: "g \f a\ l" assumes inj: "\d>0. \x. x \ a \ dist x a < d \ f x \ f a" - shows "(\x. g (f x)) -- a --> l" + shows "(\x. g (f x)) \a\ l" by (rule metric_LIM_compose2 [OF f g inj]) subsection \Complete metric spaces\ diff -r b4b11391c676 -r 3a27957ac658 src/HOL/Topological_Spaces.thy --- a/src/HOL/Topological_Spaces.thy Wed Dec 30 11:37:29 2015 +0100 +++ b/src/HOL/Topological_Spaces.thy Wed Dec 30 14:05:51 2015 +0100 @@ -1204,16 +1204,16 @@ abbreviation LIM :: "('a::topological_space \ 'b::topological_space) \ 'a \ 'b \ bool" - ("((_)/ -- (_)/ --> (_))" [60, 0, 60] 60) where - "f -- a --> L \ (f \ L) (at a)" + ("((_)/ \(_)/\ (_))" [60, 0, 60] 60) where + "f \a\ L \ (f \ L) (at a)" -lemma tendsto_within_open: "a \ S \ open S \ (f \ l) (at a within S) \ (f -- a --> l)" +lemma tendsto_within_open: "a \ S \ open S \ (f \ l) (at a within S) \ (f \a\ l)" unfolding tendsto_def by (simp add: at_within_open[where S=S]) lemma LIM_const_not_eq[tendsto_intros]: fixes a :: "'a::perfect_space" fixes k L :: "'b::t2_space" - shows "k \ L \ \ (\x. k) -- a --> L" + shows "k \ L \ \ (\x. k) \a\ L" by (simp add: tendsto_const_iff) lemmas LIM_not_zero = LIM_const_not_eq [where L = 0] @@ -1221,46 +1221,46 @@ lemma LIM_const_eq: fixes a :: "'a::perfect_space" fixes k L :: "'b::t2_space" - shows "(\x. k) -- a --> L \ k = L" + shows "(\x. k) \a\ L \ k = L" by (simp add: tendsto_const_iff) lemma LIM_unique: fixes a :: "'a::perfect_space" and L M :: "'b::t2_space" - shows "f -- a --> L \ f -- a --> M \ L = M" + shows "f \a\ L \ f \a\ M \ L = M" using at_neq_bot by (rule tendsto_unique) text \Limits are equal for functions equal except at limit point\ -lemma LIM_equal: "\x. x \ a --> (f x = g x) \ (f -- a --> l) \ (g -- a --> l)" +lemma LIM_equal: "\x. x \ a --> (f x = g x) \ (f \a\ l) \ (g \a\ l)" unfolding tendsto_def eventually_at_topological by simp -lemma LIM_cong: "a = b \ (\x. x \ b \ f x = g x) \ l = m \ (f -- a --> l) \ (g -- b --> m)" +lemma LIM_cong: "a = b \ (\x. x \ b \ f x = g x) \ l = m \ (f \a\ l) \ (g \b\ m)" by (simp add: LIM_equal) -lemma LIM_cong_limit: "f -- x --> L \ K = L \ f -- x --> K" +lemma LIM_cong_limit: "f \x\ L \ K = L \ f \x\ K" by simp lemma tendsto_at_iff_tendsto_nhds: - "g -- l --> g l \ (g \ g l) (nhds l)" + "g \l\ g l \ (g \ g l) (nhds l)" unfolding tendsto_def eventually_at_filter by (intro ext all_cong imp_cong) (auto elim!: eventually_mono) lemma tendsto_compose: - "g -- l --> g l \ (f \ l) F \ ((\x. g (f x)) \ g l) F" + "g \l\ g l \ (f \ l) F \ ((\x. g (f x)) \ g l) F" unfolding tendsto_at_iff_tendsto_nhds by (rule filterlim_compose[of g]) -lemma LIM_o: "\g -- l --> g l; f -- a --> l\ \ (g \ f) -- a --> g l" +lemma LIM_o: "\g \l\ g l; f \a\ l\ \ (g \ f) \a\ g l" unfolding o_def by (rule tendsto_compose) lemma tendsto_compose_eventually: - "g -- l --> m \ (f \ l) F \ eventually (\x. f x \ l) F \ ((\x. g (f x)) \ m) F" + "g \l\ m \ (f \ l) F \ eventually (\x. f x \ l) F \ ((\x. g (f x)) \ m) F" by (rule filterlim_compose[of g _ "at l"]) (auto simp add: filterlim_at) lemma LIM_compose_eventually: - assumes f: "f -- a --> b" - assumes g: "g -- b --> c" + assumes f: "f \a\ b" + assumes g: "g \b\ c" assumes inj: "eventually (\x. f x \ b) (at a)" - shows "(\x. g (f x)) -- a --> c" + shows "(\x. g (f x)) \a\ c" using g f inj by (rule tendsto_compose_eventually) lemma tendsto_compose_filtermap: "((g \ f) \ T) F \ (g \ T) (filtermap f F)" @@ -1280,19 +1280,19 @@ lemma LIMSEQ_SEQ_conv1: fixes f :: "'a::topological_space \ 'b::topological_space" - assumes f: "f -- a --> l" + assumes f: "f \a\ l" shows "\S. (\n. S n \ a) \ S \ a \ (\n. f (S n)) \ l" using tendsto_compose_eventually [OF f, where F=sequentially] by simp lemma LIMSEQ_SEQ_conv2: fixes f :: "'a::first_countable_topology \ 'b::topological_space" assumes "\S. (\n. S n \ a) \ S \ a \ (\n. f (S n)) \ l" - shows "f -- a --> l" + shows "f \a\ l" using assms unfolding tendsto_def [where l=l] by (simp add: sequentially_imp_eventually_at) lemma LIMSEQ_SEQ_conv: "(\S. (\n. S n \ a) \ S \ (a::'a::first_countable_topology) \ (\n. X (S n)) \ L) = - (X -- a --> (L::'b::topological_space))" + (X \a\ (L::'b::topological_space))" using LIMSEQ_SEQ_conv2 LIMSEQ_SEQ_conv1 .. lemma sequentially_imp_eventually_at_left: @@ -1585,7 +1585,7 @@ continuous (at x within s) (\x. g (f x))" using continuous_within_compose[of x s f g] by (simp add: comp_def) -lemma continuous_at: "continuous (at x) f \ f -- x --> f x" +lemma continuous_at: "continuous (at x) f \ f \x\ f x" using continuous_within[of x UNIV f] by simp lemma continuous_ident[continuous_intros, simp]: "continuous (at x within S) (\x. x)" @@ -1601,7 +1601,7 @@ abbreviation isCont :: "('a::t2_space \ 'b::topological_space) \ 'a \ bool" where "isCont f a \ continuous (at a) f" -lemma isCont_def: "isCont f a \ f -- a --> f a" +lemma isCont_def: "isCont f a \ f \a\ f a" by (rule continuous_at) lemma continuous_at_imp_continuous_at_within: "isCont f x \ continuous (at x within s) f" diff -r b4b11391c676 -r 3a27957ac658 src/HOL/Transcendental.thy --- a/src/HOL/Transcendental.thy Wed Dec 30 11:37:29 2015 +0100 +++ b/src/HOL/Transcendental.thy Wed Dec 30 14:05:51 2015 +0100 @@ -564,19 +564,19 @@ fixes f :: "'a::real_normed_vector \ 'b::real_normed_vector" assumes k: "0 < (k::real)" and le: "\h. \h \ 0; norm h < k\ \ norm (f h) \ K * norm h" - shows "f -- 0 --> 0" + shows "f \0\ 0" proof (rule tendsto_norm_zero_cancel) - show "(\h. norm (f h)) -- 0 --> 0" + show "(\h. norm (f h)) \0\ 0" proof (rule real_tendsto_sandwich) show "eventually (\h. 0 \ norm (f h)) (at 0)" by simp show "eventually (\h. norm (f h) \ K * norm h) (at 0)" using k by (auto simp add: eventually_at dist_norm le) - show "(\h. 0) -- (0::'a) --> (0::real)" + show "(\h. 0) \(0::'a)\ (0::real)" by (rule tendsto_const) - have "(\h. K * norm h) -- (0::'a) --> K * norm (0::'a)" + have "(\h. K * norm h) \(0::'a)\ K * norm (0::'a)" by (intro tendsto_intros) - then show "(\h. K * norm h) -- (0::'a) --> 0" + then show "(\h. K * norm h) \(0::'a)\ 0" by simp qed qed @@ -586,7 +586,7 @@ assumes k: "0 < (k::real)" assumes f: "summable f" assumes le: "\h n. \h \ 0; norm h < k\ \ norm (g h n) \ f n * norm h" - shows "(\h. suminf (g h)) -- 0 --> 0" + shows "(\h. suminf (g h)) \0\ 0" proof (rule lemma_termdiff4 [OF k]) fix h::'a assume "h \ 0" and "norm h < k" @@ -615,7 +615,7 @@ assumes 1: "summable (\n. diffs (diffs c) n * K ^ n)" and 2: "norm x < norm K" shows "(\h. \n. c n * (((x + h) ^ n - x^n) / h - - of_nat n * x ^ (n - Suc 0))) -- 0 --> 0" + - of_nat n * x ^ (n - Suc 0))) \0\ 0" proof - from dense [OF 2] obtain r where r1: "norm x < r" and r2: "r < norm K" by fast @@ -682,7 +682,7 @@ unfolding DERIV_def proof (rule LIM_zero_cancel) show "(\h. (suminf (\n. c n * (x + h) ^ n) - suminf (\n. c n * x^n)) / h - - suminf (\n. diffs c n * x^n)) -- 0 --> 0" + - suminf (\n. diffs c n * x^n)) \0\ 0" proof (rule LIM_equal2) show "0 < norm K - norm x" using 4 by (simp add: less_diff_eq) next @@ -702,7 +702,7 @@ (\n. c n * (((x + h) ^ n - x^n) / h - of_nat n * x ^ (n - Suc 0)))" by (simp add: algebra_simps) next - show "(\h. \n. c n * (((x + h) ^ n - x^n) / h - of_nat n * x ^ (n - Suc 0))) -- 0 --> 0" + show "(\h. \n. c n * (((x + h) ^ n - x^n) / h - of_nat n * x ^ (n - Suc 0))) \0\ 0" by (rule termdiffs_aux [OF 3 4]) qed qed @@ -4068,7 +4068,7 @@ "continuous (at x within s) f \ cos (f x) \ 0 \ continuous (at x within s) (\x. tan (f x))" unfolding continuous_within by (rule tendsto_tan) -lemma LIM_cos_div_sin: "(\x. cos(x)/sin(x)) -- pi/2 --> 0" +lemma LIM_cos_div_sin: "(\x. cos(x)/sin(x)) \pi/2\ 0" by (rule LIM_cong_limit, (rule tendsto_intros)+, simp_all) lemma lemma_tan_total: "0 < y ==> \x. 0 < x & x < pi/2 & y < tan x" @@ -5572,7 +5572,7 @@ } then have wnz: "\w. w \ 0 \ (\i\n. c (Suc i) * w^i) = 0" using Suc by auto - then have "(\h. \i\n. c (Suc i) * h^i) -- 0 --> 0" + then have "(\h. \i\n. c (Suc i) * h^i) \0\ 0" by (simp cong: LIM_cong) \\the case @{term"w=0"} by continuity\ then have "(\i\n. c (Suc i) * 0^i) = 0" using isCont_polynom [of 0 "\i. c (Suc i)" n] LIM_unique