Theorem: Complex.stolzCone_subset_stolzSet_aux'
File: Mathlib/Analysis/Complex/AbelLimit.lean

tactic: refine ⟨2 * sqrt (1 + s ^ 2) + 1, 1 / (1 + s ^ 2), by positivity, by positivity,
  fun x y hx₀ hx₁ hy ↦ ?_⟩
state_before: s : ℝ
⊢ ∃ M ε, 0 < M ∧ 0 < ε ∧ ∀ (x y : ℝ), 0 < x → x < ε → |y| < s * x → √(x ^ 2 + y ^ 2) < M * (1 - √((1 - x) ^ 2 + y ^ 2))
state_after: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ √(x ^ 2 + y ^ 2) < (2 * √(1 + s ^ 2) + 1) * (1 - √((1 - x) ^ 2 + y ^ 2))

tactic: have H : sqrt ((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2 := by
  calc sqrt ((1 - x) ^ 2 + y ^ 2)
    _ ≤ sqrt ((1 - x) ^ 2 + (s * x) ^ 2) := sqrt_le_sqrt <| by rw [← _root_.sq_abs y]; gcongr
    _ = sqrt (1 - 2 * x + (1 + s ^ 2) * x * x) := by congr 1; ring
    _ ≤ sqrt (1 - 2 * x + (1 + s ^ 2) * (1 / (1 + s ^ 2)) * x) := sqrt_le_sqrt <| by gcongr
    _ = sqrt (1 - x) := by congr 1; field_simp; ring
    _ ≤ 1 - x / 2 := by
      simp_rw [sub_eq_add_neg, ← neg_div]
      refine sqrt_one_add_le <| neg_le_neg_iff.mpr (hx₁.trans_le ?_).le
      rw [div_le_one (by positivity)]
      exact le_add_of_nonneg_right <| sq_nonneg s
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ √(x ^ 2 + y ^ 2) < (2 * √(1 + s ^ 2) + 1) * (1 - √((1 - x) ^ 2 + y ^ 2))
state_after: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
H : √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
⊢ √(x ^ 2 + y ^ 2) < (2 * √(1 + s ^ 2) + 1) * (1 - √((1 - x) ^ 2 + y ^ 2))

tactic: calc sqrt (x ^ 2 + y ^ 2)
  _ ≤ sqrt (x ^ 2 + (s * x) ^ 2) := sqrt_le_sqrt <| by rw [← _root_.sq_abs y]; gcongr
  _ = sqrt ((1 + s ^ 2) * x ^ 2) := by congr; ring
  _ = sqrt (1 + s ^ 2) * x := by rw [sqrt_mul' _ (sq_nonneg x), sqrt_sq hx₀.le]
  _ = 2 * sqrt (1 + s ^ 2) * (x / 2) := by ring
  _ < (2 * sqrt (1 + s ^ 2) + 1) * (x / 2) := by gcongr; exact lt_add_one _
  _ ≤ _ := by gcongr; exact le_sub_comm.mpr H
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
H : √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
⊢ √(x ^ 2 + y ^ 2) < (2 * √(1 + s ^ 2) + 1) * (1 - √((1 - x) ^ 2 + y ^ 2))
state_after: no goals

tactic: positivity
state_before: s : ℝ
⊢ 0 < 2 * √(1 + s ^ 2) + 1
state_after: no goals

tactic: positivity
state_before: s : ℝ
⊢ 0 < 1 / (1 + s ^ 2)
state_after: no goals

tactic: calc sqrt ((1 - x) ^ 2 + y ^ 2)
  _ ≤ sqrt ((1 - x) ^ 2 + (s * x) ^ 2) := sqrt_le_sqrt <| by rw [← _root_.sq_abs y]; gcongr
  _ = sqrt (1 - 2 * x + (1 + s ^ 2) * x * x) := by congr 1; ring
  _ ≤ sqrt (1 - 2 * x + (1 + s ^ 2) * (1 / (1 + s ^ 2)) * x) := sqrt_le_sqrt <| by gcongr
  _ = sqrt (1 - x) := by congr 1; field_simp; ring
  _ ≤ 1 - x / 2 := by
    simp_rw [sub_eq_add_neg, ← neg_div]
    refine sqrt_one_add_le <| neg_le_neg_iff.mpr (hx₁.trans_le ?_).le
    rw [div_le_one (by positivity)]
    exact le_add_of_nonneg_right <| sq_nonneg s
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
state_after: no goals

tactic: rw [← _root_.sq_abs y]
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ (1 - x) ^ 2 + y ^ 2 ≤ (1 - x) ^ 2 + (s * x) ^ 2
state_after: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ (1 - x) ^ 2 + |y| ^ 2 ≤ (1 - x) ^ 2 + (s * x) ^ 2

tactic: gcongr
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ (1 - x) ^ 2 + |y| ^ 2 ≤ (1 - x) ^ 2 + (s * x) ^ 2
state_after: no goals

tactic: congr 1
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ √((1 - x) ^ 2 + (s * x) ^ 2) = √(1 - 2 * x + (1 + s ^ 2) * x * x)
state_after: case e_x
s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ (1 - x) ^ 2 + (s * x) ^ 2 = 1 - 2 * x + (1 + s ^ 2) * x * x

tactic: ring
state_before: case e_x
s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ (1 - x) ^ 2 + (s * x) ^ 2 = 1 - 2 * x + (1 + s ^ 2) * x * x
state_after: no goals

tactic: gcongr
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ 1 - 2 * x + (1 + s ^ 2) * x * x ≤ 1 - 2 * x + (1 + s ^ 2) * (1 / (1 + s ^ 2)) * x
state_after: no goals

tactic: congr 1
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ √(1 - 2 * x + (1 + s ^ 2) * (1 / (1 + s ^ 2)) * x) = √(1 - x)
state_after: case e_x
s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ 1 - 2 * x + (1 + s ^ 2) * (1 / (1 + s ^ 2)) * x = 1 - x

tactic: field_simp
state_before: case e_x
s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ 1 - 2 * x + (1 + s ^ 2) * (1 / (1 + s ^ 2)) * x = 1 - x
state_after: case e_x
s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ 1 - 2 * x + x = 1 - x

tactic: ring
state_before: case e_x
s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ 1 - 2 * x + x = 1 - x
state_after: no goals

tactic: simp_rw [sub_eq_add_neg, ← neg_div]
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ √(1 - x) ≤ 1 - x / 2
state_after: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ √(1 + -x) ≤ 1 + -x / 2

tactic: refine sqrt_one_add_le <| neg_le_neg_iff.mpr (hx₁.trans_le ?_).le
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ √(1 + -x) ≤ 1 + -x / 2
state_after: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ 1 / (1 + s ^ 2) ≤ 1

tactic: rw [div_le_one (by positivity)]
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ 1 / (1 + s ^ 2) ≤ 1
state_after: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ 1 ≤ 1 + s ^ 2

tactic: exact le_add_of_nonneg_right <| sq_nonneg s
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ 1 ≤ 1 + s ^ 2
state_after: no goals

tactic: positivity
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
⊢ 0 < 1 + s ^ 2
state_after: no goals

tactic: rw [← _root_.sq_abs y]
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
H : √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
⊢ x ^ 2 + y ^ 2 ≤ x ^ 2 + (s * x) ^ 2
state_after: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
H : √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
⊢ x ^ 2 + |y| ^ 2 ≤ x ^ 2 + (s * x) ^ 2

tactic: gcongr
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
H : √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
⊢ x ^ 2 + |y| ^ 2 ≤ x ^ 2 + (s * x) ^ 2
state_after: no goals

tactic: congr
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
H : √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
⊢ √(x ^ 2 + (s * x) ^ 2) = √((1 + s ^ 2) * x ^ 2)
state_after: case e_x
s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
H : √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
⊢ x ^ 2 + (s * x) ^ 2 = (1 + s ^ 2) * x ^ 2

tactic: ring
state_before: case e_x
s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
H : √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
⊢ x ^ 2 + (s * x) ^ 2 = (1 + s ^ 2) * x ^ 2
state_after: no goals

tactic: rw [sqrt_mul' _ (sq_nonneg x), sqrt_sq hx₀.le]
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
H : √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
⊢ √((1 + s ^ 2) * x ^ 2) = √(1 + s ^ 2) * x
state_after: no goals

tactic: ring
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
H : √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
⊢ √(1 + s ^ 2) * x = 2 * √(1 + s ^ 2) * (x / 2)
state_after: no goals

tactic: gcongr
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
H : √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
⊢ 2 * √(1 + s ^ 2) * (x / 2) < (2 * √(1 + s ^ 2) + 1) * (x / 2)
state_after: case bc
s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
H : √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
⊢ 2 * √(1 + s ^ 2) < 2 * √(1 + s ^ 2) + 1

tactic: exact lt_add_one _
state_before: case bc
s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
H : √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
⊢ 2 * √(1 + s ^ 2) < 2 * √(1 + s ^ 2) + 1
state_after: no goals

tactic: gcongr
state_before: s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
H : √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
⊢ (2 * √(1 + s ^ 2) + 1) * (x / 2) ≤ (2 * √(1 + s ^ 2) + 1) * (1 - √((1 - x) ^ 2 + y ^ 2))
state_after: case h
s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
H : √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
⊢ x / 2 ≤ 1 - √((1 - x) ^ 2 + y ^ 2)

tactic: exact le_sub_comm.mpr H
state_before: case h
s x y : ℝ
hx₀ : 0 < x
hx₁ : x < 1 / (1 + s ^ 2)
hy : |y| < s * x
H : √((1 - x) ^ 2 + y ^ 2) ≤ 1 - x / 2
⊢ x / 2 ≤ 1 - √((1 - x) ^ 2 + y ^ 2)
state_after: no goals