171 fixes a :: "'a::{real_normed_field, second_countable_topology}" |
171 fixes a :: "'a::{real_normed_field, second_countable_topology}" |
172 shows "(a \<noteq> 0 \<Longrightarrow> set_integrable M A f) \<Longrightarrow> set_integrable M A (\<lambda>t. a * f t)" |
172 shows "(a \<noteq> 0 \<Longrightarrow> set_integrable M A f) \<Longrightarrow> set_integrable M A (\<lambda>t. a * f t)" |
173 unfolding set_integrable_def |
173 unfolding set_integrable_def |
174 using integrable_mult_right[of a M "\<lambda>x. indicator A x *\<^sub>R f x"] by simp |
174 using integrable_mult_right[of a M "\<lambda>x. indicator A x *\<^sub>R f x"] by simp |
175 |
175 |
|
176 lemma set_integrable_mult_right_iff [simp]: |
|
177 fixes a :: "'a::{real_normed_field, second_countable_topology}" |
|
178 assumes "a \<noteq> 0" |
|
179 shows "set_integrable M A (\<lambda>t. a * f t) \<longleftrightarrow> set_integrable M A f" |
|
180 proof |
|
181 assume "set_integrable M A (\<lambda>t. a * f t)" |
|
182 then have "set_integrable M A (\<lambda>t. 1/a * (a * f t))" |
|
183 using set_integrable_mult_right by blast |
|
184 then show "set_integrable M A f" |
|
185 using assms by auto |
|
186 qed auto |
|
187 |
176 lemma set_integrable_mult_left [simp, intro]: |
188 lemma set_integrable_mult_left [simp, intro]: |
177 fixes a :: "'a::{real_normed_field, second_countable_topology}" |
189 fixes a :: "'a::{real_normed_field, second_countable_topology}" |
178 shows "(a \<noteq> 0 \<Longrightarrow> set_integrable M A f) \<Longrightarrow> set_integrable M A (\<lambda>t. f t * a)" |
190 shows "(a \<noteq> 0 \<Longrightarrow> set_integrable M A f) \<Longrightarrow> set_integrable M A (\<lambda>t. f t * a)" |
179 unfolding set_integrable_def |
191 unfolding set_integrable_def |
180 using integrable_mult_left[of a M "\<lambda>x. indicator A x *\<^sub>R f x"] by simp |
192 using integrable_mult_left[of a M "\<lambda>x. indicator A x *\<^sub>R f x"] by simp |
|
193 |
|
194 lemma set_integrable_mult_left_iff [simp]: |
|
195 fixes a :: "'a::{real_normed_field, second_countable_topology}" |
|
196 assumes "a \<noteq> 0" |
|
197 shows "set_integrable M A (\<lambda>t. f t * a) \<longleftrightarrow> set_integrable M A f" |
|
198 using assms by (subst set_integrable_mult_right_iff [symmetric]) (auto simp: mult.commute) |
181 |
199 |
182 lemma set_integrable_divide [simp, intro]: |
200 lemma set_integrable_divide [simp, intro]: |
183 fixes a :: "'a::{real_normed_field, field, second_countable_topology}" |
201 fixes a :: "'a::{real_normed_field, field, second_countable_topology}" |
184 assumes "a \<noteq> 0 \<Longrightarrow> set_integrable M A f" |
202 assumes "a \<noteq> 0 \<Longrightarrow> set_integrable M A f" |
185 shows "set_integrable M A (\<lambda>t. f t / a)" |
203 shows "set_integrable M A (\<lambda>t. f t / a)" |
190 by (auto split: split_indicator) |
208 by (auto split: split_indicator) |
191 finally show ?thesis |
209 finally show ?thesis |
192 unfolding set_integrable_def . |
210 unfolding set_integrable_def . |
193 qed |
211 qed |
194 |
212 |
|
213 lemma set_integrable_mult_divide_iff [simp]: |
|
214 fixes a :: "'a::{real_normed_field, second_countable_topology}" |
|
215 assumes "a \<noteq> 0" |
|
216 shows "set_integrable M A (\<lambda>t. f t / a) \<longleftrightarrow> set_integrable M A f" |
|
217 by (simp add: divide_inverse assms) |
|
218 |
195 lemma set_integral_add [simp, intro]: |
219 lemma set_integral_add [simp, intro]: |
196 fixes f g :: "_ \<Rightarrow> _ :: {banach, second_countable_topology}" |
220 fixes f g :: "_ \<Rightarrow> _ :: {banach, second_countable_topology}" |
197 assumes "set_integrable M A f" "set_integrable M A g" |
221 assumes "set_integrable M A f" "set_integrable M A g" |
198 shows "set_integrable M A (\<lambda>x. f x + g x)" |
222 shows "set_integrable M A (\<lambda>x. f x + g x)" |
199 and "LINT x:A|M. f x + g x = (LINT x:A|M. f x) + (LINT x:A|M. g x)" |
223 and "LINT x:A|M. f x + g x = (LINT x:A|M. f x) + (LINT x:A|M. g x)" |
203 assumes "set_integrable M A f" "set_integrable M A g" |
227 assumes "set_integrable M A f" "set_integrable M A g" |
204 shows "set_integrable M A (\<lambda>x. f x - g x)" and "LINT x:A|M. f x - g x = |
228 shows "set_integrable M A (\<lambda>x. f x - g x)" and "LINT x:A|M. f x - g x = |
205 (LINT x:A|M. f x) - (LINT x:A|M. g x)" |
229 (LINT x:A|M. f x) - (LINT x:A|M. g x)" |
206 using assms unfolding set_integrable_def set_lebesgue_integral_def by (simp_all add: scaleR_diff_right) |
230 using assms unfolding set_integrable_def set_lebesgue_integral_def by (simp_all add: scaleR_diff_right) |
207 |
231 |
208 (* question: why do we have this for negation, but multiplication by a constant |
|
209 requires an integrability assumption? *) |
|
210 lemma set_integral_uminus: "set_integrable M A f \<Longrightarrow> LINT x:A|M. - f x = - (LINT x:A|M. f x)" |
232 lemma set_integral_uminus: "set_integrable M A f \<Longrightarrow> LINT x:A|M. - f x = - (LINT x:A|M. f x)" |
211 unfolding set_integrable_def set_lebesgue_integral_def |
233 unfolding set_integrable_def set_lebesgue_integral_def |
212 by (subst integral_minus[symmetric]) simp_all |
234 by (subst integral_minus[symmetric]) simp_all |
213 |
235 |
214 lemma set_integral_complex_of_real: |
236 lemma set_integral_complex_of_real: |