equal
deleted
inserted
replaced
351 using J by (intro P.emeasure_pair_measure_Times) (auto intro!: sets_PiM_I finite_vimageI simp: inj_on_def) |
351 using J by (intro P.emeasure_pair_measure_Times) (auto intro!: sets_PiM_I finite_vimageI simp: inj_on_def) |
352 also have "emeasure S ?F = (\<Prod>j\<in>((+) i) -` J. emeasure M (E (i + j)))" |
352 also have "emeasure S ?F = (\<Prod>j\<in>((+) i) -` J. emeasure M (E (i + j)))" |
353 using J by (intro emeasure_PiM_emb) (simp_all add: finite_vimageI inj_on_def) |
353 using J by (intro emeasure_PiM_emb) (simp_all add: finite_vimageI inj_on_def) |
354 also have "\<dots> = (\<Prod>j\<in>J - (J \<inter> {..<i}). emeasure M (E j))" |
354 also have "\<dots> = (\<Prod>j\<in>J - (J \<inter> {..<i}). emeasure M (E j))" |
355 by (rule prod.reindex_cong [of "\<lambda>x. x - i"]) |
355 by (rule prod.reindex_cong [of "\<lambda>x. x - i"]) |
356 (auto simp: image_iff Bex_def not_less nat_eq_diff_eq ac_simps cong: conj_cong intro!: inj_onI) |
356 (auto simp: image_iff ac_simps nat_eq_diff_eq cong: conj_cong intro!: inj_onI) |
357 also have "emeasure S ?E = (\<Prod>j\<in>J \<inter> {..<i}. emeasure M (E j))" |
357 also have "emeasure S ?E = (\<Prod>j\<in>J \<inter> {..<i}. emeasure M (E j))" |
358 using J by (intro emeasure_PiM_emb) simp_all |
358 using J by (intro emeasure_PiM_emb) simp_all |
359 also have "(\<Prod>j\<in>J \<inter> {..<i}. emeasure M (E j)) * (\<Prod>j\<in>J - (J \<inter> {..<i}). emeasure M (E j)) = (\<Prod>j\<in>J. emeasure M (E j))" |
359 also have "(\<Prod>j\<in>J \<inter> {..<i}. emeasure M (E j)) * (\<Prod>j\<in>J - (J \<inter> {..<i}). emeasure M (E j)) = (\<Prod>j\<in>J. emeasure M (E j))" |
360 by (subst mult.commute) (auto simp: J prod.subset_diff[symmetric]) |
360 by (subst mult.commute) (auto simp: J prod.subset_diff[symmetric]) |
361 finally show "emeasure ?D ?X = (\<Prod>j\<in>J. emeasure M (E j))" . |
361 finally show "emeasure ?D ?X = (\<Prod>j\<in>J. emeasure M (E j))" . |
382 using J by (intro P.emeasure_pair_measure_Times) (auto intro!: sets_PiM_I finite_vimageI) |
382 using J by (intro P.emeasure_pair_measure_Times) (auto intro!: sets_PiM_I finite_vimageI) |
383 also have "emeasure S ?F = (\<Prod>j\<in>Suc -` J. emeasure M (E (Suc j)))" |
383 also have "emeasure S ?F = (\<Prod>j\<in>Suc -` J. emeasure M (E (Suc j)))" |
384 using J by (intro emeasure_PiM_emb) (simp_all add: finite_vimageI) |
384 using J by (intro emeasure_PiM_emb) (simp_all add: finite_vimageI) |
385 also have "\<dots> = (\<Prod>j\<in>J - {0}. emeasure M (E j))" |
385 also have "\<dots> = (\<Prod>j\<in>J - {0}. emeasure M (E j))" |
386 by (rule prod.reindex_cong [of "\<lambda>x. x - 1"]) |
386 by (rule prod.reindex_cong [of "\<lambda>x. x - 1"]) |
387 (auto simp: image_iff Bex_def not_less nat_eq_diff_eq ac_simps cong: conj_cong intro!: inj_onI) |
387 (auto simp: image_iff nat_eq_diff_eq ac_simps cong: conj_cong intro!: inj_onI) |
388 also have "emeasure M ?E * (\<Prod>j\<in>J - {0}. emeasure M (E j)) = (\<Prod>j\<in>J. emeasure M (E j))" |
388 also have "emeasure M ?E * (\<Prod>j\<in>J - {0}. emeasure M (E j)) = (\<Prod>j\<in>J. emeasure M (E j))" |
389 by (auto simp: M.emeasure_space_1 prod.remove J) |
389 by (auto simp: M.emeasure_space_1 prod.remove J) |
390 finally show "emeasure ?D ?X = (\<Prod>j\<in>J. emeasure M (E j))" . |
390 finally show "emeasure ?D ?X = (\<Prod>j\<in>J. emeasure M (E j))" . |
391 qed simp_all |
391 qed simp_all |
392 |
392 |