src/HOL/Probability/Radon_Nikodym.thy
changeset 61969 e01015e49041
parent 61810 3c5040d5694a
child 62083 7582b39f51ed
equal deleted inserted replaced
61968:e13e70f32407 61969:e01015e49041
   214       fix n show "- ?d (A n) \<le> - ?d (A (Suc n))" using dA_mono[of n] by auto
   214       fix n show "- ?d (A n) \<le> - ?d (A (Suc n))" using dA_mono[of n] by auto
   215     qed
   215     qed
   216     have A: "incseq A" by (auto intro!: incseq_SucI)
   216     have A: "incseq A" by (auto intro!: incseq_SucI)
   217     from finite_Lim_measure_incseq[OF _ A] \<open>range A \<subseteq> sets M\<close>
   217     from finite_Lim_measure_incseq[OF _ A] \<open>range A \<subseteq> sets M\<close>
   218       M'.finite_Lim_measure_incseq[OF _ A]
   218       M'.finite_Lim_measure_incseq[OF _ A]
   219     have convergent: "(\<lambda>i. ?d (A i)) ----> ?d (\<Union>i. A i)"
   219     have convergent: "(\<lambda>i. ?d (A i)) \<longlonglongrightarrow> ?d (\<Union>i. A i)"
   220       by (auto intro!: tendsto_diff simp: sets_eq)
   220       by (auto intro!: tendsto_diff simp: sets_eq)
   221     obtain n :: nat where "- ?d (\<Union>i. A i) / e < real n" using reals_Archimedean2 by auto
   221     obtain n :: nat where "- ?d (\<Union>i. A i) / e < real n" using reals_Archimedean2 by auto
   222     moreover from order_trans[OF decseq_le[OF decseq convergent] dA_less]
   222     moreover from order_trans[OF decseq_le[OF decseq convergent] dA_less]
   223     have "real n \<le> - ?d (\<Union>i. A i) / e" using \<open>0<e\<close> by (simp add: field_simps)
   223     have "real n \<le> - ?d (\<Union>i. A i) / e" using \<open>0<e\<close> by (simp add: field_simps)
   224     ultimately show ?thesis by auto
   224     ultimately show ?thesis by auto
   259   show ?thesis
   259   show ?thesis
   260   proof (safe intro!: bexI[of _ "\<Inter>i. A i"])
   260   proof (safe intro!: bexI[of _ "\<Inter>i. A i"])
   261     show "(\<Inter>i. A i) \<in> sets M" using \<open>\<And>n. A n \<in> sets M\<close> by auto
   261     show "(\<Inter>i. A i) \<in> sets M" using \<open>\<And>n. A n \<in> sets M\<close> by auto
   262     have "decseq A" using A by (auto intro!: decseq_SucI)
   262     have "decseq A" using A by (auto intro!: decseq_SucI)
   263     from A(1) finite_Lim_measure_decseq[OF _ this] N.finite_Lim_measure_decseq[OF _ this]
   263     from A(1) finite_Lim_measure_decseq[OF _ this] N.finite_Lim_measure_decseq[OF _ this]
   264     have "(\<lambda>i. ?d (A i)) ----> ?d (\<Inter>i. A i)" by (auto intro!: tendsto_diff simp: sets_eq)
   264     have "(\<lambda>i. ?d (A i)) \<longlonglongrightarrow> ?d (\<Inter>i. A i)" by (auto intro!: tendsto_diff simp: sets_eq)
   265     thus "?d (space M) \<le> ?d (\<Inter>i. A i)" using mono_dA[THEN monoD, of 0 _]
   265     thus "?d (space M) \<le> ?d (\<Inter>i. A i)" using mono_dA[THEN monoD, of 0 _]
   266       by (rule_tac LIMSEQ_le_const) auto
   266       by (rule_tac LIMSEQ_le_const) auto
   267   next
   267   next
   268     fix B assume B: "B \<in> sets M" "B \<subseteq> (\<Inter>i. A i)"
   268     fix B assume B: "B \<in> sets M" "B \<subseteq> (\<Inter>i. A i)"
   269     show "0 \<le> ?d B"
   269     show "0 \<le> ?d B"