@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
4
4
Authors: Rémy Degenne
5
5
-/
6
6
import algebra.big_operators.intervals
7
- import measure_theory.measure.measure_space
7
+ import measure_theory.constructions.pi
8
8
9
9
/-!
10
10
# Independence of sets of sets and measure spaces (σ-algebras)
@@ -237,6 +237,12 @@ begin
237
237
exact Indep_sets.indep_sets h_indep hij,
238
238
end
239
239
240
+ lemma Indep_fun.indep_fun {α ι : Type *} {m₀ : measurable_space α} {μ : measure α} {β : ι → Type *}
241
+ {m : Π x, measurable_space (β x)} {f : Π i, α → β i} (hf_Indep : Indep_fun m f μ)
242
+ {i j : ι} (hij : i ≠ j) :
243
+ indep_fun (f i) (f j) μ :=
244
+ hf_Indep.indep hij
245
+
240
246
end from_Indep_to_indep
241
247
242
248
/-!
@@ -436,7 +442,7 @@ variables {α : Type*} [measurable_space α] {s t : set α} (S T : set (set α))
436
442
lemma indep_set_iff_indep_sets_singleton (hs_meas : measurable_set s) (ht_meas : measurable_set t)
437
443
(μ : measure α . volume_tac) [is_probability_measure μ] :
438
444
indep_set s t μ ↔ indep_sets {s} {t} μ :=
439
- ⟨indep.indep_sets, λ h, indep_sets.indep
445
+ ⟨indep.indep_sets, λ h, indep_sets.indep
440
446
(generate_from_le (λ u hu, by rwa set.mem_singleton_iff.mp hu))
441
447
(generate_from_le (λ u hu, by rwa set.mem_singleton_iff.mp hu)) (is_pi_system.singleton s)
442
448
(is_pi_system.singleton t) rfl rfl h⟩
@@ -463,41 +469,52 @@ section indep_fun
463
469
variables {α β β' γ γ' : Type *} {mα : measurable_space α} {μ : measure α} {f : α → β} {g : α → β'}
464
470
465
471
lemma indep_fun_iff_measure_inter_preimage_eq_mul
466
- {mβ : measurable_space β} {mβ' : measurable_space β'} [is_probability_measure μ]
467
- (hf : measurable f) (hg : measurable g) :
472
+ {mβ : measurable_space β} {mβ' : measurable_space β'} :
468
473
indep_fun f g μ
469
474
↔ ∀ s t, measurable_set s → measurable_set t
470
475
→ μ (f ⁻¹' s ∩ g ⁻¹' t) = μ (f ⁻¹' s) * μ (g ⁻¹' t) :=
471
476
begin
472
- let Sf := {t1 | ∃ s, measurable_set s ∧ f ⁻¹' s = t1},
473
- let Sg := {t1 | ∃ t, measurable_set t ∧ g ⁻¹' t = t1},
474
- suffices : indep_fun f g μ ↔ indep_sets Sf Sg μ,
475
- { refine this.trans _,
476
- simp_rw [indep_sets, Sf, Sg, set.mem_set_of_eq],
477
- split; intro h,
478
- { exact λ s t hs ht, h (f ⁻¹' s) (g ⁻¹' t) ⟨s, hs, rfl⟩ ⟨t, ht, rfl⟩, },
479
- { rintros t1 t2 ⟨s, hs, rfl⟩ ⟨t, ht, rfl⟩,
480
- exact h s t hs ht, }, },
481
- have hSf_pi : is_pi_system Sf,
482
- { rintros s ⟨s', hs', rfl⟩ t ⟨t', ht', rfl⟩ hst_nonempty,
483
- exact ⟨s' ∩ t', hs'.inter ht', rfl⟩, },
484
- have hSg_pi : is_pi_system Sg,
485
- { rintros s ⟨s', hs', rfl⟩ t ⟨t', ht', rfl⟩ hst_nonempty,
486
- exact ⟨s' ∩ t', hs'.inter ht', rfl⟩, },
487
- have hSf_gen : mβ.comap f = generate_from Sf := mβ.comap_eq_generate_from f,
488
- have hSg_gen : mβ'.comap g = generate_from Sg := mβ'.comap_eq_generate_from g,
489
- rw indep_fun,
490
477
split; intro h,
491
- { rw [hSf_gen, hSg_gen] at h,
492
- exact indep.indep_sets h, },
493
- { exact indep_sets.indep hf.comap_le hg.comap_le hSf_pi hSg_pi hSf_gen hSg_gen h, },
478
+ { refine λ s t hs ht, h (f ⁻¹' s) (g ⁻¹' t) ⟨s, hs, rfl⟩ ⟨t, ht, rfl⟩, },
479
+ { rintros _ _ ⟨s, hs, rfl⟩ ⟨t, ht, rfl⟩, exact h s t hs ht, },
480
+ end
481
+
482
+ lemma Indep_fun_iff_measure_inter_preimage_eq_mul {ι : Type *} {β : ι → Type *}
483
+ (m : Π x, measurable_space (β x)) (f : Π i, α → β i) :
484
+ Indep_fun m f μ
485
+ ↔ ∀ (S : finset ι) {sets : Π i : ι, set (β i)} (H : ∀ i, i ∈ S → measurable_set[m i] (sets i)),
486
+ μ (⋂ i ∈ S, (f i) ⁻¹' (sets i)) = ∏ i in S, μ ((f i) ⁻¹' (sets i)) :=
487
+ begin
488
+ refine ⟨λ h S sets h_meas, h _ (λ i hi_mem, ⟨sets i, h_meas i hi_mem, rfl⟩), _⟩,
489
+ intros h S setsα h_meas,
490
+ let setsβ : (Π i : ι, set (β i)) := λ i,
491
+ dite (i ∈ S) (λ hi_mem, (h_meas i hi_mem).some) (λ _, set.univ),
492
+ have h_measβ : ∀ i ∈ S, measurable_set[m i] (setsβ i),
493
+ { intros i hi_mem,
494
+ simp_rw [setsβ, dif_pos hi_mem],
495
+ exact (h_meas i hi_mem).some_spec.1 , },
496
+ have h_preim : ∀ i ∈ S, setsα i = (f i) ⁻¹' (setsβ i),
497
+ { intros i hi_mem,
498
+ simp_rw [setsβ, dif_pos hi_mem],
499
+ exact (h_meas i hi_mem).some_spec.2 .symm, },
500
+ have h_left_eq : μ (⋂ i ∈ S, setsα i) = μ (⋂ i ∈ S, (f i) ⁻¹' (setsβ i)),
501
+ { congr' with i x,
502
+ simp only [set.mem_Inter],
503
+ split; intros h hi_mem; specialize h hi_mem,
504
+ { rwa h_preim i hi_mem at h, },
505
+ { rwa h_preim i hi_mem, }, },
506
+ have h_right_eq : (∏ i in S, μ (setsα i)) = ∏ i in S, μ ((f i) ⁻¹' (setsβ i)),
507
+ { refine finset.prod_congr rfl (λ i hi_mem, _),
508
+ rw h_preim i hi_mem, },
509
+ rw [h_left_eq, h_right_eq],
510
+ exact h S h_measβ,
494
511
end
495
512
496
513
lemma indep_fun_iff_indep_set_preimage {mβ : measurable_space β} {mβ' : measurable_space β'}
497
514
[is_probability_measure μ] (hf : measurable f) (hg : measurable g) :
498
515
indep_fun f g μ ↔ ∀ s t, measurable_set s → measurable_set t → indep_set (f ⁻¹' s) (g ⁻¹' t) μ :=
499
516
begin
500
- refine ( indep_fun_iff_measure_inter_preimage_eq_mul hf hg) .trans _,
517
+ refine indep_fun_iff_measure_inter_preimage_eq_mul.trans _,
501
518
split; intros h s t hs ht; specialize h s t hs ht,
502
519
{ rwa indep_set_iff_measure_inter_eq_mul (hf hs) (hg ht) μ, },
503
520
{ rwa ← indep_set_iff_measure_inter_eq_mul (hf hs) (hg ht) μ, },
@@ -525,6 +542,94 @@ begin
525
542
{ exact ⟨ψ ⁻¹' B, hψ hB, set.preimage_comp.symm⟩ }
526
543
end
527
544
545
+ /-- If `f` is a family of mutually independent random variables (`Indep_fun m f μ`) and `S, T` are
546
+ two disjoint finite index sets, then the tuple formed by `f i` for `i ∈ S` is independent of the
547
+ tuple `(f i)_i` for `i ∈ T`. -/
548
+ lemma Indep_fun.indep_fun_finset [is_probability_measure μ]
549
+ {ι : Type *} {β : ι → Type *} {m : Π i, measurable_space (β i)}
550
+ {f : Π i, α → β i} (S T : finset ι) (hST : disjoint S T) (hf_Indep : Indep_fun m f μ)
551
+ (hf_meas : ∀ i, measurable (f i)) :
552
+ indep_fun (λ a (i : S), f i a) (λ a (i : T), f i a) μ :=
553
+ begin
554
+ -- We introduce π-systems, build from the π-system of boxes which generates `measurable_space.pi`.
555
+ let πSβ := (set.pi (set.univ : set S) ''
556
+ (set.pi (set.univ : set S) (λ i, {s : set (β i) | measurable_set[m i] s}))),
557
+ let πS := {s : set α | ∃ t ∈ πSβ, (λ a (i : S), f i a) ⁻¹' t = s},
558
+ have hπS_pi : is_pi_system πS := is_pi_system_pi.comap (λ a i, f i a),
559
+ have hπS_gen : measurable_space.pi.comap (λ a (i : S), f i a) = generate_from πS,
560
+ { rw [generate_from_pi.symm, comap_generate_from],
561
+ { congr' with s,
562
+ simp only [set.mem_image, set.mem_set_of_eq, exists_prop], },
563
+ { exact finset.fintype_coe_sort S, }, },
564
+ let πTβ := (set.pi (set.univ : set T) ''
565
+ (set.pi (set.univ : set T) (λ i, {s : set (β i) | measurable_set[m i] s}))),
566
+ let πT := {s : set α | ∃ t ∈ πTβ, (λ a (i : T), f i a) ⁻¹' t = s},
567
+ have hπT_pi : is_pi_system πT := is_pi_system_pi.comap (λ a i, f i a),
568
+ have hπT_gen : measurable_space.pi.comap (λ a (i : T), f i a) = generate_from πT,
569
+ { rw [generate_from_pi.symm, comap_generate_from],
570
+ { congr' with s,
571
+ simp only [set.mem_image, set.mem_set_of_eq, exists_prop], },
572
+ { exact finset.fintype_coe_sort T, }, },
573
+
574
+ -- To prove independence, we prove independence of the generating π-systems.
575
+ refine indep_sets.indep (measurable.comap_le (measurable_pi_iff.mpr (λ i, hf_meas i)))
576
+ (measurable.comap_le (measurable_pi_iff.mpr (λ i, hf_meas i))) hπS_pi hπT_pi hπS_gen hπT_gen _,
577
+
578
+ rintros _ _ ⟨s, ⟨sets_s, hs1, hs2⟩, rfl⟩ ⟨t, ⟨sets_t, ht1, ht2⟩, rfl⟩,
579
+ simp only [set.mem_univ_pi, set.mem_set_of_eq] at hs1 ht1,
580
+ rw [← hs2, ← ht2],
581
+ let sets_s' : (Π i : ι, set (β i)) := λ i, dite (i ∈ S) (λ hi, sets_s ⟨i, hi⟩) (λ _, set.univ),
582
+ have h_sets_s'_eq : ∀ {i} (hi : i ∈ S), sets_s' i = sets_s ⟨i, hi⟩,
583
+ { intros i hi, simp_rw [sets_s', dif_pos hi], },
584
+ have h_sets_s'_univ : ∀ {i} (hi : i ∈ T), sets_s' i = set.univ,
585
+ { intros i hi, simp_rw [sets_s', dif_neg (finset.disjoint_right.mp hST hi)], },
586
+ let sets_t' : (Π i : ι, set (β i)) := λ i, dite (i ∈ T) (λ hi, sets_t ⟨i, hi⟩) (λ _, set.univ),
587
+ have h_sets_t'_univ : ∀ {i} (hi : i ∈ S), sets_t' i = set.univ,
588
+ { intros i hi, simp_rw [sets_t', dif_neg (finset.disjoint_left.mp hST hi)], },
589
+ have h_meas_s' : ∀ i ∈ S, measurable_set (sets_s' i),
590
+ { intros i hi, rw h_sets_s'_eq hi, exact hs1 _, },
591
+ have h_meas_t' : ∀ i ∈ T, measurable_set (sets_t' i),
592
+ { intros i hi, simp_rw [sets_t', dif_pos hi], exact ht1 _, },
593
+ have h_eq_inter_S : (λ (a : α) (i : ↥S), f ↑i a) ⁻¹' set.pi set.univ sets_s
594
+ = ⋂ i ∈ S, (f i) ⁻¹' (sets_s' i),
595
+ { ext1 x,
596
+ simp only [set.mem_preimage, set.mem_univ_pi, set.mem_Inter],
597
+ split; intro h,
598
+ { intros i hi, rw [h_sets_s'_eq hi], exact h ⟨i, hi⟩, },
599
+ { rintros ⟨i, hi⟩, specialize h i hi, rw [h_sets_s'_eq hi] at h, exact h, }, },
600
+ have h_eq_inter_T : (λ (a : α) (i : ↥T), f ↑i a) ⁻¹' set.pi set.univ sets_t
601
+ = ⋂ i ∈ T, (f i) ⁻¹' (sets_t' i),
602
+ { ext1 x,
603
+ simp only [set.mem_preimage, set.mem_univ_pi, set.mem_Inter],
604
+ split; intro h,
605
+ { intros i hi, simp_rw [sets_t', dif_pos hi], exact h ⟨i, hi⟩, },
606
+ { rintros ⟨i, hi⟩, specialize h i hi, simp_rw [sets_t', dif_pos hi] at h, exact h, }, },
607
+ rw Indep_fun_iff_measure_inter_preimage_eq_mul at hf_Indep,
608
+ rw [h_eq_inter_S, h_eq_inter_T, hf_Indep S h_meas_s', hf_Indep T h_meas_t'],
609
+ have h_Inter_inter : (⋂ i ∈ S, (f i) ⁻¹' (sets_s' i)) ∩ (⋂ i ∈ T, (f i) ⁻¹' (sets_t' i))
610
+ = ⋂ i ∈ (S ∪ T), (f i) ⁻¹' (sets_s' i ∩ sets_t' i),
611
+ { ext1 x,
612
+ simp only [set.mem_inter_eq, set.mem_Inter, set.mem_preimage, finset.mem_union],
613
+ split; intro h,
614
+ { intros i hi,
615
+ cases hi,
616
+ { rw h_sets_t'_univ hi, exact ⟨h.1 i hi, set.mem_univ _⟩, },
617
+ { rw h_sets_s'_univ hi, exact ⟨set.mem_univ _, h.2 i hi⟩, }, },
618
+ { exact ⟨λ i hi, (h i (or.inl hi)).1 , λ i hi, (h i (or.inr hi)).2 ⟩, }, },
619
+ rw [h_Inter_inter, hf_Indep (S ∪ T)],
620
+ swap, { intros i hi_mem,
621
+ rw finset.mem_union at hi_mem,
622
+ cases hi_mem,
623
+ { rw [h_sets_t'_univ hi_mem, set.inter_univ], exact h_meas_s' i hi_mem, },
624
+ { rw [h_sets_s'_univ hi_mem, set.univ_inter], exact h_meas_t' i hi_mem, }, },
625
+ rw finset.prod_union hST,
626
+ congr' 1 ,
627
+ { refine finset.prod_congr rfl (λ i hi, _),
628
+ rw [h_sets_t'_univ hi, set.inter_univ], },
629
+ { refine finset.prod_congr rfl (λ i hi, _),
630
+ rw [h_sets_s'_univ hi, set.univ_inter], },
631
+ end
632
+
528
633
end indep_fun
529
634
530
635
end probability_theory
0 commit comments