@@ -6,6 +6,7 @@ Authors: Floris van Doorn
6
6
import measure_theory.measure.giry_monad
7
7
import dynamics.ergodic.measure_preserving
8
8
import measure_theory.integral.set_integral
9
+ import measure_theory.measure.open_pos
9
10
10
11
/-!
11
12
# The product measure
@@ -366,6 +367,53 @@ begin
366
367
... = μ.prod ν (s ×ˢ t) : measure_to_measurable _ }
367
368
end
368
369
370
+ instance {X Y : Type *} [topological_space X] [topological_space Y]
371
+ {m : measurable_space X} {μ : measure X} [is_open_pos_measure μ]
372
+ {m' : measurable_space Y} {ν : measure Y} [is_open_pos_measure ν] [sigma_finite ν] :
373
+ is_open_pos_measure (μ.prod ν) :=
374
+ begin
375
+ constructor,
376
+ rintros U U_open ⟨⟨x, y⟩, hxy⟩,
377
+ rcases is_open_prod_iff.1 U_open x y hxy with ⟨u, v, u_open, v_open, xu, yv, huv⟩,
378
+ refine ne_of_gt (lt_of_lt_of_le _ (measure_mono huv)),
379
+ simp only [prod_prod, canonically_ordered_comm_semiring.mul_pos],
380
+ split,
381
+ { exact u_open.measure_pos μ ⟨x, xu⟩ },
382
+ { exact v_open.measure_pos ν ⟨y, yv⟩ }
383
+ end
384
+
385
+ instance {α β : Type *} {mα : measurable_space α} {mβ : measurable_space β}
386
+ (μ : measure α) (ν : measure β) [is_finite_measure μ] [is_finite_measure ν] :
387
+ is_finite_measure (μ.prod ν) :=
388
+ begin
389
+ constructor,
390
+ rw [← univ_prod_univ, prod_prod],
391
+ exact mul_lt_top (measure_lt_top _ _).ne (measure_lt_top _ _).ne,
392
+ end
393
+
394
+ instance {α β : Type *} {mα : measurable_space α} {mβ : measurable_space β}
395
+ (μ : measure α) (ν : measure β) [is_probability_measure μ] [is_probability_measure ν] :
396
+ is_probability_measure (μ.prod ν) :=
397
+ ⟨by rw [← univ_prod_univ, prod_prod, measure_univ, measure_univ, mul_one]⟩
398
+
399
+ instance {α β : Type *} [topological_space α] [topological_space β]
400
+ {mα : measurable_space α} {mβ : measurable_space β} (μ : measure α) (ν : measure β)
401
+ [is_finite_measure_on_compacts μ] [is_finite_measure_on_compacts ν] [sigma_finite ν] :
402
+ is_finite_measure_on_compacts (μ.prod ν) :=
403
+ begin
404
+ refine ⟨λ K hK, _⟩,
405
+ set L := (prod.fst '' K) ×ˢ (prod.snd '' K) with hL,
406
+ have : K ⊆ L,
407
+ { rintros ⟨x, y⟩ hxy,
408
+ simp only [prod_mk_mem_set_prod_eq, mem_image, prod.exists, exists_and_distrib_right,
409
+ exists_eq_right],
410
+ exact ⟨⟨y, hxy⟩, ⟨x, hxy⟩⟩ },
411
+ apply lt_of_le_of_lt (measure_mono this ),
412
+ rw [hL, prod_prod],
413
+ exact mul_lt_top ((is_compact.measure_lt_top ((hK.image continuous_fst))).ne)
414
+ ((is_compact.measure_lt_top ((hK.image continuous_snd))).ne)
415
+ end
416
+
369
417
lemma ae_measure_lt_top {s : set (α × β)} (hs : measurable_set s)
370
418
(h2s : (μ.prod ν) s ≠ ∞) : ∀ᵐ x ∂μ, ν (prod.mk x ⁻¹' s) < ∞ :=
371
419
by { simp_rw [prod_apply hs] at h2s, refine ae_lt_top (measurable_measure_prod_mk_left hs) h2s }
@@ -845,6 +893,17 @@ lemma integrable.integral_norm_prod_right [sigma_finite μ] ⦃f : α × β →
845
893
(hf : integrable f (μ.prod ν)) : integrable (λ y, ∫ x, ∥f (x, y)∥ ∂μ) ν :=
846
894
hf.swap.integral_norm_prod_left
847
895
896
+ lemma integrable_prod_mul {f : α → ℝ} {g : β → ℝ} (hf : integrable f μ) (hg : integrable g ν) :
897
+ integrable (λ (z : α × β), f z.1 * g z.2 ) (μ.prod ν) :=
898
+ begin
899
+ refine (integrable_prod_iff _).2 ⟨_, _⟩,
900
+ { apply ae_strongly_measurable.mul,
901
+ { exact (hf.1 .mono' prod_fst_absolutely_continuous).comp_measurable measurable_fst },
902
+ { exact (hg.1 .mono' prod_snd_absolutely_continuous).comp_measurable measurable_snd } },
903
+ { exact eventually_of_forall (λ x, hg.const_mul (f x)) },
904
+ { simpa only [norm_mul, integral_mul_left] using hf.norm.mul_const _ }
905
+ end
906
+
848
907
end
849
908
850
909
variables [normed_space ℝ E] [complete_space E]
@@ -1015,4 +1074,21 @@ begin
1015
1074
exact integral_prod f hf
1016
1075
end
1017
1076
1077
+ lemma integral_prod_mul (f : α → ℝ) (g : β → ℝ) :
1078
+ ∫ z, f z.1 * g z.2 ∂(μ.prod ν) = (∫ x, f x ∂μ) * (∫ y, g y ∂ν) :=
1079
+ begin
1080
+ by_cases h : integrable (λ (z : α × β), f z.1 * g z.2 ) (μ.prod ν),
1081
+ { rw integral_prod _ h,
1082
+ simp_rw [integral_mul_left, integral_mul_right] },
1083
+ have H : ¬(integrable f μ) ∨ ¬(integrable g ν),
1084
+ { contrapose! h,
1085
+ exact integrable_prod_mul h.1 h.2 },
1086
+ cases H;
1087
+ simp [integral_undef h, integral_undef H],
1088
+ end
1089
+
1090
+ lemma set_integral_prod_mul (f : α → ℝ) (g : β → ℝ) (s : set α) (t : set β) :
1091
+ ∫ z in s ×ˢ t, f z.1 * g z.2 ∂(μ.prod ν) = (∫ x in s, f x ∂μ) * (∫ y in t, g y ∂ν) :=
1092
+ by simp only [← measure.prod_restrict s t, integrable_on, integral_prod_mul]
1093
+
1018
1094
end measure_theory
0 commit comments