-- File: FoML/FoML/MeasurePiLemmas.lean
Theorem statement:
theorem extracted_formal_statement_14.{u_2, u_1} {Ω : Type u_1} {ι : Type u_2} [inst : MeasurableSpace Ω] {μ : Measure Ω}
  [inst_1 : IsProbabilityMeasure μ] [inst_2 : Fintype ι] [inst_3 : DecidableEq ι] (s : Finset ι) {f : ι → Set (ι → Ω)}
  (hf : ∀ i ∈ s, ∃ s', inst.MeasurableSet' s' ∧ Function.eval i ⁻¹' s' = f i) :
  let f' := fun i hi => Classical.choose (hf i hi);
  let hf' := fun i hi => Classical.choose_spec (hf i hi);
  let f'' := fun i => if h : i ∈ s then f' i h else Set.univ;
  ⋂ i ∈ s, f i = Set.univ.pi f'' → ∀ i ∈ s, Measure.map (Function.eval i) (Measure.pi fun x => μ) = μ := sorry

Tactic state before:
case e_a.h
Ω : Type u_1
ι : Type u_2
inst✝³ : MeasurableSpace Ω
μ : Measure Ω
inst✝² : IsProbabilityMeasure μ
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
s : Finset ι
f : ι → Set (ι → Ω)
hf : ∀ i ∈ s, ∃ s', inst✝³.MeasurableSet' s' ∧ Function.eval i ⁻¹' s' = f i
f' : (i : ι) → i ∈ s → Set Ω := fun i hi => Classical.choose ⋯
hf' : ∀ (i : ι) (hi : i ∈ s),
  inst✝³.MeasurableSet' (Classical.choose ⋯) ∧ Function.eval i ⁻¹' Classical.choose ⋯ = f i :=
  fun i hi => Classical.choose_spec (hf i hi)
f'' : ι → Set Ω := fun i => if h : i ∈ s then f' i h else Set.univ
this : ⋂ i ∈ s, f i = Set.univ.pi f''
i : ι
h : i ∈ s
⊢ Measure.map (Function.eval i) (Measure.pi fun x => μ) = μ

Tactic: exact pi_map_eval i

Tactic state after:

Premises used:
pi_map_eval : ∀ {ι : Type u_1} {Ω : ι → Type u_2} [inst : Fintype ι] [inst_4 : DecidableEq ι]
  [inst_5 : (i : ι) → MeasurableSpace (Ω i)] {μ : (i : ι) → Measure (Ω i)}
  [inst_6 : ∀ (i : ι), IsProbabilityMeasure (μ i)] (k : ι), Measure.map (Function.eval k) (Measure.pi μ) = μ k