-- File: optlib/Optlib/Algorithm/LASSO.lean
Theorem statement:
theorem extracted_formal_statement_1 {n m : ℕ+} {A : Matrix (Fin ↑m) (Fin ↑n) ℝ} (u v : Fin ↑n → ℝ) :
  A *ᵥ u - A *ᵥ v = A *ᵥ (u - v) := sorry

Tactic state before:
n m : ℕ+
A : Matrix (Fin ↑m) (Fin ↑n) ℝ
u v : Fin ↑n → ℝ
⊢ A *ᵥ u - A *ᵥ v = A *ᵥ (u - v)

Tactic: rw [sub_eq_add_neg u v, mulVec_add, mulVec_neg, sub_eq_add_neg]

Tactic state after:

Premises used:
sub_eq_add_neg : ∀ {G : Type u_1} [inst : SubNegMonoid G] (a b : G), a - b = a + -b
Matrix.mulVec_add : ∀ {m : Type u_2} {n : Type u_3} {α : Type v} [inst : NonUnitalNonAssocSemiring α]
  [inst_1 : Fintype n] (A : Matrix m n α) (x y : n → α), A *ᵥ (x + y) = A *ᵥ x + A *ᵥ y
Matrix.mulVec_neg : ∀ {m : Type u_2} {n : Type u_3} {α : Type v} [inst : NonUnitalNonAssocRing α] [inst_1 : Fintype n]
  (v : n → α) (A : Matrix m n α), A *ᵥ -v = -(A *ᵥ v)