-- File: FoML/FoML/Rademacher.lean
Theorem statement:
theorem extracted_formal_statement_17.{u_1, w, u} {Ω : Type u} {Z : Type w} {n : ℕ} {ι : Type u_1} {f : ι → Z → ℝ}
  [inst : Nonempty ι] {X : Ω → Z} {b : ℝ} (hf' : ∀ (i : ι) (z : Z), |f i z| ≤ b) (ω : Fin n → Ω × Ω) (σ : Signs n)
  (a : σ ∈ Finset.univ)
  (h_original_goal :
    ⨆ i, |∑ k, ↑↑(σ k) * (f i (X (ω k).1) - f i (X (ω k).2))| ≤
      ⨆ i, |∑ k, ↑↑(σ k) * f i (X (ω k).1)| + |∑ k, ↑↑(σ k) * f i (X (ω k).2)|) :
  BddAbove (Set.range fun i => |∑ k, ↑↑(σ k) * f i (X (ω k).1)| + |∑ k, ↑↑(σ k) * f i (X (ω k).2)|) := sorry

Tactic state before:
Ω : Type u
Z : Type w
n : ℕ
ι : Type u_1
f : ι → Z → ℝ
inst✝ : Nonempty ι
X : Ω → Z
b : ℝ
hf' : ∀ (i : ι) (z : Z), |f i z| ≤ b
ω : Fin n → Ω × Ω
σ : Signs n
a✝ : σ ∈ Finset.univ
⊢ ⨆ i, |∑ k, ↑↑(σ k) * (f i (X (ω k).1) - f i (X (ω k).2))| ≤
    ⨆ i, |∑ k, ↑↑(σ k) * f i (X (ω k).1)| + |∑ k, ↑↑(σ k) * f i (X (ω k).2)|

Tactic: apply ciSup_mono

Tactic state after:
[case B
 Ω : Type u
 Z : Type w
 n : ℕ
 ι : Type u_1
 f : ι → Z → ℝ
 inst✝ : Nonempty ι
 X : Ω → Z
 b : ℝ
 hf' : ∀ (i : ι) (z : Z), |f i z| ≤ b
 ω : Fin n → Ω × Ω
 σ : Signs n
 a✝ : σ ∈ Finset.univ
 ⊢ BddAbove (Set.range fun i => |∑ k, ↑↑(σ k) * f i (X (ω k).1)| + |∑ k, ↑↑(σ k) * f i (X (ω k).2)|),
 case H
 Ω : Type u
 Z : Type w
 n : ℕ
 ι : Type u_1
 f : ι → Z → ℝ
 inst✝ : Nonempty ι
 X : Ω → Z
 b : ℝ
 hf' : ∀ (i : ι) (z : Z), |f i z| ≤ b
 ω : Fin n → Ω × Ω
 σ : Signs n
 a✝ : σ ∈ Finset.univ
 ⊢ ∀ (x : ι),
     |∑ k, ↑↑(σ k) * (f x (X (ω k).1) - f x (X (ω k).2))| ≤
       |∑ k, ↑↑(σ k) * f x (X (ω k).1)| + |∑ k, ↑↑(σ k) * f x (X (ω k).2)|]

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