609 lemma tendsto_const_iff: |
609 lemma tendsto_const_iff: |
610 fixes a b :: "'a::t2_space" |
610 fixes a b :: "'a::t2_space" |
611 assumes "\<not> trivial_limit F" shows "((\<lambda>x. a) ---> b) F \<longleftrightarrow> a = b" |
611 assumes "\<not> trivial_limit F" shows "((\<lambda>x. a) ---> b) F \<longleftrightarrow> a = b" |
612 by (safe intro!: tendsto_const tendsto_unique [OF assms tendsto_const]) |
612 by (safe intro!: tendsto_const tendsto_unique [OF assms tendsto_const]) |
613 |
613 |
|
614 lemma tendsto_compose: |
|
615 assumes g: "(g ---> g l) (at l)" |
|
616 assumes f: "(f ---> l) F" |
|
617 shows "((\<lambda>x. g (f x)) ---> g l) F" |
|
618 proof (rule topological_tendstoI) |
|
619 fix B assume B: "open B" "g l \<in> B" |
|
620 obtain A where A: "open A" "l \<in> A" |
|
621 and gB: "\<forall>y. y \<in> A \<longrightarrow> g y \<in> B" |
|
622 using topological_tendstoD [OF g B] B(2) |
|
623 unfolding eventually_at_topological by fast |
|
624 hence "\<forall>x. f x \<in> A \<longrightarrow> g (f x) \<in> B" by simp |
|
625 from this topological_tendstoD [OF f A] |
|
626 show "eventually (\<lambda>x. g (f x) \<in> B) F" |
|
627 by (rule eventually_mono) |
|
628 qed |
|
629 |
614 subsubsection {* Distance and norms *} |
630 subsubsection {* Distance and norms *} |
615 |
631 |
616 lemma tendsto_dist [tendsto_intros]: |
632 lemma tendsto_dist [tendsto_intros]: |
617 assumes f: "(f ---> l) F" and g: "(g ---> m) F" |
633 assumes f: "(f ---> l) F" and g: "(g ---> m) F" |
618 shows "((\<lambda>x. dist (f x) (g x)) ---> dist l m) F" |
634 shows "((\<lambda>x. dist (f x) (g x)) ---> dist l m) F" |