-- File: FoML/FoML/Rademacher.lean
Theorem statement:
theorem extracted_formal_statement_96.{u_1, w, u} {Ω : Type u} {Z : Type w} {n : ℕ} {ι : Type u_1} {f : ι → Z → ℝ}
  {X : Ω → Z} {b : ℝ} (hb : 0 ≤ b) (hf' : ∀ (i : ι) (z : Z), |f i z| ≤ b) (ω : Fin n → Ω) (h : Nonempty ι) (i : ι)
  (this : ∑ k, |f i (X (ω k))| ≤ ∑ k, b) (h_original_goal : ∑ k, b ≤ ↑n * b) : ∑ k, b = ↑n * b := sorry

Tactic state before:
Ω : Type u
Z : Type w
n : ℕ
ι : Type u_1
f : ι → Z → ℝ
X : Ω → Z
b : ℝ
hb : 0 ≤ b
hf' : ∀ (i : ι) (z : Z), |f i z| ≤ b
ω : Fin n → Ω
h : Nonempty ι
i : ι
this : ∑ k, |f i (X (ω k))| ≤ ∑ k, b
⊢ ∑ k, b ≤ ↑n * b

Tactic: apply le_of_eq

Tactic state after:
[case hab
 Ω : Type u
 Z : Type w
 n : ℕ
 ι : Type u_1
 f : ι → Z → ℝ
 X : Ω → Z
 b : ℝ
 hb : 0 ≤ b
 hf' : ∀ (i : ι) (z : Z), |f i z| ≤ b
 ω : Fin n → Ω
 h : Nonempty ι
 i : ι
 this : ∑ k, |f i (X (ω k))| ≤ ∑ k, b
 ⊢ ∑ k, b = ↑n * b]

Premises used:
le_of_eq : ∀ {α : Type u_1} [inst : Preorder α] {a b : α}, a = b → a ≤ b