Theorem: Complex.arg_conj
File: Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean

tactic: simp_rw [arg_eq_pi_iff, arg, neg_im, conj_im, conj_re, abs_conj, neg_div, neg_neg,
  Real.arcsin_neg]
state_before: a x✝ z x : ℂ
⊢ ((starRingEnd ℂ) x).arg = if x.arg = π then π else -x.arg
state_after: a x✝ z x : ℂ
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π

tactic: rcases lt_trichotomy x.re 0 with (hr | hr | hr) <;>
  rcases lt_trichotomy x.im 0 with (hi | hi | hi)
state_before: a x✝ z x : ℂ
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π
state_after: case inl.inl
a x✝ z x : ℂ
hr : x.re < 0
hi : x.im < 0
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π

case inl.inr.inl
a x✝ z x : ℂ
hr : x.re < 0
hi : x.im = 0
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π

case inl.inr.inr
a x✝ z x : ℂ
hr : x.re < 0
hi : 0 < x.im
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π

case inr.inl.inl
a x✝ z x : ℂ
hr : x.re = 0
hi : x.im < 0
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π

case inr.inl.inr.inl
a x✝ z x : ℂ
hr : x.re = 0
hi : x.im = 0
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π

case inr.inl.inr.inr
a x✝ z x : ℂ
hr : x.re = 0
hi : 0 < x.im
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π

case inr.inr.inl
a x✝ z x : ℂ
hr : 0 < x.re
hi : x.im < 0
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π

case inr.inr.inr.inl
a x✝ z x : ℂ
hr : 0 < x.re
hi : x.im = 0
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π

case inr.inr.inr.inr
a x✝ z x : ℂ
hr : 0 < x.re
hi : 0 < x.im
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π

tactic: simp [hr, hr.not_le, hi.le, hi.ne, not_le.2 hi, add_comm]
state_before: case inl.inl
a x✝ z x : ℂ
hr : x.re < 0
hi : x.im < 0
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π
state_after: no goals

tactic: simp [hr, hr.not_le, hi]
state_before: case inl.inr.inl
a x✝ z x : ℂ
hr : x.re < 0
hi : x.im = 0
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π
state_after: no goals

tactic: simp [hr, hr.not_le, hi.ne.symm, hi.le, not_le.2 hi, sub_eq_neg_add]
state_before: case inl.inr.inr
a x✝ z x : ℂ
hr : x.re < 0
hi : 0 < x.im
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π
state_after: no goals

tactic: simp [hr]
state_before: case inr.inl.inl
a x✝ z x : ℂ
hr : x.re = 0
hi : x.im < 0
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π
state_after: no goals

tactic: simp [hr]
state_before: case inr.inl.inr.inl
a x✝ z x : ℂ
hr : x.re = 0
hi : x.im = 0
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π
state_after: no goals

tactic: simp [hr]
state_before: case inr.inl.inr.inr
a x✝ z x : ℂ
hr : x.re = 0
hi : 0 < x.im
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π
state_after: no goals

tactic: simp [hr, hr.le, hi.ne]
state_before: case inr.inr.inl
a x✝ z x : ℂ
hr : 0 < x.re
hi : x.im < 0
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π
state_after: no goals

tactic: simp [hr, hr.le, hr.le.not_lt]
state_before: case inr.inr.inr.inl
a x✝ z x : ℂ
hr : 0 < x.re
hi : x.im = 0
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π
state_after: no goals

tactic: simp [hr, hr.le, hr.le.not_lt]
state_before: case inr.inr.inr.inr
a x✝ z x : ℂ
hr : 0 < x.re
hi : 0 < x.im
⊢ (if 0 ≤ x.re then -Real.arcsin (x.im / abs x)
    else if 0 ≤ -x.im then Real.arcsin (x.im / abs x) + π else Real.arcsin (x.im / abs x) - π) =
    if x.re < 0 ∧ x.im = 0 then π
    else
      -if 0 ≤ x.re then Real.arcsin (x.im / abs x)
        else if 0 ≤ x.im then -Real.arcsin (x.im / abs x) + π else -Real.arcsin (x.im / abs x) - π
state_after: no goals