-- File: FoML/FoML/MeasurePiLemmas.lean
Theorem statement:
theorem extracted_formal_statement_19.{u_3, u_2, u_1} {Ω : Type u_1} {ι : Type u_2} [inst : MeasurableSpace Ω]
  {μ : Measure Ω} [inst_1 : IsProbabilityMeasure μ] [inst_2 : Fintype ι] {𝓧 : Type u_3} [inst_3 : MeasurableSpace 𝓧]
  {X : Ω → 𝓧} (hX : Measurable X) : iIndepFun (fun i => X ∘ Function.eval i) (Measure.pi fun x => μ) := sorry

Tactic state before:
Ω : Type u_1
ι : Type u_2
inst✝⁴ : MeasurableSpace Ω
μ : Measure Ω
inst✝³ : IsProbabilityMeasure μ
inst✝² : Fintype ι
inst✝¹ : DecidableEq ι
𝓧 : Type u_3
inst✝ : MeasurableSpace 𝓧
X : Ω → 𝓧
hX : Measurable X
⊢ iIndepFun (fun i => X ∘ Function.eval i) (Measure.pi fun x => μ)

Tactic: apply iIndepFun.comp pi_eval_iIndepFun _ (fun _ ↦ hX)

Tactic state after:

Premises used:
ProbabilityTheory.iIndepFun.comp : ∀ {Ω : Type u_1} {ι : Type u_2} {_mΩ : MeasurableSpace Ω} {μ : Measure Ω}
  {β : ι → Type u_10} {γ : ι → Type u_11} {mβ : (i : ι) → MeasurableSpace (β i)} {mγ : (i : ι) → MeasurableSpace (γ i)}
  {f : (i : ι) → Ω → β i},
  iIndepFun f μ → ∀ (g : (i : ι) → β i → γ i), (∀ (i : ι), Measurable (g i)) → iIndepFun (fun i => g i ∘ f i) μ
pi_eval_iIndepFun : ∀ {Ω : Type u_1} {ι : Type u_2} [inst : MeasurableSpace Ω] {μ : Measure Ω}
  [inst_4 : IsProbabilityMeasure μ] [inst_5 : Fintype ι] [inst_6 : DecidableEq ι],
  iIndepFun Function.eval (Measure.pi fun x => μ)