-- File: optlib/Optlib/Algorithm/BCD/Convergence.lean
Theorem statement:
theorem extracted_formal_statement_212 {a b c : ℝ} (h : a ^ 2 ≤ b * c) (hpos : 0 ≤ b + c) (this : 0 ≤ (b - c) ^ 2)
  (h_original_goal : 4 * b * c ≤ (b + c) ^ 2) : 4 * b * c ≤ b ^ 2 + 2 * b * c + c ^ 2 := sorry

Tactic state before:
a b c : ℝ
h : a ^ 2 ≤ b * c
hpos : 0 ≤ b + c
this : 0 ≤ (b - c) ^ 2
⊢ 4 * b * c ≤ (b + c) ^ 2

Tactic: rw [add_sq]

Tactic state after:
[a b c : ℝ
 h : a ^ 2 ≤ b * c
 hpos : 0 ≤ b + c
 this : 0 ≤ (b - c) ^ 2
 ⊢ 4 * b * c ≤ b ^ 2 + 2 * b * c + c ^ 2]

Premises used:
add_sq : ∀ {α : Type u} [inst : CommSemiring α] (a b : α), (a + b) ^ 2 = a ^ 2 + 2 * a * b + b ^ 2