-- File: optlib/Optlib/Algorithm/LASSO.lean
Theorem statement:
theorem extracted_formal_statement_51 {n m : ℕ+} {b : Fin ↑m → ℝ} {A : Matrix (Fin ↑m) (Fin ↑n) ℝ}
  (x : EuclideanSpace ℝ (Fin ↑n)) (ε : ℝ) (εpos : ε > 0) (y : EuclideanSpace ℝ (Fin ↑n)) (a : ‖x - y‖ ≤ ε)
  (h_original_goal :
    |∑ i, (WithLp.equiv 2 (Fin ↑n → ℝ)) x i * (WithLp.equiv 2 (Fin ↑n → ℝ)) (Aᵀ *ᵥ b) i -
          ∑ x_1, x x_1 * (Aᵀ *ᵥ b) x_1| ≤
      ε * ‖x - y‖) :
  0 ≤ ε * ‖x - y‖ := sorry

Tactic state before:
case right
n m : ℕ+
b : Fin ↑m → ℝ
A : Matrix (Fin ↑m) (Fin ↑n) ℝ
x : EuclideanSpace ℝ (Fin ↑n)
ε : ℝ
εpos : ε > 0
y : EuclideanSpace ℝ (Fin ↑n)
a✝ : ‖x - y‖ ≤ ε
⊢ |∑ i, (WithLp.equiv 2 (Fin ↑n → ℝ)) x i * (WithLp.equiv 2 (Fin ↑n → ℝ)) (Aᵀ *ᵥ b) i - ∑ x_1, x x_1 * (Aᵀ *ᵥ b) x_1| ≤
    ε * ‖x - y‖

Tactic: simp [mul_comm]

Tactic state after:
[case right
 n m : ℕ+
 b : Fin ↑m → ℝ
 A : Matrix (Fin ↑m) (Fin ↑n) ℝ
 x : EuclideanSpace ℝ (Fin ↑n)
 ε : ℝ
 εpos : ε > 0
 y : EuclideanSpace ℝ (Fin ↑n)
 a✝ : ‖x - y‖ ≤ ε
 ⊢ 0 ≤ ε * ‖x - y‖]

Premises used:
mul_comm : ∀ {G : Type u_1} [inst : CommMagma G] (a b : G), a * b = b * a