-- File: FoML/FoML/McDiarmid.lean
Theorem statement:
theorem extracted_formal_statement_263.{u_3, u_2, u_1} {Ω : Type u_1} [inst : MeasurableSpace Ω] {μ : Measure Ω}
  [inst_1 : IsProbabilityMeasure μ] {𝓧 : Type u_2} {ι : Type u_3} [inst_2 : DecidableEq ι] {m𝓧 : MeasurableSpace 𝓧}
  [hnonempty𝓧 : Nonempty 𝓧] [inst_3 : Fintype ι] (X : ι → Ω → 𝓧) (hX : ∀ (i : ι), Measurable (X i))
  (hX' : iIndepFun X μ) (f : (ι → 𝓧) → ℝ) (c : ι → ℝ)
  (hf : ∀ (i : ι) (x : ι → 𝓧) (x' : 𝓧), |f x - f (Function.update x i x')| ≤ c i) (hf' : Measurable f) (t : ℝ)
  (ht' : t * ∑ i, c i ^ 2 ≤ 1) :
  let m := Fintype.card ι;
  let ιm := Fintype.equivFinOfCardEq rfl;
  let X' := X ∘ ⇑ιm.symm;
  let f' := f ∘ fun s => s ∘ ⇑ιm;
  let c' := c ∘ ⇑ιm.symm;
  (∀ (X : Fin m → 𝓧) (k : Fin m) (x : 𝓧), Function.update X k x ∘ ⇑ιm = Function.update (X ∘ ⇑ιm) (ιm.symm k) x) →
    (∀ (i : Fin m) (x : Fin m → 𝓧) (x' : 𝓧), |f' x - f' (Function.update x i x')| ≤ c' i) →
      StronglyMeasurable f' → iIndepFun X' μ → Function.Injective ⇑ιm.symm := sorry

Tactic state before:
Ω : Type u_1
inst✝³ : MeasurableSpace Ω
μ : Measure Ω
inst✝² : IsProbabilityMeasure μ
𝓧 : Type u_2
ι : Type u_3
inst✝¹ : DecidableEq ι
m𝓧 : MeasurableSpace 𝓧
hnonempty𝓧 : Nonempty 𝓧
inst✝ : Fintype ι
X : ι → Ω → 𝓧
hX : ∀ (i : ι), Measurable (X i)
hX' : iIndepFun X μ
f : (ι → 𝓧) → ℝ
c : ι → ℝ
hf : ∀ (i : ι) (x : ι → 𝓧) (x' : 𝓧), |f x - f (Function.update x i x')| ≤ c i
hf' : Measurable f
ε : ℝ
hε : ε > 0
t : ℝ
ht' : t * ∑ i, c i ^ 2 ≤ 1
m : ℕ := Fintype.card ι
ιm : ι ≃ Fin m := Fintype.equivFinOfCardEq ⋯
X' : Fin m → Ω → 𝓧 := X ∘ ⇑ιm.symm
f' : (Fin m → 𝓧) → ℝ := f ∘ fun s => s ∘ ⇑ιm
c' : Fin m → ℝ := c ∘ ⇑ιm.symm
hequpdate : ∀ (X : Fin m → 𝓧) (k : Fin m) (x : 𝓧), Function.update X k x ∘ ⇑ιm = Function.update (X ∘ ⇑ιm) (ιm.symm k) x
hfι : ∀ (i : Fin m) (x : Fin m → 𝓧) (x' : 𝓧), |f' x - f' (Function.update x i x')| ≤ c' i
hf'' : StronglyMeasurable f'
⊢ iIndepFun X' μ

Tactic: apply ProbabilityTheory.iIndepFun.comp_right hX'

Tactic state after:
[Ω : Type u_1
 inst✝³ : MeasurableSpace Ω
 μ : Measure Ω
 inst✝² : IsProbabilityMeasure μ
 𝓧 : Type u_2
 ι : Type u_3
 inst✝¹ : DecidableEq ι
 m𝓧 : MeasurableSpace 𝓧
 hnonempty𝓧 : Nonempty 𝓧
 inst✝ : Fintype ι
 X : ι → Ω → 𝓧
 hX : ∀ (i : ι), Measurable (X i)
 hX' : iIndepFun X μ
 f : (ι → 𝓧) → ℝ
 c : ι → ℝ
 hf : ∀ (i : ι) (x : ι → 𝓧) (x' : 𝓧), |f x - f (Function.update x i x')| ≤ c i
 hf' : Measurable f
 ε : ℝ
 hε : ε > 0
 t : ℝ
 ht' : t * ∑ i, c i ^ 2 ≤ 1
 m : ℕ := Fintype.card ι
 ιm : ι ≃ Fin m := Fintype.equivFinOfCardEq ⋯
 X' : Fin m → Ω → 𝓧 := X ∘ ⇑ιm.symm
 f' : (Fin m → 𝓧) → ℝ := f ∘ fun s => s ∘ ⇑ιm
 c' : Fin m → ℝ := c ∘ ⇑ιm.symm
 hequpdate :
   ∀ (X : Fin m → 𝓧) (k : Fin m) (x : 𝓧), Function.update X k x ∘ ⇑ιm = Function.update (X ∘ ⇑ιm) (ιm.symm k) x
 hfι : ∀ (i : Fin m) (x : Fin m → 𝓧) (x' : 𝓧), |f' x - f' (Function.update x i x')| ≤ c' i
 hf'' : StronglyMeasurable f'
 ⊢ Function.Injective ⇑ιm.symm]

Premises used:
ProbabilityTheory.iIndepFun.comp_right : ∀ {Ω : Type u_2} {ι : Type u_3} {ι' : Type u_4} [inst : DecidableEq ι]
  {_mΩ : MeasurableSpace Ω} {μ : Measure Ω} {β : ι → Type u_5} {mβ : (i : ι) → MeasurableSpace (β i)}
  {f : (i : ι) → Ω → β i}, iIndepFun f μ → ∀ {g : ι' → ι}, Function.Injective g → iIndepFun (fun i => f (g i)) μ