-- File: optlib/Optlib/Algorithm/LASSO.lean
Theorem statement:
theorem extracted_formal_statement_80 {n : ℕ+} ⦃x : EuclideanSpace ℝ (Fin ↑n)⦄ (a_1 : x ∈ Set.univ)
  ⦃y : EuclideanSpace ℝ (Fin ↑n)⦄ (a_2 : y ∈ Set.univ) ⦃a b : ℝ⦄ (anneg : 0 ≤ a) (bnneg : 0 ≤ b) (a_3 : a + b = 1)
  (i : Fin ↑n) (a_4 : i ∈ Finset.univ) : |a * x i| + |b * y i| = a * |x i| + b * |y i| := sorry

Tactic state before:
n : ℕ+
x : EuclideanSpace ℝ (Fin ↑n)
a✝³ : x ∈ Set.univ
y : EuclideanSpace ℝ (Fin ↑n)
a✝² : y ∈ Set.univ
a b : ℝ
anneg : 0 ≤ a
bnneg : 0 ≤ b
a✝¹ : a + b = 1
i : Fin ↑n
a✝ : i ∈ Finset.univ
⊢ |a * x i| + |b * y i| = a * |x i| + b * |y i|

Tactic: rw [abs_mul, abs_mul, abs_of_nonneg anneg, abs_of_nonneg bnneg]

Tactic state after:

Premises used:
abs_mul : ∀ {α : Type u_1} [inst : LinearOrderedRing α] (a b : α), |a * b| = |a| * |b|
abs_of_nonneg : ∀ {α : Type u_1} [inst : Lattice α] [inst_1 : AddGroup α] {a : α} [inst_2 : AddLeftMono α],
  0 ≤ a → |a| = a