src/HOL/Analysis/Change_Of_Vars.thy
changeset 70365 4df0628e8545
parent 70139 fd4960dfad2a
child 70378 ebd108578ab1
equal deleted inserted replaced
70363:6d96ee03b62e 70365:4df0628e8545
  3400         ultimately show "bounded (range (\<lambda>k. integral UNIV (?nf k)))"
  3400         ultimately show "bounded (range (\<lambda>k. integral UNIV (?nf k)))"
  3401           by (simp add: integral_restrict_UNIV image_UN [symmetric] o_def)
  3401           by (simp add: integral_restrict_UNIV image_UN [symmetric] o_def)
  3402       next
  3402       next
  3403         show "(\<lambda>k. if x \<in> (\<Union>m\<le>k. g ` F m) then norm (f x) else 0)
  3403         show "(\<lambda>k. if x \<in> (\<Union>m\<le>k. g ` F m) then norm (f x) else 0)
  3404               \<longlonglongrightarrow> (if x \<in> (\<Union>m. g ` F m) then norm (f x) else 0)" for x
  3404               \<longlonglongrightarrow> (if x \<in> (\<Union>m. g ` F m) then norm (f x) else 0)" for x
  3405           by (force intro: Lim_eventually eventually_sequentiallyI)
  3405           by (force intro: tendsto_eventually eventually_sequentiallyI)
  3406       qed auto
  3406       qed auto
  3407     next
  3407     next
  3408       show "(\<lambda>k. if x \<in> (\<Union>m\<le>k. g ` F m) then f x else 0)
  3408       show "(\<lambda>k. if x \<in> (\<Union>m\<le>k. g ` F m) then f x else 0)
  3409             \<longlonglongrightarrow> (if x \<in> (\<Union>m. g ` F m) then f x else 0)" for x
  3409             \<longlonglongrightarrow> (if x \<in> (\<Union>m. g ` F m) then f x else 0)" for x
  3410       proof clarsimp
  3410       proof clarsimp
  3411         fix m y
  3411         fix m y
  3412         assume "y \<in> F m"
  3412         assume "y \<in> F m"
  3413         show "(\<lambda>k. if \<exists>x\<in>{..k}. g y \<in> g ` F x then f (g y) else 0) \<longlonglongrightarrow> f (g y)"
  3413         show "(\<lambda>k. if \<exists>x\<in>{..k}. g y \<in> g ` F x then f (g y) else 0) \<longlonglongrightarrow> f (g y)"
  3414           using \<open>y \<in> F m\<close> by (force intro: Lim_eventually eventually_sequentiallyI [of m])
  3414           using \<open>y \<in> F m\<close> by (force intro: tendsto_eventually eventually_sequentiallyI [of m])
  3415       qed
  3415       qed
  3416     qed auto
  3416     qed auto
  3417     then show fai: "f absolutely_integrable_on (\<Union>m. g ` F m)"
  3417     then show fai: "f absolutely_integrable_on (\<Union>m. g ` F m)"
  3418       using absolutely_integrable_restrict_UNIV by blast
  3418       using absolutely_integrable_restrict_UNIV by blast
  3419     show "integral ((\<Union>x. g ` F x)) f = integral (\<Union>n. F n) ?D"
  3419     show "integral ((\<Union>x. g ` F x)) f = integral (\<Union>n. F n) ?D"
  3481         qed
  3481         qed
  3482         ultimately show "bounded (range (\<lambda>k. integral UNIV (?nD k)))"
  3482         ultimately show "bounded (range (\<lambda>k. integral UNIV (?nD k)))"
  3483           unfolding integral_restrict_UNIV image_UN [symmetric] o_def by simp
  3483           unfolding integral_restrict_UNIV image_UN [symmetric] o_def by simp
  3484       next
  3484       next
  3485         show "(\<lambda>k. if x \<in> ?U k then norm (?D x) else 0) \<longlonglongrightarrow> (if x \<in> (\<Union>n. F n) then norm (?D x) else 0)" for x
  3485         show "(\<lambda>k. if x \<in> ?U k then norm (?D x) else 0) \<longlonglongrightarrow> (if x \<in> (\<Union>n. F n) then norm (?D x) else 0)" for x
  3486           by (force intro: Lim_eventually eventually_sequentiallyI)
  3486           by (force intro: tendsto_eventually eventually_sequentiallyI)
  3487       qed auto
  3487       qed auto
  3488     next
  3488     next
  3489       show "(\<lambda>k. if x \<in> ?U k then ?D x else 0) \<longlonglongrightarrow> (if x \<in> (\<Union>n. F n) then ?D x else 0)" for x
  3489       show "(\<lambda>k. if x \<in> ?U k then ?D x else 0) \<longlonglongrightarrow> (if x \<in> (\<Union>n. F n) then ?D x else 0)" for x
  3490       proof clarsimp
  3490       proof clarsimp
  3491         fix n
  3491         fix n
  3492         assume "x \<in> F n"
  3492         assume "x \<in> F n"
  3493         show "(\<lambda>m. if \<exists>j\<in>{..m}. x \<in> F j then ?D x else 0) \<longlonglongrightarrow> ?D x"
  3493         show "(\<lambda>m. if \<exists>j\<in>{..m}. x \<in> F j then ?D x else 0) \<longlonglongrightarrow> ?D x"
  3494           using \<open>x \<in> F n\<close> by (auto intro!: Lim_eventually eventually_sequentiallyI [of n])
  3494           using \<open>x \<in> F n\<close> by (auto intro!: tendsto_eventually eventually_sequentiallyI [of n])
  3495       qed
  3495       qed
  3496     qed auto
  3496     qed auto
  3497     then show Dai: "?D absolutely_integrable_on (\<Union>n. F n)"
  3497     then show Dai: "?D absolutely_integrable_on (\<Union>n. F n)"
  3498       unfolding absolutely_integrable_restrict_UNIV by simp
  3498       unfolding absolutely_integrable_restrict_UNIV by simp
  3499     show "integral (\<Union>n. F n) ?D = integral ((\<Union>x. g ` F x)) f"
  3499     show "integral (\<Union>n. F n) ?D = integral ((\<Union>x. g ` F x)) f"