equal
deleted
inserted
replaced
1110 lemma enn2real_positive_iff: "0 < enn2real x \<longleftrightarrow> (0 < x \<and> x < top)" |
1110 lemma enn2real_positive_iff: "0 < enn2real x \<longleftrightarrow> (0 < x \<and> x < top)" |
1111 by (cases x rule: ennreal_cases) auto |
1111 by (cases x rule: ennreal_cases) auto |
1112 |
1112 |
1113 lemma enn2real_eq_posreal_iff[simp]: "c > 0 \<Longrightarrow> enn2real x = c \<longleftrightarrow> x = c" |
1113 lemma enn2real_eq_posreal_iff[simp]: "c > 0 \<Longrightarrow> enn2real x = c \<longleftrightarrow> x = c" |
1114 by (cases x) auto |
1114 by (cases x) auto |
|
1115 |
|
1116 lemma ennreal_enn2real_if: "ennreal (enn2real r) = (if r = top then 0 else r)" |
|
1117 by(auto intro!: ennreal_enn2real simp add: less_top) |
1115 |
1118 |
1116 subsection \<open>Coercion from \<^typ>\<open>enat\<close> to \<^typ>\<open>ennreal\<close>\<close> |
1119 subsection \<open>Coercion from \<^typ>\<open>enat\<close> to \<^typ>\<open>ennreal\<close>\<close> |
1117 |
1120 |
1118 |
1121 |
1119 definition ennreal_of_enat :: "enat \<Rightarrow> ennreal" |
1122 definition ennreal_of_enat :: "enat \<Rightarrow> ennreal" |
1322 lemma tendsto_enn2ereal_iff[simp]: "((\<lambda>i. enn2ereal (f i)) \<longlongrightarrow> enn2ereal x) F \<longleftrightarrow> (f \<longlongrightarrow> x) F" |
1325 lemma tendsto_enn2ereal_iff[simp]: "((\<lambda>i. enn2ereal (f i)) \<longlongrightarrow> enn2ereal x) F \<longleftrightarrow> (f \<longlongrightarrow> x) F" |
1323 using continuous_on_enn2ereal[THEN continuous_on_tendsto_compose, of f x F] |
1326 using continuous_on_enn2ereal[THEN continuous_on_tendsto_compose, of f x F] |
1324 continuous_on_e2ennreal[THEN continuous_on_tendsto_compose, of "\<lambda>x. enn2ereal (f x)" "enn2ereal x" F UNIV] |
1327 continuous_on_e2ennreal[THEN continuous_on_tendsto_compose, of "\<lambda>x. enn2ereal (f x)" "enn2ereal x" F UNIV] |
1325 by auto |
1328 by auto |
1326 |
1329 |
|
1330 lemma ennreal_tendsto_0_iff: "(\<And>n. f n \<ge> 0) \<Longrightarrow> ((\<lambda>n. ennreal (f n)) \<longlonglongrightarrow> 0) \<longleftrightarrow> (f \<longlonglongrightarrow> 0)" |
|
1331 by (metis (mono_tags) ennreal_0 eventuallyI order_refl tendsto_ennreal_iff) |
|
1332 |
1327 lemma continuous_on_add_ennreal: |
1333 lemma continuous_on_add_ennreal: |
1328 fixes f g :: "'a::topological_space \<Rightarrow> ennreal" |
1334 fixes f g :: "'a::topological_space \<Rightarrow> ennreal" |
1329 shows "continuous_on A f \<Longrightarrow> continuous_on A g \<Longrightarrow> continuous_on A (\<lambda>x. f x + g x)" |
1335 shows "continuous_on A f \<Longrightarrow> continuous_on A g \<Longrightarrow> continuous_on A (\<lambda>x. f x + g x)" |
1330 by (transfer fixing: A) (auto intro!: tendsto_add_ereal_nonneg simp: continuous_on_def) |
1336 by (transfer fixing: A) (auto intro!: tendsto_add_ereal_nonneg simp: continuous_on_def) |
1331 |
1337 |
1728 using suminf_ennreal_eq by blast |
1734 using suminf_ennreal_eq by blast |
1729 |
1735 |
1730 lemma less_top_ennreal: "x < top \<longleftrightarrow> (\<exists>r\<ge>0. x = ennreal r)" |
1736 lemma less_top_ennreal: "x < top \<longleftrightarrow> (\<exists>r\<ge>0. x = ennreal r)" |
1731 by (cases x) auto |
1737 by (cases x) auto |
1732 |
1738 |
|
1739 lemma enn2real_less_iff[simp]: "x < top \<Longrightarrow> enn2real x < c \<longleftrightarrow> x < c" |
|
1740 using ennreal_less_iff less_top_ennreal by auto |
|
1741 |
|
1742 lemma enn2real_le_iff[simp]: "\<lbrakk>x < top; c > 0\<rbrakk> \<Longrightarrow> enn2real x \<le> c \<longleftrightarrow> x \<le> c" |
|
1743 by (cases x) auto |
|
1744 |
|
1745 lemma enn2real_less: |
|
1746 assumes "enn2real e < r" "e \<noteq> top" shows "e < ennreal r" |
|
1747 using enn2real_less_iff assms top.not_eq_extremum by blast |
|
1748 |
|
1749 lemma enn2real_le: |
|
1750 assumes "enn2real e \<le> r" "e \<noteq> top" shows "e \<le> ennreal r" |
|
1751 by (metis assms enn2real_less ennreal_enn2real_if eq_iff less_le) |
|
1752 |
1733 lemma tendsto_top_iff_ennreal: |
1753 lemma tendsto_top_iff_ennreal: |
1734 fixes f :: "'a \<Rightarrow> ennreal" |
1754 fixes f :: "'a \<Rightarrow> ennreal" |
1735 shows "(f \<longlongrightarrow> top) F \<longleftrightarrow> (\<forall>l\<ge>0. eventually (\<lambda>x. ennreal l < f x) F)" |
1755 shows "(f \<longlongrightarrow> top) F \<longleftrightarrow> (\<forall>l\<ge>0. eventually (\<lambda>x. ennreal l < f x) F)" |
1736 by (auto simp: less_top_ennreal order_tendsto_iff ) |
1756 by (auto simp: less_top_ennreal order_tendsto_iff ) |
1737 |
1757 |