-- File: FoML/FoML/Rademacher.lean
Theorem statement:
theorem extracted_formal_statement_421.{u_1, w, u} {Ω : Type u} [inst : MeasurableSpace Ω] {Z : Type w} {n : ℕ}
  {ι : Type u_1} {f : ι → Z → ℝ} {μ : Measure Ω} [inst_1 : IsProbabilityMeasure μ] {X : Ω → Z} [inst_2 : Nonempty ι]
  [inst_3 : Countable ι] (hf : ∀ (i : ι), Measurable (f i ∘ X)) (i : ι) (k : Fin n)
  (this :
    ∫ (x : Ω), (fun y => f i (X y)) x ∂Measure.map (fun f => f k) (Measure.pi fun x => μ) =
      ∫ (x : Fin n → Ω), (fun x => f i (X (x k))) x ∂Measure.pi fun x => μ) :
  ∫ (x : Ω), f i (X x) ∂μ = ∫ (x : Fin n → Ω), f i (X (x k)) ∂Measure.pi fun x => μ := sorry

Tactic state before:
case e_f.h.e_s.h.e_a.e_f.h.h
Ω : Type u
inst✝³ : MeasurableSpace Ω
Z : Type w
n : ℕ
ι : Type u_1
f : ι → Z → ℝ
μ : Measure Ω
inst✝² : IsProbabilityMeasure μ
X : Ω → Z
inst✝¹ : Nonempty ι
inst✝ : Countable ι
hf : ∀ (i : ι), Measurable (f i ∘ X)
x✝ : Fin n → Ω
i : ι
k : Fin n
this :
  ∫ (x : Ω), (fun y => f i (X y)) x ∂Measure.map (fun f => f k) (Measure.pi fun x => μ) =
    ∫ (x : Fin n → Ω), (fun x => f i (X (x k))) x ∂Measure.pi fun x => μ
⊢ ∫ (x : Ω), f i (X x) ∂μ = ∫ (x : Fin n → Ω), f i (X (x k)) ∂Measure.pi fun x => μ

Tactic: rw [← this, pi_map_eval k]

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