src/HOL/Library/Extended_Nonnegative_Real.thy
changeset 74639 f831b6e589dc
parent 74475 409ca22dee4c
child 76137 175e6d47e3af
equal deleted inserted replaced
74638:4069afca81fd 74639:f831b6e589dc
  1173 lemma ennreal_of_enat_eSuc[simp]: "ennreal_of_enat (eSuc x) = 1 + ennreal_of_enat x"
  1173 lemma ennreal_of_enat_eSuc[simp]: "ennreal_of_enat (eSuc x) = 1 + ennreal_of_enat x"
  1174   by (cases x) (auto simp: eSuc_enat)
  1174   by (cases x) (auto simp: eSuc_enat)
  1175 
  1175 
  1176 (* Contributed by Dominique Unruh *)
  1176 (* Contributed by Dominique Unruh *)
  1177 lemma ennreal_of_enat_plus[simp]: \<open>ennreal_of_enat (a+b) = ennreal_of_enat a + ennreal_of_enat b\<close>
  1177 lemma ennreal_of_enat_plus[simp]: \<open>ennreal_of_enat (a+b) = ennreal_of_enat a + ennreal_of_enat b\<close>
  1178   apply (induction a)
  1178   apply (induct a)
  1179   apply auto
  1179    apply (metis enat.exhaust ennreal_add_eq_top ennreal_of_enat_enat ennreal_of_enat_infty infinity_ennreal_def of_nat_add plus_enat_simps(1) plus_eq_infty_iff_enat)
  1180   by (smt (z3) add.commute add.right_neutral enat.exhaust enat.simps(4) enat.simps(5) ennreal_add_left_cancel ennreal_of_enat_def infinity_ennreal_def of_nat_add of_nat_eq_enat plus_enat_simps(2))
  1180   apply simp
       
  1181   done
  1181 
  1182 
  1182 (* Contributed by Dominique Unruh *)
  1183 (* Contributed by Dominique Unruh *)
  1183 lemma sum_ennreal_of_enat[simp]: "(\<Sum>i\<in>I. ennreal_of_enat (f i)) = ennreal_of_enat (sum f I)"
  1184 lemma sum_ennreal_of_enat[simp]: "(\<Sum>i\<in>I. ennreal_of_enat (f i)) = ennreal_of_enat (sum f I)"
  1184   apply (induction I rule: infinite_finite_induct) 
  1185   by (induct I rule: infinite_finite_induct) (auto simp: sum_nonneg)
  1185   by (auto simp: sum_nonneg)
  1186 
  1186 
  1187 
  1187 subsection \<open>Topology on \<^typ>\<open>ennreal\<close>\<close>
  1188 subsection \<open>Topology on \<^typ>\<open>ennreal\<close>\<close>
  1188 
  1189 
  1189 lemma enn2ereal_Iio: "enn2ereal -` {..<a} = (if 0 \<le> a then {..< e2ennreal a} else {})"
  1190 lemma enn2ereal_Iio: "enn2ereal -` {..<a} = (if 0 \<le> a then {..< e2ennreal a} else {})"
  1190   using enn2ereal_nonneg
  1191   using enn2ereal_nonneg