-- File: FoML/FoML/Rademacher.lean
Theorem statement:
theorem extracted_formal_statement_153.{u_1, w, u} {Ω : Type u} [inst : MeasurableSpace Ω] {Z : Type w} {n : ℕ}
  {ι : Type u_1} {f : ι → Z → ℝ} {μ : Measure Ω} [inst_1 : IsProbabilityMeasure μ] [inst_2 : Countable ι] {X : Ω → Z}
  (hf : ∀ (i : ι), Measurable (f i ∘ X)) {b : ℝ} (hb : 0 ≤ b) (hf' : ∀ (i : ι) (z : Z), |f i z| ≤ b) (ω : Fin n → Ω × Ω)
  (σ : Signs n) (a : σ ∈ Finset.univ) (h : Nonempty ι)
  (h_original_goal : 0 ≤ ⨆ i, |∑ k, ↑↑(σ k) * (f i (X (ω k).1) - f i (X (ω k).2))|) :
  0 ≤ |∑ k, ↑↑(σ k) * (f (Classical.choice h) (X (ω k).1) - f (Classical.choice h) (X (ω k).2))| := sorry

Tactic state before:
case pos
Ω : Type u
inst✝² : MeasurableSpace Ω
Z : Type w
n : ℕ
ι : Type u_1
f : ι → Z → ℝ
μ : Measure Ω
inst✝¹ : IsProbabilityMeasure μ
inst✝ : Countable ι
X : Ω → Z
hf : ∀ (i : ι), Measurable (f i ∘ X)
b : ℝ
hb : 0 ≤ b
hf' : ∀ (i : ι) (z : Z), |f i z| ≤ b
ω : Fin n → Ω × Ω
ω₁ : Fin n → Ω := fun k => (ω k).1
ω₂ : Fin n → Ω := fun k => (ω k).2
σ : Signs n
a✝ : σ ∈ Finset.univ
h : Nonempty ι
⊢ 0 ≤ ⨆ i, |∑ k, ↑↑(σ k) * (f i (X (ω k).1) - f i (X (ω k).2))|

Tactic: apply le_ciSup_of_le _ (Classical.choice h)

Tactic state after:
[case pos
 Ω : Type u
 inst✝² : MeasurableSpace Ω
 Z : Type w
 n : ℕ
 ι : Type u_1
 f : ι → Z → ℝ
 μ : Measure Ω
 inst✝¹ : IsProbabilityMeasure μ
 inst✝ : Countable ι
 X : Ω → Z
 hf : ∀ (i : ι), Measurable (f i ∘ X)
 b : ℝ
 hb : 0 ≤ b
 hf' : ∀ (i : ι) (z : Z), |f i z| ≤ b
 ω : Fin n → Ω × Ω
 ω₁ : Fin n → Ω := fun k => (ω k).1
 ω₂ : Fin n → Ω := fun k => (ω k).2
 σ : Signs n
 a✝ : σ ∈ Finset.univ
 h : Nonempty ι
 ⊢ 0 ≤ |∑ k, ↑↑(σ k) * (f (Classical.choice h) (X (ω k).1) - f (Classical.choice h) (X (ω k).2))|,
 Ω : Type u
 inst✝² : MeasurableSpace Ω
 Z : Type w
 n : ℕ
 ι : Type u_1
 f : ι → Z → ℝ
 μ : Measure Ω
 inst✝¹ : IsProbabilityMeasure μ
 inst✝ : Countable ι
 X : Ω → Z
 hf : ∀ (i : ι), Measurable (f i ∘ X)
 b : ℝ
 hb : 0 ≤ b
 hf' : ∀ (i : ι) (z : Z), |f i z| ≤ b
 ω : Fin n → Ω × Ω
 ω₁ : Fin n → Ω := fun k => (ω k).1
 ω₂ : Fin n → Ω := fun k => (ω k).2
 σ : Signs n
 a✝ : σ ∈ Finset.univ
 h : Nonempty ι
 ⊢ BddAbove (Set.range fun i => |∑ k, ↑↑(σ k) * (f i (X (ω k).1) - f i (X (ω k).2))|)]

Premises used:
le_ciSup_of_le : ∀ {α : Type u_1} {ι : Sort u_4} [inst : ConditionallyCompleteLattice α] {a : α} {f : ι → α},
  BddAbove (Set.range f) → ∀ (c : ι), a ≤ f c → a ≤ iSup f