src/HOL/Analysis/Interval_Integral.thy
changeset 68403 223172b97d0b
parent 68096 e58c9ac761cb
child 68532 f8b98d31ad45
equal deleted inserted replaced
68387:691c02d1699b 68403:223172b97d0b
    86 proof -
    86 proof -
    87   have "-b < -a" using \<open>a < b\<close> by simp
    87   have "-b < -a" using \<open>a < b\<close> by simp
    88   from ereal_incseq_approx[OF this] guess X .
    88   from ereal_incseq_approx[OF this] guess X .
    89   then show thesis
    89   then show thesis
    90     apply (intro that[of "\<lambda>i. - X i"])
    90     apply (intro that[of "\<lambda>i. - X i"])
    91     apply (auto simp: decseq_def incseq_def reorient: uminus_ereal.simps)
    91     apply (auto simp: decseq_def incseq_def simp flip: uminus_ereal.simps)
    92     apply (metis ereal_minus_less_minus ereal_uminus_uminus ereal_Lim_uminus)+
    92     apply (metis ereal_minus_less_minus ereal_uminus_uminus ereal_Lim_uminus)+
    93     done
    93     done
    94 qed
    94 qed
    95 
    95 
    96 lemma einterval_Icc_approximation:
    96 lemma einterval_Icc_approximation:
   119       by (auto intro: less_imp_le simp: eventually_sequentially)
   119       by (auto intro: less_imp_le simp: eventually_sequentially)
   120   next
   120   next
   121     fix x i assume "l i \<le> x" "x \<le> u i"
   121     fix x i assume "l i \<le> x" "x \<le> u i"
   122     with \<open>a < ereal (l i)\<close> \<open>ereal (u i) < b\<close>
   122     with \<open>a < ereal (l i)\<close> \<open>ereal (u i) < b\<close>
   123     show "a < ereal x" "ereal x < b"
   123     show "a < ereal x" "ereal x < b"
   124       by (auto reorient: ereal_less_eq(3))
   124       by (auto simp flip: ereal_less_eq(3))
   125   qed
   125   qed
   126   show thesis
   126   show thesis
   127     by (intro that) fact+
   127     by (intro that) fact+
   128 qed
   128 qed
   129 
   129 
   281   case (le a b) 
   281   case (le a b) 
   282   have "LBINT x:{x. - x \<in> einterval a b}. f (- x) = LBINT x:einterval (- b) (- a). f (- x)"
   282   have "LBINT x:{x. - x \<in> einterval a b}. f (- x) = LBINT x:einterval (- b) (- a). f (- x)"
   283     unfolding interval_lebesgue_integrable_def set_lebesgue_integral_def
   283     unfolding interval_lebesgue_integrable_def set_lebesgue_integral_def
   284     apply (rule Bochner_Integration.integral_cong [OF refl])
   284     apply (rule Bochner_Integration.integral_cong [OF refl])
   285     by (auto simp: einterval_iff ereal_uminus_le_reorder ereal_uminus_less_reorder not_less
   285     by (auto simp: einterval_iff ereal_uminus_le_reorder ereal_uminus_less_reorder not_less
   286              reorient: uminus_ereal.simps
   286              simp flip: uminus_ereal.simps
   287              split: split_indicator)
   287              split: split_indicator)
   288   then show ?case
   288   then show ?case
   289     unfolding interval_lebesgue_integral_def 
   289     unfolding interval_lebesgue_integral_def 
   290     by (subst set_integral_reflect) (simp add: le)
   290     by (subst set_integral_reflect) (simp add: le)
   291 qed
   291 qed
   647   have 1: "\<And>i. set_integrable lborel {l i..u i} f"
   647   have 1: "\<And>i. set_integrable lborel {l i..u i} f"
   648   proof -
   648   proof -
   649     fix i show "set_integrable lborel {l i .. u i} f"
   649     fix i show "set_integrable lborel {l i .. u i} f"
   650       using \<open>a < l i\<close> \<open>u i < b\<close> unfolding set_integrable_def
   650       using \<open>a < l i\<close> \<open>u i < b\<close> unfolding set_integrable_def
   651       by (intro borel_integrable_compact f continuous_at_imp_continuous_on compact_Icc ballI)
   651       by (intro borel_integrable_compact f continuous_at_imp_continuous_on compact_Icc ballI)
   652          (auto reorient: ereal_less_eq)
   652          (auto simp flip: ereal_less_eq)
   653   qed
   653   qed
   654   have 2: "set_borel_measurable lborel (einterval a b) f"
   654   have 2: "set_borel_measurable lborel (einterval a b) f"
   655     unfolding set_borel_measurable_def
   655     unfolding set_borel_measurable_def
   656     by (auto simp del: real_scaleR_def intro!: borel_measurable_continuous_on_indicator
   656     by (auto simp del: real_scaleR_def intro!: borel_measurable_continuous_on_indicator
   657              simp: continuous_on_eq_continuous_at einterval_iff f)
   657              simp: continuous_on_eq_continuous_at einterval_iff f)