import Mathlib
import FoML


open MeasureTheory ProbabilityTheory

theorem extracted_formal_statement_35.{u_2, u_1} {Ω : Type u_1} [inst : MeasurableSpace Ω] {μ : Measure Ω}
  [inst_1 : IsProbabilityMeasure μ] {𝓧 : Type u_2} {m𝓧 : MeasurableSpace 𝓧} [hnonempty𝓧 : Nonempty 𝓧] {m : ℕ}
  {X' : Fin m → Ω → 𝓧} (hX'' : ∀ (i : Fin m), Measurable (X' i)) (hIndep' : iIndepFun X' μ) {f' : (Fin m → 𝓧) → ℝ}
  {c' : Fin m → ℝ} (hfι : ∀ (i : Fin m) (x : Fin m → 𝓧) (x' : 𝓧), |f' x - f' (Function.update x i x')| ≤ c' i)
  (hf'' : StronglyMeasurable f') {ε : ℝ} (hε : ε > 0) {t : ℝ} (ht : t ≥ 0) (ht' : t * ∑ i, c' i ^ 2 ≤ 1) :
  let Y := fun k Xk => ∫ (x : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else X' i ω) x ∂μ;
  let A := fun k Xk =>
    ⨅ x, ∫ (x_1 : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i ω) x_1 ∂μ;
  let B := fun k Xk =>
    ⨆ x, ∫ (x_1 : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i ω) x_1 ∂μ;
  (∀ (k : Fin m) (Xk : Fin ↑k → 𝓧) (x : 𝓧),
      Y k.succ (Fin.snoc Xk x) =
        ∫ (x_1 : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i ω) x_1 ∂μ) →
    ∀ (x₀ : 𝓧),
      let bdf := |f' fun x => x₀| + ∑ i, c' i;
      (∀ (xi : Fin m → 𝓧), |f' xi| ≤ bdf) →
        (∀ (k : Fin m) (Xk : Fin ↑k → 𝓧) (x : 𝓧),
            Integrable (fun a => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i a) μ) →
          (∀ (k : Fin m) (Xk : Fin ↑k → 𝓧) (x : 𝓧), A k Xk ≤ Y k.succ (Fin.snoc Xk x)) →
            (∀ (k : Fin m) (Xk : Fin ↑k → 𝓧),
                𝓧 →
                  BddAbove
                    (Set.range fun x =>
                      ∫ (a : Ω),
                        (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i ω)
                          a ∂μ)) →
              (∀ (k : Fin m) (Xk : Fin ↑k → 𝓧) (x : 𝓧), B k Xk ≥ Y k.succ (Fin.snoc Xk x)) →
                (∀ (k : Fin m) (Xk : Fin ↑k → 𝓧), B k Xk ≤ A k Xk + c' k) →
                  (∀ (k : Fin m) (Xk : Fin ↑k → 𝓧), ∫ (ω : Ω), Y k.succ (Fin.snoc Xk (X' k ω)) ∂μ = Y k.castSucc Xk) →
                    (∀ (k : Fin m.succ), Measurable (Y k)) →
                      (∀ (k : Fin m.succ) (Xk : Fin ↑k → 𝓧), |Y k Xk| ≤ bdf) →
                        let V := fun k Xk ω => Y k.succ (Fin.snoc Xk (X' k ω)) - Y k.castSucc Xk;
                        let t'' := 4 * ε * t;
                        t'' ≥ 0 →
                          (∀ (k : Fin m) (Xk : Fin ↑k → 𝓧),
                              ∫ (ω : Ω), Real.exp (t'' * V k Xk ω) ∂μ ≤ Real.exp (t'' ^ 2 * c' k ^ 2 / 8)) →
                            let E := Y 0 fun x => x₀;
                            (∀ (k : ℕ) (h : k ≤ m),
                                Integrable
                                  (fun x =>
                                    Real.exp
                                      (t'' * ((Y ⟨k, Nat.lt_add_one_of_le h⟩ fun i => X' (Fin.castLE h i) x) - E)))
                                  μ) →
                              ∀ (k : ℕ),
                                (∀ (h : k ≤ m),
                                    ∫ (ω : Ω),
                                        Real.exp
                                          (t'' *
                                            ((Y ⟨k, Nat.lt_add_one_of_le h⟩ fun i => X' (Fin.castLE h i) ω) - E)) ∂μ ≤
                                      Real.exp ((t'' ^ 2 * ∑ i, c' (Fin.castLE h i) ^ 2) / 8)) →
                                  ∀ (h : k + 1 ≤ m),
                                    ∫ (ω : Ω),
                                          Real.exp
                                            (t'' *
                                              ((Y ⟨k, Nat.lt_add_one_of_le (Nat.le_of_succ_le h)⟩ fun i =>
                                                  X' (Fin.castLE (Nat.le_of_succ_le h) i) ω) -
                                                E)) ∂μ ≤
                                        Real.exp ((t'' ^ 2 * ∑ i, c' (Fin.castLE (Nat.le_of_succ_le h) i) ^ 2) / 8) →
                                      Integrable
                                          (fun x =>
                                            Real.exp
                                              (t'' *
                                                ((Y ⟨k, Nat.lt_add_one_of_le (Nat.le_of_succ_le h)⟩ fun i =>
                                                    X' (Fin.castLE (Nat.le_of_succ_le h) i) x) -
                                                  E)))
                                          μ →
                                        ∫ (ω : Ω),
                                              Real.exp
                                                  (t'' *
                                                    ((Y ⟨k, Nat.lt_succ_of_lt h⟩ fun i => X' (Fin.castLE h ↑↑i) ω) -
                                                      E)) *
                                                ∫ (ω' : Ω),
                                                  Real.exp
                                                    (t'' * V ⟨k, h⟩ (fun i => X' (Fin.castLE h ↑↑i) ω) ω') ∂μ ∂μ ≤
                                            ∫ (ω : Ω),
                                              Real.exp
                                                  (t'' *
                                                    ((Y ⟨k, Nat.lt_succ_of_lt h⟩ fun i => X' (Fin.castLE h ↑↑i) ω) -
                                                      E)) *
                                                Real.exp (t'' ^ 2 * c' ⟨k, h⟩ ^ 2 / 8) ∂μ →
                                          Integrable
                                            (fun x =>
                                              Real.exp
                                                (t'' *
                                                  ((Y ⟨k, Nat.lt_add_one_of_le (Nat.le_of_succ_le h)⟩ fun i =>
                                                      X' (Fin.castLE (Nat.le_of_succ_le h) i) x) -
                                                    E)))
                                            μ := sorry

Tactic state before:
Ω : Type u_1
inst✝¹ : MeasurableSpace Ω
μ : Measure Ω
inst✝ : IsProbabilityMeasure μ
𝓧 : Type u_2
m𝓧 : MeasurableSpace 𝓧
hnonempty𝓧 : Nonempty 𝓧
m : ℕ
X' : Fin m → Ω → 𝓧
hX'' : ∀ (i : Fin m), Measurable (X' i)
hIndep' : iIndepFun X' μ
f' : (Fin m → 𝓧) → ℝ
c' : Fin m → ℝ
hfι : ∀ (i : Fin m) (x : Fin m → 𝓧) (x' : 𝓧), |f' x - f' (Function.update x i x')| ≤ c' i
hf'' : StronglyMeasurable f'
ε : ℝ
hε : ε > 0
t : ℝ
ht : t ≥ 0
ht' : t * ∑ i, c' i ^ 2 ≤ 1
Y : (k : Fin m.succ) → (Fin ↑k → 𝓧) → ℝ :=
  fun k Xk => ∫ (x : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else X' i ω) x ∂μ
A : (k : Fin m) → (Fin ↑k → 𝓧) → ℝ :=
  fun k Xk =>
    ⨅ x, ∫ (x_1 : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i ω) x_1 ∂μ
B : (k : Fin m) → (Fin ↑k → 𝓧) → ℝ :=
  fun k Xk =>
    ⨆ x, ∫ (x_1 : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i ω) x_1 ∂μ
AB_rw :
  ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧) (x : 𝓧),
    Y k.succ (Fin.snoc Xk x) =
      ∫ (x_1 : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i ω) x_1 ∂μ
x₀ : 𝓧
bdf : ℝ := |f' fun x => x₀| + ∑ i, c' i
hfbdd : ∀ (xi : Fin m → 𝓧), |f' xi| ≤ bdf
hintegrableAB :
  ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧) (x : 𝓧),
    Integrable (fun a => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i a) μ
hAY : ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧) (x : 𝓧), A k Xk ≤ Y k.succ (Fin.snoc Xk x)
hBddAbove :
  ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧),
    𝓧 →
      BddAbove
        (Set.range fun x =>
          ∫ (a : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i ω) a ∂μ)
hYB : ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧) (x : 𝓧), B k Xk ≥ Y k.succ (Fin.snoc Xk x)
hAB : ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧), B k Xk ≤ A k Xk + c' k
hmartigale : ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧), ∫ (ω : Ω), Y k.succ (Fin.snoc Xk (X' k ω)) ∂μ = Y k.castSucc Xk
hmeasurableY : ∀ (k : Fin m.succ), Measurable (Y k)
hYbdd : ∀ (k : Fin m.succ) (Xk : Fin ↑k → 𝓧), |Y k Xk| ≤ bdf
V : (k : Fin m) → (Fin ↑k → 𝓧) → Ω → ℝ := fun k Xk ω => Y k.succ (Fin.snoc Xk (X' k ω)) - Y k.castSucc Xk
t'' : ℝ := 4 * ε * t
ht'' : t'' ≥ 0
hhoefdding :
  ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧), ∫ (ω : Ω), Real.exp (t'' * V k Xk ω) ∂μ ≤ Real.exp (t'' ^ 2 * c' k ^ 2 / 8)
E : ℝ := Y 0 fun x => x₀
hintegrablelefts :
  ∀ (k : ℕ) (h : k ≤ m), Integrable (fun x => Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE h i) x) - E))) μ
k : ℕ
ih✝ :
  ∀ (h : k ≤ m),
    ∫ (ω : Ω), Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE h i) ω) - E)) ∂μ ≤
      Real.exp ((t'' ^ 2 * ∑ i, c' (Fin.castLE h i) ^ 2) / 8)
h : k + 1 ≤ m
ih :
  ∫ (ω : Ω), Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE ⋯ i) ω) - E)) ∂μ ≤
    Real.exp ((t'' ^ 2 * ∑ i, c' (Fin.castLE ⋯ i) ^ 2) / 8)
hintegrableleft : Integrable (fun x => Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE ⋯ i) x) - E))) μ
⊢ ∫ (ω : Ω),
      Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE h ↑↑i) ω) - E)) *
        ∫ (ω' : Ω), Real.exp (t'' * V ⟨k, h⟩ (fun i => X' (Fin.castLE h ↑↑i) ω) ω') ∂μ ∂μ ≤
    ∫ (ω : Ω),
      Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE h ↑↑i) ω) - E)) * Real.exp (t'' ^ 2 * c' ⟨k, h⟩ ^ 2 / 8) ∂μ

Tactic:
simp only [Nat.succ_eq_add_one, V] at hintegrableleft
    apply integral_mono
    ·
  have :
    (fun (ω : Ω) ↦
        (t'' * (Y ⟨k, Nat.lt_succ_of_lt h⟩ (fun (i : Fin k) ↦ X' (Fin.castLE h i) ω) - E)).exp *
          ∫ (ω' : Ω), (t'' * (V ⟨k, h⟩ fun (i : Fin k) ↦ X' (Fin.castLE h i) ω) ω').exp ∂μ) =
      (fun (ω : Ω) ↦
        (∫ (ω' : Ω), (t'' * (V ⟨k, h⟩ fun (i : Fin k) ↦ X' (Fin.castLE h i) ω) ω').exp ∂μ) *
          (t'' * (Y ⟨k, Nat.lt_succ_of_lt h⟩ (fun (i : Fin k) ↦ X' (Fin.castLE h i) ω) - E)).exp) :=
    by
    ext ω
    rw [mul_comm]
  to_theorem
    rw [this]apply
      Integrable.bdd_mul·
      simp only [Nat.succ_eq_add_one, Fin.coe_eq_castSucc, Fin.castLE_castSucc, V]
      exact hintegrableleft
  · apply StronglyMeasurable.aestronglyMeasurable
    to_theorem
      apply
        StronglyMeasurable.integral_prod_left
          apply StronglyMeasurable.comp_measurable Real.measurable_exp.stronglyMeasurable apply Measurable.comp
    · exact measurable_const_mul t''
    · apply Measurable.sub
      · apply (hmeasurableY (⟨k, h⟩ : Fin m).succ).comp
        to_theorem
          apply
            measurable_pi_lambda
              intro
            i
              if h' : i.1 < k then
            
            have :
              (fun c : Ω × Ω ↦ @Fin.snoc k (fun _ ↦ 𝓧) (fun i : Fin k ↦ X' (Fin.castLE h i) c.2) (X' ⟨k, h⟩ c.1) i) =
                fun c ↦ X' (Fin.castLE h i) c.2 :=
              by
              ext c
              dsimp only [Fin.snoc]
              rw [dif_pos h']
              simp
            rw [this]
            apply (hX'' _).comp measurable_snd
          else
            have :
              (fun c : Ω × Ω ↦ @Fin.snoc k (fun _ ↦ 𝓧) (fun i : Fin k ↦ X' (Fin.castLE h i) c.2) (X' ⟨k, h⟩ c.1) i) =
                fun c ↦ X' ⟨k, h⟩ c.1 :=
              by
              ext c
              dsimp only [Fin.snoc]
              rw [dif_neg h']
              simp
            rw [this]
            apply (hX'' _).comp measurable_fst
      · have :
          (fun a : Ω × Ω ↦ Y (⟨k, h⟩ : Fin m).castSucc fun i ↦ X' (Fin.castLE h i) a.2) =
            (Y (⟨k, h⟩ : Fin m).castSucc) ∘ (fun a : Ω ↦ fun i ↦ X' (Fin.castLE h i) a) ∘ Prod.snd :=
          rfl
        to_theorem rw [this]apply (hmeasurableY (⟨k, h⟩ : Fin m).castSucc).comp apply Measurable.comp _ measurable_snd
        to_theorem apply measurable_pi_lambda intro i apply hX''
  · use (t'' * (bdf + bdf)).exp
    intro ω
    to_theorem apply abs_expectation_le_of_abs_le_const filter_upwards with ω' rw [Real.abs_exp]
    to_theorem apply Real.exp_le_exp.mpr apply mul_le_mul_of_nonneg_left _ ht'' dsimp only [V]
    to_theorem apply (le_abs.mpr (Or.inl le_rfl)).trans apply (abs_sub _ _).trans apply add_le_add
    · apply hYbdd
    · apply hYbdd (⟨k, h⟩ : Fin m).castSucc fun i ↦ X' (Fin.castLE h i) ω

Tactic state after:
[case hg
 Ω : Type u_1
 inst✝¹ : MeasurableSpace Ω
 μ : Measure Ω
 inst✝ : IsProbabilityMeasure μ
 𝓧 : Type u_2
 m𝓧 : MeasurableSpace 𝓧
 hnonempty𝓧 : Nonempty 𝓧
 m : ℕ
 X' : Fin m → Ω → 𝓧
 hX'' : ∀ (i : Fin m), Measurable (X' i)
 hIndep' : iIndepFun X' μ
 f' : (Fin m → 𝓧) → ℝ
 c' : Fin m → ℝ
 hfι : ∀ (i : Fin m) (x : Fin m → 𝓧) (x' : 𝓧), |f' x - f' (Function.update x i x')| ≤ c' i
 hf'' : StronglyMeasurable f'
 ε : ℝ
 hε : ε > 0
 t : ℝ
 ht : t ≥ 0
 ht' : t * ∑ i, c' i ^ 2 ≤ 1
 Y : (k : Fin m.succ) → (Fin ↑k → 𝓧) → ℝ :=
   fun k Xk => ∫ (x : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else X' i ω) x ∂μ
 A : (k : Fin m) → (Fin ↑k → 𝓧) → ℝ :=
   fun k Xk =>
     ⨅ x, ∫ (x_1 : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i ω) x_1 ∂μ
 B : (k : Fin m) → (Fin ↑k → 𝓧) → ℝ :=
   fun k Xk =>
     ⨆ x, ∫ (x_1 : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i ω) x_1 ∂μ
 AB_rw :
   ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧) (x : 𝓧),
     Y k.succ (Fin.snoc Xk x) =
       ∫ (x_1 : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i ω) x_1 ∂μ
 x₀ : 𝓧
 bdf : ℝ := |f' fun x => x₀| + ∑ i, c' i
 hfbdd : ∀ (xi : Fin m → 𝓧), |f' xi| ≤ bdf
 hintegrableAB :
   ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧) (x : 𝓧),
     Integrable (fun a => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i a) μ
 hAY : ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧) (x : 𝓧), A k Xk ≤ Y k.succ (Fin.snoc Xk x)
 hBddAbove :
   ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧),
     𝓧 →
       BddAbove
         (Set.range fun x =>
           ∫ (a : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i ω) a ∂μ)
 hYB : ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧) (x : 𝓧), B k Xk ≥ Y k.succ (Fin.snoc Xk x)
 hAB : ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧), B k Xk ≤ A k Xk + c' k
 hmartigale : ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧), ∫ (ω : Ω), Y k.succ (Fin.snoc Xk (X' k ω)) ∂μ = Y k.castSucc Xk
 hmeasurableY : ∀ (k : Fin m.succ), Measurable (Y k)
 hYbdd : ∀ (k : Fin m.succ) (Xk : Fin ↑k → 𝓧), |Y k Xk| ≤ bdf
 V : (k : Fin m) → (Fin ↑k → 𝓧) → Ω → ℝ := fun k Xk ω => Y k.succ (Fin.snoc Xk (X' k ω)) - Y k.castSucc Xk
 t'' : ℝ := 4 * ε * t
 ht'' : t'' ≥ 0
 hhoefdding :
   ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧), ∫ (ω : Ω), Real.exp (t'' * V k Xk ω) ∂μ ≤ Real.exp (t'' ^ 2 * c' k ^ 2 / 8)
 E : ℝ := Y 0 fun x => x₀
 hintegrablelefts :
   ∀ (k : ℕ) (h : k ≤ m), Integrable (fun x => Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE h i) x) - E))) μ
 k : ℕ
 ih✝ :
   ∀ (h : k ≤ m),
     ∫ (ω : Ω), Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE h i) ω) - E)) ∂μ ≤
       Real.exp ((t'' ^ 2 * ∑ i, c' (Fin.castLE h i) ^ 2) / 8)
 h : k + 1 ≤ m
 ih :
   ∫ (ω : Ω), Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE ⋯ i) ω) - E)) ∂μ ≤
     Real.exp ((t'' ^ 2 * ∑ i, c' (Fin.castLE ⋯ i) ^ 2) / 8)
 hintegrableleft : Integrable (fun x => Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE ⋯ i) x) - E))) μ
 ⊢ Integrable
     (fun a =>
       Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE h ↑↑i) a) - E)) * Real.exp (t'' ^ 2 * c' ⟨k, h⟩ ^ 2 / 8))
     μ,
 case h
 Ω : Type u_1
 inst✝¹ : MeasurableSpace Ω
 μ : Measure Ω
 inst✝ : IsProbabilityMeasure μ
 𝓧 : Type u_2
 m𝓧 : MeasurableSpace 𝓧
 hnonempty𝓧 : Nonempty 𝓧
 m : ℕ
 X' : Fin m → Ω → 𝓧
 hX'' : ∀ (i : Fin m), Measurable (X' i)
 hIndep' : iIndepFun X' μ
 f' : (Fin m → 𝓧) → ℝ
 c' : Fin m → ℝ
 hfι : ∀ (i : Fin m) (x : Fin m → 𝓧) (x' : 𝓧), |f' x - f' (Function.update x i x')| ≤ c' i
 hf'' : StronglyMeasurable f'
 ε : ℝ
 hε : ε > 0
 t : ℝ
 ht : t ≥ 0
 ht' : t * ∑ i, c' i ^ 2 ≤ 1
 Y : (k : Fin m.succ) → (Fin ↑k → 𝓧) → ℝ :=
   fun k Xk => ∫ (x : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else X' i ω) x ∂μ
 A : (k : Fin m) → (Fin ↑k → 𝓧) → ℝ :=
   fun k Xk =>
     ⨅ x, ∫ (x_1 : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i ω) x_1 ∂μ
 B : (k : Fin m) → (Fin ↑k → 𝓧) → ℝ :=
   fun k Xk =>
     ⨆ x, ∫ (x_1 : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i ω) x_1 ∂μ
 AB_rw :
   ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧) (x : 𝓧),
     Y k.succ (Fin.snoc Xk x) =
       ∫ (x_1 : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i ω) x_1 ∂μ
 x₀ : 𝓧
 bdf : ℝ := |f' fun x => x₀| + ∑ i, c' i
 hfbdd : ∀ (xi : Fin m → 𝓧), |f' xi| ≤ bdf
 hintegrableAB :
   ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧) (x : 𝓧),
     Integrable (fun a => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i a) μ
 hAY : ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧) (x : 𝓧), A k Xk ≤ Y k.succ (Fin.snoc Xk x)
 hBddAbove :
   ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧),
     𝓧 →
       BddAbove
         (Set.range fun x =>
           ∫ (a : Ω), (fun ω => f' fun i => if h : ↑i < ↑k then Xk ⟨↑i, h⟩ else if ↑i = ↑k then x else X' i ω) a ∂μ)
 hYB : ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧) (x : 𝓧), B k Xk ≥ Y k.succ (Fin.snoc Xk x)
 hAB : ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧), B k Xk ≤ A k Xk + c' k
 hmartigale : ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧), ∫ (ω : Ω), Y k.succ (Fin.snoc Xk (X' k ω)) ∂μ = Y k.castSucc Xk
 hmeasurableY : ∀ (k : Fin m.succ), Measurable (Y k)
 hYbdd : ∀ (k : Fin m.succ) (Xk : Fin ↑k → 𝓧), |Y k Xk| ≤ bdf
 V : (k : Fin m) → (Fin ↑k → 𝓧) → Ω → ℝ := fun k Xk ω => Y k.succ (Fin.snoc Xk (X' k ω)) - Y k.castSucc Xk
 t'' : ℝ := 4 * ε * t
 ht'' : t'' ≥ 0
 hhoefdding :
   ∀ (k : Fin m) (Xk : Fin ↑k → 𝓧), ∫ (ω : Ω), Real.exp (t'' * V k Xk ω) ∂μ ≤ Real.exp (t'' ^ 2 * c' k ^ 2 / 8)
 E : ℝ := Y 0 fun x => x₀
 hintegrablelefts :
   ∀ (k : ℕ) (h : k ≤ m), Integrable (fun x => Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE h i) x) - E))) μ
 k : ℕ
 ih✝ :
   ∀ (h : k ≤ m),
     ∫ (ω : Ω), Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE h i) ω) - E)) ∂μ ≤
       Real.exp ((t'' ^ 2 * ∑ i, c' (Fin.castLE h i) ^ 2) / 8)
 h : k + 1 ≤ m
 ih :
   ∫ (ω : Ω), Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE ⋯ i) ω) - E)) ∂μ ≤
     Real.exp ((t'' ^ 2 * ∑ i, c' (Fin.castLE ⋯ i) ^ 2) / 8)
 hintegrableleft : Integrable (fun x => Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE ⋯ i) x) - E))) μ
 ⊢ (fun a =>
       Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE h ↑↑i) a) - E)) *
         ∫ (ω' : Ω), Real.exp (t'' * V ⟨k, h⟩ (fun i => X' (Fin.castLE h ↑↑i) a) ω') ∂μ) ≤
     fun a =>
     Real.exp (t'' * ((Y ⟨k, ⋯⟩ fun i => X' (Fin.castLE h ↑↑i) a) - E)) * Real.exp (t'' ^ 2 * c' ⟨k, h⟩ ^ 2 / 8)]