src/HOL/Analysis/Henstock_Kurzweil_Integration.thy
changeset 70722 ae2528273eeb
parent 70688 3d894e1cfc75
child 70760 ffbe7784cc85
equal deleted inserted replaced
70721:47258727fa42 70722:ae2528273eeb
  6933       and "\<And>x. x \<in> {a..b} \<Longrightarrow> (g has_field_derivative g' x) (at x within {a..b})"
  6933       and "\<And>x. x \<in> {a..b} \<Longrightarrow> (g has_field_derivative g' x) (at x within {a..b})"
  6934     shows "((\<lambda>x. g' x *\<^sub>R f (g x)) has_integral (integral {g a..g b} f)) {a..b}"
  6934     shows "((\<lambda>x. g' x *\<^sub>R f (g x)) has_integral (integral {g a..g b} f)) {a..b}"
  6935   by (intro has_integral_substitution_strong[of "{}" a b g c d] assms)
  6935   by (intro has_integral_substitution_strong[of "{}" a b g c d] assms)
  6936      (auto intro: DERIV_continuous_on assms)
  6936      (auto intro: DERIV_continuous_on assms)
  6937 
  6937 
       
  6938 lemma integral_shift:
       
  6939   fixes f :: "real \<Rightarrow> 'a::euclidean_space"
       
  6940   assumes cont: "continuous_on {a + c..b + c} f"
       
  6941   shows "integral {a..b} (f \<circ> (\<lambda>x. x + c)) = integral {a + c..b + c} f"
       
  6942 proof (cases "a \<le> b")
       
  6943   case True
       
  6944   have "((\<lambda>x. 1 *\<^sub>R f (x + c)) has_integral integral {a+c..b+c} f) {a..b}"
       
  6945     using True cont
       
  6946     by (intro has_integral_substitution[where c = "a + c" and d = "b + c"])
       
  6947        (auto intro!: derivative_eq_intros)
       
  6948   thus ?thesis by (simp add: has_integral_iff o_def)
       
  6949 qed auto
       
  6950 
  6938 
  6951 
  6939 subsection \<open>Compute a double integral using iterated integrals and switching the order of integration\<close>
  6952 subsection \<open>Compute a double integral using iterated integrals and switching the order of integration\<close>
  6940 
  6953 
  6941 lemma continuous_on_imp_integrable_on_Pair1:
  6954 lemma continuous_on_imp_integrable_on_Pair1:
  6942   fixes f :: "_ \<Rightarrow> 'b::banach"
  6955   fixes f :: "_ \<Rightarrow> 'b::banach"