@@ -508,6 +508,44 @@ theorem ae_eq_set_pi {I : Set ι} {s t : ∀ i, Set (α i)} (h : ∀ i ∈ I, s
508
508
(ae_le_set_pi fun i hi => (h i hi).le).antisymm (ae_le_set_pi fun i hi => (h i hi).symm.le)
509
509
#align measure_theory.measure.ae_eq_set_pi MeasureTheory.Measure.ae_eq_set_pi
510
510
511
+ lemma pi_map_piCongrLeft [hι' : Fintype ι'] (e : ι ≃ ι') {β : ι' → Type *}
512
+ [∀ i, MeasurableSpace (β i)] (μ : (i : ι') → Measure (β i)) [∀ i, SigmaFinite (μ i)] :
513
+ (Measure.pi fun i ↦ μ (e i)).map (MeasurableEquiv.piCongrLeft (fun i ↦ β i) e)
514
+ = Measure.pi μ := by
515
+ let e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) :=
516
+ MeasurableEquiv.piCongrLeft (fun i ↦ β i) e
517
+ refine Measure.pi_eq (fun s _ ↦ ?_) |>.symm
518
+ rw [e_meas.measurableEmbedding.map_apply]
519
+ let s' : (i : ι) → Set (β (e i)) := fun i ↦ s (e i)
520
+ have : e_meas ⁻¹' pi univ s = pi univ s' := by
521
+ ext x
522
+ simp only [mem_preimage, Set.mem_pi, mem_univ, forall_true_left, s']
523
+ refine (e.forall_congr ?_).symm
524
+ intro i
525
+ rw [MeasurableEquiv.piCongrLeft_apply_apply e x i]
526
+ rw [this, pi_pi, Finset.prod_equiv e.symm]
527
+ · simp only [Finset.mem_univ, implies_true]
528
+ intro i _
529
+ simp only [s']
530
+ congr
531
+ all_goals rw [e.apply_symm_apply]
532
+
533
+ lemma pi_map_piOptionEquivProd {β : Option ι → Type *} [∀ i, MeasurableSpace (β i)]
534
+ (μ : (i : Option ι) → Measure (β i)) [∀ (i : Option ι), SigmaFinite (μ i)] :
535
+ ((Measure.pi fun i ↦ μ (some i)).prod (μ none)).map
536
+ (MeasurableEquiv.piOptionEquivProd β).symm = Measure.pi μ := by
537
+ refine pi_eq (fun s _ ↦ ?_) |>.symm
538
+ let e_meas : ((i : ι) → β (some i)) × β none ≃ᵐ ((i : Option ι) → β i) :=
539
+ MeasurableEquiv.piOptionEquivProd β |>.symm
540
+ have me := MeasurableEquiv.measurableEmbedding e_meas
541
+ have : e_meas ⁻¹' pi univ s = (pi univ (fun i ↦ s (some i))) ×ˢ (s none) := by
542
+ ext x
543
+ simp only [mem_preimage, Set.mem_pi, mem_univ, forall_true_left, mem_prod]
544
+ refine ⟨by tauto, fun _ i ↦ ?_⟩
545
+ rcases i <;> tauto
546
+ simp only [me.map_apply, univ_option, le_eq_subset, Finset.prod_insertNone, this, prod_prod,
547
+ pi_pi, mul_comm]
548
+
511
549
section Intervals
512
550
513
551
variable [∀ i, PartialOrder (α i)] [∀ i, NoAtoms (μ i)]
0 commit comments