-- File: optlib/Optlib/Algorithm/LASSO.lean
Theorem statement:
theorem extracted_formal_statement_162 {n m : ℕ+} {A : Matrix (Fin ↑m) (Fin ↑n) ℝ} {μ : ℝ} {μpos : 0 < μ} {Ane0 : A ≠ 0}
  (x : EuclideanSpace ℝ (Fin ↑n)) (a : x ∈ Set.univ) (ε : ℝ) (εpos : ε > 0) (y : EuclideanSpace ℝ (Fin ↑n))
  (ydist : ‖x - y‖ ≤ ε / ↑↑n / μ) (h_original_goal : |μ * ∑ x, |y x| - μ * ∑ x_1, |x x_1|| ≤ ε) :
  |μ * ∑ x_1, (|y x_1| - |x x_1|)| ≤ ε := sorry

Tactic state before:
case h.right
n m : ℕ+
A : Matrix (Fin ↑m) (Fin ↑n) ℝ
b : Fin ↑m → ℝ
μ : ℝ
μpos : 0 < μ
Ane0 : A ≠ 0
x₀ : EuclideanSpace ℝ (Fin ↑n)
p : LASSO A b μ μpos Ane0 x₀
x : EuclideanSpace ℝ (Fin ↑n)
a✝ : x ∈ Set.univ
ε : ℝ
εpos : ε > 0
y : EuclideanSpace ℝ (Fin ↑n)
ydist : ‖x - y‖ ≤ ε / ↑↑n / μ
⊢ |μ * ∑ x, |y x| - μ * ∑ x_1, |x x_1|| ≤ ε

Tactic: rw [← mul_sub, ← sum_sub_distrib]

Tactic state after:
[case h.right
 n m : ℕ+
 A : Matrix (Fin ↑m) (Fin ↑n) ℝ
 b : Fin ↑m → ℝ
 μ : ℝ
 μpos : 0 < μ
 Ane0 : A ≠ 0
 x₀ : EuclideanSpace ℝ (Fin ↑n)
 p : LASSO A b μ μpos Ane0 x₀
 x : EuclideanSpace ℝ (Fin ↑n)
 a✝ : x ∈ Set.univ
 ε : ℝ
 εpos : ε > 0
 y : EuclideanSpace ℝ (Fin ↑n)
 ydist : ‖x - y‖ ≤ ε / ↑↑n / μ
 ⊢ |μ * ∑ x_1, (|y x_1| - |x x_1|)| ≤ ε]

Premises used:
mul_sub : ∀ {α : Type u} [inst : NonUnitalNonAssocRing α] (a b c : α), a * (b - c) = a * b - a * c
Finset.sum_sub_distrib : ∀ {α : Type u_3} {β : Type u_4} {s : Finset α} {f g : α → β} [inst : SubtractionCommMonoid β],
  ∑ x ∈ s, (f x - g x) = ∑ x ∈ s, f x - ∑ x ∈ s, g x