equal
deleted
inserted
replaced
620 fixes f F :: "real \<Rightarrow> real" and a b :: ereal |
620 fixes f F :: "real \<Rightarrow> real" and a b :: ereal |
621 assumes "a < b" |
621 assumes "a < b" |
622 assumes F: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> DERIV F x :> f x" |
622 assumes F: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> DERIV F x :> f x" |
623 assumes f: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> isCont f x" |
623 assumes f: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> isCont f x" |
624 assumes f_nonneg: "AE x in lborel. a < ereal x \<longrightarrow> ereal x < b \<longrightarrow> 0 \<le> f x" |
624 assumes f_nonneg: "AE x in lborel. a < ereal x \<longrightarrow> ereal x < b \<longrightarrow> 0 \<le> f x" |
625 assumes A: "((F \<circ> real_of_ereal) ---> A) (at_right a)" |
625 assumes A: "((F \<circ> real_of_ereal) \<longlongrightarrow> A) (at_right a)" |
626 assumes B: "((F \<circ> real_of_ereal) ---> B) (at_left b)" |
626 assumes B: "((F \<circ> real_of_ereal) \<longlongrightarrow> B) (at_left b)" |
627 shows |
627 shows |
628 "set_integrable lborel (einterval a b) f" |
628 "set_integrable lborel (einterval a b) f" |
629 "(LBINT x=a..b. f x) = B - A" |
629 "(LBINT x=a..b. f x) = B - A" |
630 proof - |
630 proof - |
631 from einterval_Icc_approximation[OF \<open>a < b\<close>] guess u l . note approx = this |
631 from einterval_Icc_approximation[OF \<open>a < b\<close>] guess u l . note approx = this |
667 fixes f F :: "real \<Rightarrow> 'a::euclidean_space" and a b :: ereal |
667 fixes f F :: "real \<Rightarrow> 'a::euclidean_space" and a b :: ereal |
668 assumes "a < b" |
668 assumes "a < b" |
669 assumes F: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> (F has_vector_derivative f x) (at x)" |
669 assumes F: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> (F has_vector_derivative f x) (at x)" |
670 assumes f: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> isCont f x" |
670 assumes f: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> isCont f x" |
671 assumes f_integrable: "set_integrable lborel (einterval a b) f" |
671 assumes f_integrable: "set_integrable lborel (einterval a b) f" |
672 assumes A: "((F \<circ> real_of_ereal) ---> A) (at_right a)" |
672 assumes A: "((F \<circ> real_of_ereal) \<longlongrightarrow> A) (at_right a)" |
673 assumes B: "((F \<circ> real_of_ereal) ---> B) (at_left b)" |
673 assumes B: "((F \<circ> real_of_ereal) \<longlongrightarrow> B) (at_left b)" |
674 shows "(LBINT x=a..b. f x) = B - A" |
674 shows "(LBINT x=a..b. f x) = B - A" |
675 proof - |
675 proof - |
676 from einterval_Icc_approximation[OF \<open>a < b\<close>] guess u l . note approx = this |
676 from einterval_Icc_approximation[OF \<open>a < b\<close>] guess u l . note approx = this |
677 have [simp]: "\<And>x i. l i \<le> x \<Longrightarrow> a < ereal x" |
677 have [simp]: "\<And>x i. l i \<le> x \<Longrightarrow> a < ereal x" |
678 by (rule order_less_le_trans, rule approx, force) |
678 by (rule order_less_le_trans, rule approx, force) |
832 assumes "a < b" |
832 assumes "a < b" |
833 and deriv_g: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> DERIV g x :> g' x" |
833 and deriv_g: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> DERIV g x :> g' x" |
834 and contf: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> isCont f (g x)" |
834 and contf: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> isCont f (g x)" |
835 and contg': "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> isCont g' x" |
835 and contg': "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> isCont g' x" |
836 and g'_nonneg: "\<And>x. a \<le> ereal x \<Longrightarrow> ereal x \<le> b \<Longrightarrow> 0 \<le> g' x" |
836 and g'_nonneg: "\<And>x. a \<le> ereal x \<Longrightarrow> ereal x \<le> b \<Longrightarrow> 0 \<le> g' x" |
837 and A: "((ereal \<circ> g \<circ> real_of_ereal) ---> A) (at_right a)" |
837 and A: "((ereal \<circ> g \<circ> real_of_ereal) \<longlongrightarrow> A) (at_right a)" |
838 and B: "((ereal \<circ> g \<circ> real_of_ereal) ---> B) (at_left b)" |
838 and B: "((ereal \<circ> g \<circ> real_of_ereal) \<longlongrightarrow> B) (at_left b)" |
839 and integrable: "set_integrable lborel (einterval a b) (\<lambda>x. g' x *\<^sub>R f (g x))" |
839 and integrable: "set_integrable lborel (einterval a b) (\<lambda>x. g' x *\<^sub>R f (g x))" |
840 and integrable2: "set_integrable lborel (einterval A B) (\<lambda>x. f x)" |
840 and integrable2: "set_integrable lborel (einterval A B) (\<lambda>x. f x)" |
841 shows "(LBINT x=A..B. f x) = (LBINT x=a..b. g' x *\<^sub>R f (g x))" |
841 shows "(LBINT x=A..B. f x) = (LBINT x=a..b. g' x *\<^sub>R f (g x))" |
842 proof - |
842 proof - |
843 from einterval_Icc_approximation[OF \<open>a < b\<close>] guess u l . note approx [simp] = this |
843 from einterval_Icc_approximation[OF \<open>a < b\<close>] guess u l . note approx [simp] = this |
933 and deriv_g: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> DERIV g x :> g' x" |
933 and deriv_g: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> DERIV g x :> g' x" |
934 and contf: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> isCont f (g x)" |
934 and contf: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> isCont f (g x)" |
935 and contg': "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> isCont g' x" |
935 and contg': "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> isCont g' x" |
936 and f_nonneg: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> 0 \<le> f (g x)" (* TODO: make this AE? *) |
936 and f_nonneg: "\<And>x. a < ereal x \<Longrightarrow> ereal x < b \<Longrightarrow> 0 \<le> f (g x)" (* TODO: make this AE? *) |
937 and g'_nonneg: "\<And>x. a \<le> ereal x \<Longrightarrow> ereal x \<le> b \<Longrightarrow> 0 \<le> g' x" |
937 and g'_nonneg: "\<And>x. a \<le> ereal x \<Longrightarrow> ereal x \<le> b \<Longrightarrow> 0 \<le> g' x" |
938 and A: "((ereal \<circ> g \<circ> real_of_ereal) ---> A) (at_right a)" |
938 and A: "((ereal \<circ> g \<circ> real_of_ereal) \<longlongrightarrow> A) (at_right a)" |
939 and B: "((ereal \<circ> g \<circ> real_of_ereal) ---> B) (at_left b)" |
939 and B: "((ereal \<circ> g \<circ> real_of_ereal) \<longlongrightarrow> B) (at_left b)" |
940 and integrable_fg: "set_integrable lborel (einterval a b) (\<lambda>x. f (g x) * g' x)" |
940 and integrable_fg: "set_integrable lborel (einterval a b) (\<lambda>x. f (g x) * g' x)" |
941 shows |
941 shows |
942 "set_integrable lborel (einterval A B) f" |
942 "set_integrable lborel (einterval A B) f" |
943 "(LBINT x=A..B. f x) = (LBINT x=a..b. (f (g x) * g' x))" |
943 "(LBINT x=A..B. f x) = (LBINT x=a..b. (f (g x) * g' x))" |
944 proof - |
944 proof - |