Skip to content

Instantly share code, notes, and snippets.

@kbuzzard
Created April 13, 2020 14:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kbuzzard/b995aa029459a043b807695ea6d84ae7 to your computer and use it in GitHub Desktop.
Save kbuzzard/b995aa029459a043b807695ea6d84ae7 to your computer and use it in GitHub Desktop.
Lean trying to prove sin = cos
[type_context.is_def_eq] Sort ? =?= Prop ... success (approximate mode)
[type_context.is_def_eq] Type ? =?= Type ... success (approximate mode)
[type_context.is_def_eq] Type =?= Type ? ... success (approximate mode)
[type_context.is_def_eq_detail] process_assignment ?m_1 := ℂ
[type_context.is_def_eq_detail] assign: ?m_1 := ℂ
[type_context.is_def_eq] ?m_1 =?= ℂ ... success (approximate mode)
[type_context.is_def_eq_detail] process_assignment ?m_1 := complex.nondiscrete_normed_field
[type_context.is_def_eq_detail] [1]: nondiscrete_normed_field ?m_1 =?= nondiscrete_normed_field ℂ
[type_context.is_def_eq_detail] [2]: nondiscrete_normed_field =?= nondiscrete_normed_field
[type_context.is_def_eq_detail] assign: ?m_1 := complex.nondiscrete_normed_field
[type_context.is_def_eq] ?m_1 =?= complex.nondiscrete_normed_field ... success (approximate mode)
[type_context.is_def_eq_detail] process_assignment ?m_1 := ℂ
[type_context.is_def_eq_detail] assign: ?m_1 := ℂ
[type_context.is_def_eq_detail] process_assignment ?m_1 := ℂ
[type_context.is_def_eq_detail] assign: ?m_1 := ℂ
[type_context.is_def_eq] ?m_1 → ?m_2 =?= ℂ → ℂ ... success (approximate mode)
[type_context.is_def_eq] ℂ → ℂ =?= ?m_1 → ?m_2 ... success (approximate mode)
[type_context.is_def_eq_detail] process_assignment ?m_1 := sin
[type_context.is_def_eq_detail] assign: ?m_1 := sin
[type_context.is_def_eq] ?m_1 =?= sin ... success (approximate mode)
[type_context.is_def_eq] ℂ =?= ?m_1 ... success (approximate mode)
[type_context.is_def_eq] ℂ =?= ?m_1 ... success (approximate mode)
[type_context.is_def_eq_detail] process_assignment ?m_1 := x
[type_context.is_def_eq_detail] assign: ?m_1 := x
[type_context.is_def_eq] ?m_1 =?= x ... success (approximate mode)
[type_context.is_def_eq_detail] [1]: differentiable_at ℂ sin x =?= differentiable_at ℂ cos ?m_8
[type_context.is_def_eq_detail] process_assignment ?m_1 := normed_ring.to_normed_group
[type_context.is_def_eq_detail] [2]: normed_group ?m_1 =?= normed_group ℂ
[type_context.is_def_eq_detail] [3]: normed_group =?= normed_group
[type_context.is_def_eq_detail] assign: ?m_1 := normed_ring.to_normed_group
[type_context.is_def_eq_detail] process_assignment ?m_1 := normed_field.to_normed_space
[type_context.is_def_eq_detail] [2]: normed_space ?m_1 ?m_2 =?= normed_space ℂ ℂ
[type_context.is_def_eq_detail] [3]: normed_space =?= normed_space
[type_context.is_def_eq_detail] [3]: nondiscrete_normed_field.to_normed_field ?m_1 =?= nondiscrete_normed_field.to_normed_field ℂ
[type_context.is_def_eq_detail] [3]: normed_ring.to_normed_group =?= normed_ring.to_normed_group
[type_context.is_def_eq_detail] [4]: normed_field.to_normed_ring =?= normed_field.to_normed_ring
[type_context.is_def_eq_detail] [5]: complex.normed_field =?= nondiscrete_normed_field.to_normed_field ℂ
[type_context.is_def_eq_detail] unfold left: complex.normed_field
[type_context.is_def_eq_detail] [6]: {to_has_norm := {norm := abs},
to_field := {add := field.add complex.field,
add_assoc := _,
zero := field.zero ℂ complex.field,
zero_add := _,
add_zero := _,
neg := field.neg complex.field,
add_left_neg := _,
add_comm := _,
mul := field.mul complex.field,
mul_assoc := _,
one := field.one ℂ complex.field,
one_mul := _,
mul_one := _,
left_distrib := _,
right_distrib := _,
mul_comm := _,
inv := field.inv complex.field,
zero_ne_one := _,
mul_inv_cancel := _,
inv_zero := _},
to_metric_space := complex.metric_space,
dist_eq := normed_field._proof_1,
norm_mul' := abs_mul} =?= nondiscrete_normed_field.to_normed_field ℂ
[type_context.is_def_eq_detail] [7]: {to_has_norm := {norm := abs},
to_field := {add := field.add complex.field,
add_assoc := _,
zero := field.zero ℂ complex.field,
zero_add := _,
add_zero := _,
neg := field.neg complex.field,
add_left_neg := _,
add_comm := _,
mul := field.mul complex.field,
mul_assoc := _,
one := field.one ℂ complex.field,
one_mul := _,
mul_one := _,
left_distrib := _,
right_distrib := _,
mul_comm := _,
inv := field.inv complex.field,
zero_ne_one := _,
mul_inv_cancel := _,
inv_zero := _},
to_metric_space := complex.metric_space,
dist_eq := normed_field._proof_1,
norm_mul' := abs_mul} =?= complex.normed_field
[type_context.is_def_eq_detail] unfold right: complex.normed_field
[type_context.is_def_eq_detail] assign: ?m_1 := normed_field.to_normed_space
[type_context.is_def_eq_detail] process_assignment ?m_1 := normed_ring.to_normed_group
[type_context.is_def_eq_detail] [2]: normed_group ?m_1 =?= normed_group ℂ
[type_context.is_def_eq_detail] [3]: normed_group =?= normed_group
[type_context.is_def_eq_detail] assign: ?m_1 := normed_ring.to_normed_group
[type_context.is_def_eq_detail] process_assignment ?m_1 := normed_field.to_normed_space
[type_context.is_def_eq_detail] [2]: normed_space ?m_1 ?m_2 =?= normed_space ℂ ℂ
[type_context.is_def_eq_detail] [3]: normed_space =?= normed_space
[type_context.is_def_eq_detail] [3]: nondiscrete_normed_field.to_normed_field ?m_1 =?= nondiscrete_normed_field.to_normed_field ℂ
[type_context.is_def_eq_detail] assign: ?m_1 := normed_field.to_normed_space
[type_context.is_def_eq_detail] [2]: sin =?= cos
[type_context.is_def_eq_detail] [3]: (exp (-z * I) - exp (z * I)) * I / 2 =?= (exp (z * I) + exp (-z * I)) / 2
[type_context.is_def_eq_detail] [4]: algebra.div ((exp (-z * I) - exp (z * I)) * I) 2 =?= algebra.div (exp (z * I) + exp (-z * I)) 2
[type_context.is_def_eq_detail] [5]: (exp (-z * I) - exp (z * I)) * I =?= exp (z * I) + exp (-z * I)
[type_context.is_def_eq_detail] [6]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (-z * I) - exp (z * I)) I =?= (λ (z w : ℂ), {re := z.re + w.re, im := z.im + w.im}) (exp (z * I)) (exp (-z * I))
[type_context.is_def_eq_detail] after whnf_core: {re := (exp (-z * I) - exp (z * I)).re * I.re - (exp (-z * I) - exp (z * I)).im * I.im,
im := (exp (-z * I) - exp (z * I)).re * I.im + (exp (-z * I) - exp (z * I)).im * I.re} =?= {re := (exp (z * I)).re + (exp (-z * I)).re, im := (exp (z * I)).im + (exp (-z * I)).im}
[type_context.is_def_eq_detail] [7]: (exp (-z * I) - exp (z * I)).re * I.re - (exp (-z * I) - exp (z * I)).im * I.im =?= (exp (z * I)).re + (exp (-z * I)).re
[type_context.is_def_eq_detail] [8]: algebra.sub ((exp (-z * I) - exp (z * I)).re * I.re) ((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [9]: (exp (-z * I) - exp (z * I)).re * I.re + -((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [10]: add_semigroup.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [11]: add_monoid.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [12]: add_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [13]: add_comm_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [14]: ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [15]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [16]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [17]: (exp (-z * I) - exp (z * I)).re * I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [18]: no_zero_divisors.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [19]: domain.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [20]: linear_ordered_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [21]: linear_ordered_comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [22]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [23]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [24]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] on failure: {re := (exp (-z * I) - exp (z * I)).re * I.re - (exp (-z * I) - exp (z * I)).im * I.im,
im := (exp (-z * I) - exp (z * I)).re * I.im + (exp (-z * I) - exp (z * I)).im * I.re} =?= {re := (exp (z * I)).re + (exp (-z * I)).re, im := (exp (z * I)).im + (exp (-z * I)).im}
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [5]: (exp (-z * I) - exp (z * I)) * I * 2⁻¹ =?= (exp (z * I) + exp (-z * I)) * 2⁻¹
[type_context.is_def_eq_detail] [6]: mul_zero_class.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [7]: semiring.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= semiring.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [8]: ring.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= ring.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [9]: division_ring.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= division_ring.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [10]: field.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= field.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [11]: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [12]: (exp (-z * I) - exp (z * I)) * I * 2⁻¹ =?= (exp (z * I) + exp (-z * I)) * 2⁻¹
[type_context.is_def_eq_detail] [13]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) ((exp (-z * I) - exp (z * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re - ((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im,
im := ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.im + ((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.re} =?= {re := (exp (z * I) + exp (-z * I)).re * 2⁻¹.re - (exp (z * I) + exp (-z * I)).im * 2⁻¹.im,
im := (exp (z * I) + exp (-z * I)).re * 2⁻¹.im + (exp (z * I) + exp (-z * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [14]: ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re - ((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im =?= (exp (z * I) + exp (-z * I)).re * 2⁻¹.re - (exp (z * I) + exp (-z * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [15]: algebra.sub (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) ((exp (z * I) + exp (-z * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [16]: ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re =?= (exp (z * I) + exp (-z * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [17]: no_zero_divisors.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [18]: domain.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= domain.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [19]: linear_ordered_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [20]: linear_ordered_comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [21]: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [22]: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [23]: ((exp (-z * I) - exp (z * I)) * I).re =?= (exp (z * I) + exp (-z * I)).re
[type_context.is_def_eq_detail] [24]: (exp (-z * I) - exp (z * I)).re * I.re - (exp (-z * I) - exp (z * I)).im * I.im =?= (exp (z * I)).re + (exp (-z * I)).re
[type_context.is_def_eq_detail] [25]: algebra.sub ((exp (-z * I) - exp (z * I)).re * I.re) ((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [26]: (exp (-z * I) - exp (z * I)).re * I.re + -((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [27]: add_semigroup.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [28]: add_monoid.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [29]: add_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [30]: add_comm_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [31]: ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [32]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [33]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [34]: (exp (-z * I) - exp (z * I)).re * I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [35]: no_zero_divisors.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [36]: domain.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [37]: linear_ordered_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [38]: linear_ordered_comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [39]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [40]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [41]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [16]: ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re + -(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im) =?= (exp (z * I) + exp (-z * I)).re * 2⁻¹.re + -((exp (z * I) + exp (-z * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [17]: add_semigroup.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re)
(-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [18]: add_monoid.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re)
(-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [19]: add_group.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [20]: add_comm_group.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re)
(-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [21]: ring.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [22]: comm_ring.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [23]: comm_ring.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [24]: ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re =?= (exp (z * I) + exp (-z * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [25]: no_zero_divisors.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [26]: domain.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= domain.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [27]: linear_ordered_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [28]: linear_ordered_comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [29]: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [30]: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [31]: ((exp (-z * I) - exp (z * I)) * I).re =?= (exp (z * I) + exp (-z * I)).re
[type_context.is_def_eq_detail] [32]: (exp (-z * I) - exp (z * I)).re * I.re - (exp (-z * I) - exp (z * I)).im * I.im =?= (exp (z * I)).re + (exp (-z * I)).re
[type_context.is_def_eq_detail] [33]: algebra.sub ((exp (-z * I) - exp (z * I)).re * I.re) ((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [34]: (exp (-z * I) - exp (z * I)).re * I.re + -((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [35]: add_semigroup.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [36]: add_monoid.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [37]: add_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [38]: add_comm_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [39]: ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [40]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [41]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [42]: (exp (-z * I) - exp (z * I)).re * I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [43]: no_zero_divisors.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [44]: domain.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [45]: linear_ordered_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [46]: linear_ordered_comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [47]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [48]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [49]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: {re := ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re - ((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im,
im := ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.im + ((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.re} =?= {re := (exp (z * I) + exp (-z * I)).re * 2⁻¹.re - (exp (z * I) + exp (-z * I)).im * 2⁻¹.im,
im := (exp (z * I) + exp (-z * I)).re * 2⁻¹.im + (exp (z * I) + exp (-z * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] unfold left&right: differentiable_at
[type_context.is_def_eq_detail] [2]: ∃ (f' : ?m_2 →L[ℂ] ?m_4), has_fderiv_at sin f' x =?= ∃ (f' : ℂ →L[ℂ] ℂ), has_fderiv_at cos f' ?m_8
[type_context.is_def_eq_detail] [3]: Exists =?= Exists
[type_context.is_def_eq_detail] [3]: ?m_2 →L[ℂ] ?m_4 =?= ℂ →L[ℂ] ℂ
[type_context.is_def_eq_detail] [4]: continuous_linear_map =?= continuous_linear_map
[type_context.is_def_eq_detail] [4]: normed_ring.to_ring ℂ =?= normed_ring.to_ring ℂ
[type_context.is_def_eq_detail] [4]: uniform_space.to_topological_space ?m_1 =?= uniform_space.to_topological_space ℂ
[type_context.is_def_eq_detail] [4]: normed_group.to_add_comm_group ?m_1 =?= normed_group.to_add_comm_group ℂ
[type_context.is_def_eq_detail] [4]: uniform_space.to_topological_space ?m_1 =?= uniform_space.to_topological_space ℂ
[type_context.is_def_eq_detail] [4]: normed_group.to_add_comm_group ?m_1 =?= normed_group.to_add_comm_group ℂ
[type_context.is_def_eq_detail] [4]: normed_space.to_module ℂ ?m_1 =?= normed_space.to_module ℂ ℂ
[type_context.is_def_eq_detail] [4]: normed_space.to_module ℂ ?m_1 =?= normed_space.to_module ℂ ℂ
[type_context.is_def_eq_detail] [3]: has_fderiv_at sin f' x =?= has_fderiv_at cos f' ?m_8
[type_context.is_def_eq_detail] [4]: sin =?= cos
[type_context.is_def_eq_detail] [5]: (exp (-z * I) - exp (z * I)) * I / 2 =?= (exp (z * I) + exp (-z * I)) / 2
[type_context.is_def_eq_detail] [6]: algebra.div ((exp (-z * I) - exp (z * I)) * I) 2 =?= algebra.div (exp (z * I) + exp (-z * I)) 2
[type_context.is_def_eq_detail] [7]: (exp (-z * I) - exp (z * I)) * I =?= exp (z * I) + exp (-z * I)
[type_context.is_def_eq_detail] [8]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (-z * I) - exp (z * I)) I =?= (λ (z w : ℂ), {re := z.re + w.re, im := z.im + w.im}) (exp (z * I)) (exp (-z * I))
[type_context.is_def_eq_detail] after whnf_core: {re := (exp (-z * I) - exp (z * I)).re * I.re - (exp (-z * I) - exp (z * I)).im * I.im,
im := (exp (-z * I) - exp (z * I)).re * I.im + (exp (-z * I) - exp (z * I)).im * I.re} =?= {re := (exp (z * I)).re + (exp (-z * I)).re, im := (exp (z * I)).im + (exp (-z * I)).im}
[type_context.is_def_eq_detail] [9]: (exp (-z * I) - exp (z * I)).re * I.re - (exp (-z * I) - exp (z * I)).im * I.im =?= (exp (z * I)).re + (exp (-z * I)).re
[type_context.is_def_eq_detail] [10]: algebra.sub ((exp (-z * I) - exp (z * I)).re * I.re) ((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [11]: (exp (-z * I) - exp (z * I)).re * I.re + -((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [12]: add_semigroup.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [13]: add_monoid.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [14]: add_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [15]: add_comm_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [16]: ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [17]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [18]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [19]: (exp (-z * I) - exp (z * I)).re * I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [20]: no_zero_divisors.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [21]: domain.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [22]: linear_ordered_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [23]: linear_ordered_comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [24]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [25]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [26]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] on failure: {re := (exp (-z * I) - exp (z * I)).re * I.re - (exp (-z * I) - exp (z * I)).im * I.im,
im := (exp (-z * I) - exp (z * I)).re * I.im + (exp (-z * I) - exp (z * I)).im * I.re} =?= {re := (exp (z * I)).re + (exp (-z * I)).re, im := (exp (z * I)).im + (exp (-z * I)).im}
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [7]: (exp (-z * I) - exp (z * I)) * I * 2⁻¹ =?= (exp (z * I) + exp (-z * I)) * 2⁻¹
[type_context.is_def_eq_detail] [8]: mul_zero_class.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [9]: semiring.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= semiring.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [10]: ring.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= ring.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [11]: division_ring.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= division_ring.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [12]: field.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= field.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [13]: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [14]: (exp (-z * I) - exp (z * I)) * I * 2⁻¹ =?= (exp (z * I) + exp (-z * I)) * 2⁻¹
[type_context.is_def_eq_detail] [15]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) ((exp (-z * I) - exp (z * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re - ((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im,
im := ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.im + ((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.re} =?= {re := (exp (z * I) + exp (-z * I)).re * 2⁻¹.re - (exp (z * I) + exp (-z * I)).im * 2⁻¹.im,
im := (exp (z * I) + exp (-z * I)).re * 2⁻¹.im + (exp (z * I) + exp (-z * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [16]: ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re - ((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im =?= (exp (z * I) + exp (-z * I)).re * 2⁻¹.re - (exp (z * I) + exp (-z * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [17]: algebra.sub (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) ((exp (z * I) + exp (-z * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [18]: ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re =?= (exp (z * I) + exp (-z * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [19]: no_zero_divisors.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [20]: domain.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= domain.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [21]: linear_ordered_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [22]: linear_ordered_comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [23]: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [24]: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [25]: ((exp (-z * I) - exp (z * I)) * I).re =?= (exp (z * I) + exp (-z * I)).re
[type_context.is_def_eq_detail] [26]: (exp (-z * I) - exp (z * I)).re * I.re - (exp (-z * I) - exp (z * I)).im * I.im =?= (exp (z * I)).re + (exp (-z * I)).re
[type_context.is_def_eq_detail] [27]: algebra.sub ((exp (-z * I) - exp (z * I)).re * I.re) ((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [28]: (exp (-z * I) - exp (z * I)).re * I.re + -((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [29]: add_semigroup.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [30]: add_monoid.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [31]: add_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [32]: add_comm_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [33]: ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [34]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [35]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [36]: (exp (-z * I) - exp (z * I)).re * I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [37]: no_zero_divisors.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [38]: domain.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [39]: linear_ordered_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [40]: linear_ordered_comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [41]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [42]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [43]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [18]: ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re + -(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im) =?= (exp (z * I) + exp (-z * I)).re * 2⁻¹.re + -((exp (z * I) + exp (-z * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [19]: add_semigroup.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re)
(-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [20]: add_monoid.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re)
(-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [21]: add_group.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [22]: add_comm_group.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re)
(-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [23]: ring.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [24]: comm_ring.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [25]: comm_ring.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [26]: ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re =?= (exp (z * I) + exp (-z * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [27]: no_zero_divisors.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [28]: domain.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= domain.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [29]: linear_ordered_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [30]: linear_ordered_comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [31]: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [32]: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [33]: ((exp (-z * I) - exp (z * I)) * I).re =?= (exp (z * I) + exp (-z * I)).re
[type_context.is_def_eq_detail] [34]: (exp (-z * I) - exp (z * I)).re * I.re - (exp (-z * I) - exp (z * I)).im * I.im =?= (exp (z * I)).re + (exp (-z * I)).re
[type_context.is_def_eq_detail] [35]: algebra.sub ((exp (-z * I) - exp (z * I)).re * I.re) ((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [36]: (exp (-z * I) - exp (z * I)).re * I.re + -((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [37]: add_semigroup.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [38]: add_monoid.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [39]: add_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [40]: add_comm_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [41]: ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [42]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [43]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [44]: (exp (-z * I) - exp (z * I)).re * I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [45]: no_zero_divisors.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [46]: domain.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [47]: linear_ordered_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [48]: linear_ordered_comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [49]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [50]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [51]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: {re := ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re - ((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im,
im := ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.im + ((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.re} =?= {re := (exp (z * I) + exp (-z * I)).re * 2⁻¹.re - (exp (z * I) + exp (-z * I)).im * 2⁻¹.im,
im := (exp (z * I) + exp (-z * I)).re * 2⁻¹.im + (exp (z * I) + exp (-z * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] unfold left&right: has_fderiv_at
[type_context.is_def_eq_detail] [4]: has_fderiv_at_filter sin f' x (nhds x) =?= has_fderiv_at_filter cos f' ?m_8 (nhds ?m_8)
[type_context.is_def_eq_detail] [5]: sin =?= cos
[type_context.is_def_eq_detail] [6]: (exp (-z * I) - exp (z * I)) * I / 2 =?= (exp (z * I) + exp (-z * I)) / 2
[type_context.is_def_eq_detail] [7]: algebra.div ((exp (-z * I) - exp (z * I)) * I) 2 =?= algebra.div (exp (z * I) + exp (-z * I)) 2
[type_context.is_def_eq_detail] [8]: (exp (-z * I) - exp (z * I)) * I =?= exp (z * I) + exp (-z * I)
[type_context.is_def_eq_detail] [9]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (-z * I) - exp (z * I)) I =?= (λ (z w : ℂ), {re := z.re + w.re, im := z.im + w.im}) (exp (z * I)) (exp (-z * I))
[type_context.is_def_eq_detail] after whnf_core: {re := (exp (-z * I) - exp (z * I)).re * I.re - (exp (-z * I) - exp (z * I)).im * I.im,
im := (exp (-z * I) - exp (z * I)).re * I.im + (exp (-z * I) - exp (z * I)).im * I.re} =?= {re := (exp (z * I)).re + (exp (-z * I)).re, im := (exp (z * I)).im + (exp (-z * I)).im}
[type_context.is_def_eq_detail] [10]: (exp (-z * I) - exp (z * I)).re * I.re - (exp (-z * I) - exp (z * I)).im * I.im =?= (exp (z * I)).re + (exp (-z * I)).re
[type_context.is_def_eq_detail] [11]: algebra.sub ((exp (-z * I) - exp (z * I)).re * I.re) ((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [12]: (exp (-z * I) - exp (z * I)).re * I.re + -((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [13]: add_semigroup.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [14]: add_monoid.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [15]: add_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [16]: add_comm_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [17]: ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [18]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [19]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [20]: (exp (-z * I) - exp (z * I)).re * I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [21]: no_zero_divisors.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [22]: domain.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [23]: linear_ordered_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [24]: linear_ordered_comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [25]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [26]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [27]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] on failure: {re := (exp (-z * I) - exp (z * I)).re * I.re - (exp (-z * I) - exp (z * I)).im * I.im,
im := (exp (-z * I) - exp (z * I)).re * I.im + (exp (-z * I) - exp (z * I)).im * I.re} =?= {re := (exp (z * I)).re + (exp (-z * I)).re, im := (exp (z * I)).im + (exp (-z * I)).im}
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [8]: (exp (-z * I) - exp (z * I)) * I * 2⁻¹ =?= (exp (z * I) + exp (-z * I)) * 2⁻¹
[type_context.is_def_eq_detail] [9]: mul_zero_class.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [10]: semiring.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= semiring.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [11]: ring.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= ring.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [12]: division_ring.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= division_ring.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [13]: field.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= field.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [14]: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] [15]: (exp (-z * I) - exp (z * I)) * I * 2⁻¹ =?= (exp (z * I) + exp (-z * I)) * 2⁻¹
[type_context.is_def_eq_detail] [16]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) ((exp (-z * I) - exp (z * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (z * I) + exp (-z * I)) 2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re - ((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im,
im := ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.im + ((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.re} =?= {re := (exp (z * I) + exp (-z * I)).re * 2⁻¹.re - (exp (z * I) + exp (-z * I)).im * 2⁻¹.im,
im := (exp (z * I) + exp (-z * I)).re * 2⁻¹.im + (exp (z * I) + exp (-z * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [17]: ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re - ((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im =?= (exp (z * I) + exp (-z * I)).re * 2⁻¹.re - (exp (z * I) + exp (-z * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [18]: algebra.sub (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) ((exp (z * I) + exp (-z * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [19]: ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re =?= (exp (z * I) + exp (-z * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [20]: no_zero_divisors.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [21]: domain.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= domain.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [22]: linear_ordered_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [23]: linear_ordered_comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [24]: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [25]: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [26]: ((exp (-z * I) - exp (z * I)) * I).re =?= (exp (z * I) + exp (-z * I)).re
[type_context.is_def_eq_detail] [27]: (exp (-z * I) - exp (z * I)).re * I.re - (exp (-z * I) - exp (z * I)).im * I.im =?= (exp (z * I)).re + (exp (-z * I)).re
[type_context.is_def_eq_detail] [28]: algebra.sub ((exp (-z * I) - exp (z * I)).re * I.re) ((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [29]: (exp (-z * I) - exp (z * I)).re * I.re + -((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [30]: add_semigroup.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [31]: add_monoid.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [32]: add_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [33]: add_comm_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [34]: ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [35]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [36]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [37]: (exp (-z * I) - exp (z * I)).re * I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [38]: no_zero_divisors.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [39]: domain.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [40]: linear_ordered_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [41]: linear_ordered_comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [42]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [43]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [44]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [19]: ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re + -(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im) =?= (exp (z * I) + exp (-z * I)).re * 2⁻¹.re + -((exp (z * I) + exp (-z * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [20]: add_semigroup.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re)
(-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [21]: add_monoid.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re)
(-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [22]: add_group.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [23]: add_comm_group.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re)
(-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [24]: ring.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [25]: comm_ring.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [26]: comm_ring.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [27]: ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re =?= (exp (z * I) + exp (-z * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [28]: no_zero_divisors.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [29]: domain.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= domain.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [30]: linear_ordered_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [31]: linear_ordered_comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [32]: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [33]: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [34]: ((exp (-z * I) - exp (z * I)) * I).re =?= (exp (z * I) + exp (-z * I)).re
[type_context.is_def_eq_detail] [35]: (exp (-z * I) - exp (z * I)).re * I.re - (exp (-z * I) - exp (z * I)).im * I.im =?= (exp (z * I)).re + (exp (-z * I)).re
[type_context.is_def_eq_detail] [36]: algebra.sub ((exp (-z * I) - exp (z * I)).re * I.re) ((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [37]: (exp (-z * I) - exp (z * I)).re * I.re + -((exp (-z * I) - exp (z * I)).im * I.im) =?= distrib.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [38]: add_semigroup.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [39]: add_monoid.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [40]: add_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [41]: add_comm_group.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [42]: ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [43]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [44]: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] [45]: (exp (-z * I) - exp (z * I)).re * I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [46]: no_zero_divisors.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [47]: domain.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [48]: linear_ordered_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [49]: linear_ordered_comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [50]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [51]: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] [52]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-z * I) - exp (z * I)).re I.re =?= (exp (z * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-z * I) - exp (z * I)).re * I.re) (-((exp (-z * I) - exp (z * I)).im * I.im)) =?= comm_ring.add (exp (z * I)).re (exp (-z * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-z * I) - exp (z * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (z * I) + exp (-z * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re) (-(((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (z * I) + exp (-z * I)).re * 2⁻¹.re) (-((exp (z * I) + exp (-z * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: {re := ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.re - ((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.im,
im := ((exp (-z * I) - exp (z * I)) * I).re * 2⁻¹.im + ((exp (-z * I) - exp (z * I)) * I).im * 2⁻¹.re} =?= {re := (exp (z * I) + exp (-z * I)).re * 2⁻¹.re - (exp (z * I) + exp (-z * I)).im * 2⁻¹.im,
im := (exp (z * I) + exp (-z * I)).re * 2⁻¹.im + (exp (z * I) + exp (-z * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] unfold left&right: has_fderiv_at_filter
[type_context.is_def_eq_detail] [5]: asymptotics.is_o (λ (x' : ?m_1), sin x' - sin x - ⇑f' (x' - x)) (λ (x' : ?m_1), x' - x) (nhds x) =?= asymptotics.is_o (λ (x' : ℂ), cos x' - cos ?m_8 - ⇑f' (x' - ?m_8)) (λ (x' : ℂ), x' - ?m_8) (nhds ?m_8)
[type_context.is_def_eq_detail] [6]: sin x' - sin x - ⇑f' (x' - x) =?= cos x' - cos ?m_8 - ⇑f' (x' - ?m_8)
[type_context.is_def_eq_detail] [7]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [8]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [9]: (exp (-x' * I) - exp (x' * I)) * I / 2 =?= (exp (x' * I) + exp (-x' * I)) / 2
[type_context.is_def_eq_detail] [10]: algebra.div ((exp (-x' * I) - exp (x' * I)) * I) 2 =?= algebra.div (exp (x' * I) + exp (-x' * I)) 2
[type_context.is_def_eq_detail] [11]: (exp (-x' * I) - exp (x' * I)) * I =?= exp (x' * I) + exp (-x' * I)
[type_context.is_def_eq_detail] [12]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (-x' * I) - exp (x' * I)) I =?= (λ (z w : ℂ), {re := z.re + w.re, im := z.im + w.im}) (exp (x' * I)) (exp (-x' * I))
[type_context.is_def_eq_detail] after whnf_core: {re := (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im,
im := (exp (-x' * I) - exp (x' * I)).re * I.im + (exp (-x' * I) - exp (x' * I)).im * I.re} =?= {re := (exp (x' * I)).re + (exp (-x' * I)).re, im := (exp (x' * I)).im + (exp (-x' * I)).im}
[type_context.is_def_eq_detail] [13]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [14]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [15]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [16]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [17]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [18]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [19]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [20]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [21]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [22]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [23]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [24]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [25]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [26]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [27]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [28]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [29]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [30]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: {re := (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im,
im := (exp (-x' * I) - exp (x' * I)).re * I.im + (exp (-x' * I) - exp (x' * I)).im * I.re} =?= {re := (exp (x' * I)).re + (exp (-x' * I)).re, im := (exp (x' * I)).im + (exp (-x' * I)).im}
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [11]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [12]: mul_zero_class.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [13]: semiring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= semiring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [14]: ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [15]: division_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= division_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [16]: field.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= field.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [17]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [18]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [19]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re})
((exp (-x' * I) - exp (x' * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (x' * I) + exp (-x' * I))
2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [20]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [21]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [22]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [23]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [24]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [25]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [26]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [27]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [28]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [29]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [30]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [31]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [32]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [33]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [34]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [35]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [36]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [37]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [38]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [39]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [40]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [41]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [42]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [43]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [44]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [45]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [46]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [47]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [22]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [23]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [24]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [25]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [26]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [27]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [28]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [29]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [30]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [31]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [32]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [33]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [34]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [35]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [36]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [37]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [38]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [39]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [40]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [41]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [42]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [43]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [44]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [45]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [46]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [49]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [50]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [51]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [52]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [53]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [54]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [55]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [8]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [9]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [10]: (exp (-x' * I) - exp (x' * I)) * I / 2 =?= (exp (x' * I) + exp (-x' * I)) / 2
[type_context.is_def_eq_detail] [11]: algebra.div ((exp (-x' * I) - exp (x' * I)) * I) 2 =?= algebra.div (exp (x' * I) + exp (-x' * I)) 2
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [12]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [13]: mul_zero_class.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [14]: semiring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= semiring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [15]: ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [16]: division_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= division_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [17]: field.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= field.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [18]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [19]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [20]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re})
((exp (-x' * I) - exp (x' * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (x' * I) + exp (-x' * I))
2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [21]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [22]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [23]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [24]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [25]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [26]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [27]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [28]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [29]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [30]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [31]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [32]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [33]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [34]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [35]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [36]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [37]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [38]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [39]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [40]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [41]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [42]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [43]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [44]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [45]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [46]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [50]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [51]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [52]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [53]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [54]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [55]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [56]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [9]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [10]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [11]: (exp (-x' * I) - exp (x' * I)) * I / 2 =?= (exp (x' * I) + exp (-x' * I)) / 2
[type_context.is_def_eq_detail] [12]: algebra.div ((exp (-x' * I) - exp (x' * I)) * I) 2 =?= algebra.div (exp (x' * I) + exp (-x' * I)) 2
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [13]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [14]: mul_zero_class.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [15]: semiring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= semiring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [16]: ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [17]: division_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= division_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [18]: field.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= field.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [19]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [20]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [21]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re})
((exp (-x' * I) - exp (x' * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (x' * I) + exp (-x' * I))
2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [22]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [23]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [24]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [25]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [26]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [27]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [28]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [29]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [30]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [31]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [32]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [33]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [34]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [35]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [36]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [37]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [38]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [39]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [40]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [41]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [42]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [43]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [44]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [45]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [46]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [50]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [51]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [52]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [53]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [54]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [55]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [56]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [57]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [10]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [11]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [12]: (exp (-x' * I) - exp (x' * I)) * I / 2 =?= (exp (x' * I) + exp (-x' * I)) / 2
[type_context.is_def_eq_detail] [13]: algebra.div ((exp (-x' * I) - exp (x' * I)) * I) 2 =?= algebra.div (exp (x' * I) + exp (-x' * I)) 2
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [14]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [15]: mul_zero_class.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [16]: semiring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= semiring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [17]: ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [18]: division_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= division_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [19]: field.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= field.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [20]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [21]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [22]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re})
((exp (-x' * I) - exp (x' * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (x' * I) + exp (-x' * I))
2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [23]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [24]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [25]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [26]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [27]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [28]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [29]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [30]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [31]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [32]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [33]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [34]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [35]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [36]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [37]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [38]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [39]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [40]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [41]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [42]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [43]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [44]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [45]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [46]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [50]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [51]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [52]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [53]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [54]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [55]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [56]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [57]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [58]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [11]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [12]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: (exp (-x' * I) - exp (x' * I)) * I / 2 =?= (exp (x' * I) + exp (-x' * I)) / 2
[type_context.is_def_eq_detail] [14]: algebra.div ((exp (-x' * I) - exp (x' * I)) * I) 2 =?= algebra.div (exp (x' * I) + exp (-x' * I)) 2
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [15]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [16]: mul_zero_class.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [17]: semiring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= semiring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [18]: ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [19]: division_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= division_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [20]: field.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= field.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [21]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [22]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [23]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re})
((exp (-x' * I) - exp (x' * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (x' * I) + exp (-x' * I))
2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [24]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [25]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [26]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [27]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [28]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [29]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [30]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [31]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [32]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [33]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [34]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [35]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [36]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [37]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [38]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [39]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [40]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [41]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [42]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [43]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [44]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [45]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [46]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [50]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [51]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [52]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [53]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [54]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [55]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [56]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [57]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [58]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [59]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [12]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [13]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: (exp (-x' * I) - exp (x' * I)) * I / 2 =?= (exp (x' * I) + exp (-x' * I)) / 2
[type_context.is_def_eq_detail] [15]: algebra.div ((exp (-x' * I) - exp (x' * I)) * I) 2 =?= algebra.div (exp (x' * I) + exp (-x' * I)) 2
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [16]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [17]: mul_zero_class.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [18]: semiring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= semiring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [19]: ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [20]: division_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= division_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [21]: field.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= field.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [22]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [23]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [24]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re})
((exp (-x' * I) - exp (x' * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (x' * I) + exp (-x' * I))
2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [25]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [26]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [27]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [28]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [29]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [30]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [31]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [32]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [33]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [34]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [35]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [36]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [37]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [38]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [39]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [40]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [41]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [42]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [43]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [44]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [45]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [46]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [50]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [51]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [52]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [53]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [54]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [55]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [56]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [57]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [58]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [59]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [60]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [13]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [14]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: (exp (-x' * I) - exp (x' * I)) * I / 2 =?= (exp (x' * I) + exp (-x' * I)) / 2
[type_context.is_def_eq_detail] [16]: algebra.div ((exp (-x' * I) - exp (x' * I)) * I) 2 =?= algebra.div (exp (x' * I) + exp (-x' * I)) 2
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [17]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [18]: mul_zero_class.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [19]: semiring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= semiring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [20]: ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [21]: division_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= division_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [22]: field.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= field.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [23]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [24]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [25]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re})
((exp (-x' * I) - exp (x' * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (x' * I) + exp (-x' * I))
2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [26]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [27]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [28]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [29]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [30]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [31]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [32]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [33]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [34]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [35]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [36]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [37]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [38]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [39]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [40]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [41]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [42]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [43]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [44]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [45]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [46]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [50]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [51]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [52]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [53]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [54]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [55]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [56]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [57]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [58]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [59]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [60]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [61]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [14]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [15]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: (exp (-x' * I) - exp (x' * I)) * I / 2 =?= (exp (x' * I) + exp (-x' * I)) / 2
[type_context.is_def_eq_detail] [17]: algebra.div ((exp (-x' * I) - exp (x' * I)) * I) 2 =?= algebra.div (exp (x' * I) + exp (-x' * I)) 2
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [18]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [19]: mul_zero_class.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [20]: semiring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= semiring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [21]: ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [22]: division_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= division_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [23]: field.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= field.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [24]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [25]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [26]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re})
((exp (-x' * I) - exp (x' * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (x' * I) + exp (-x' * I))
2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [27]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [28]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [29]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [30]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [31]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [32]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [33]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [34]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [35]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [36]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [37]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [38]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [39]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [40]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [41]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [42]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [43]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [44]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [45]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [46]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [47]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [50]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [51]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [52]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [53]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [54]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [55]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [56]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [57]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [58]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [59]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [60]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [61]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [62]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [15]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: (exp (-x' * I) - exp (x' * I)) * I / 2 =?= (exp (x' * I) + exp (-x' * I)) / 2
[type_context.is_def_eq_detail] [18]: algebra.div ((exp (-x' * I) - exp (x' * I)) * I) 2 =?= algebra.div (exp (x' * I) + exp (-x' * I)) 2
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [19]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [20]: mul_zero_class.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [21]: semiring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= semiring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [22]: ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [23]: division_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= division_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [24]: field.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= field.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [25]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [26]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [27]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re})
((exp (-x' * I) - exp (x' * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (x' * I) + exp (-x' * I))
2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [28]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [29]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [30]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [31]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [32]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [33]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [34]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [35]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [36]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [37]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [38]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [39]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [40]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [41]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [42]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [43]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [44]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [45]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [46]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [48]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [50]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [51]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [52]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [53]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [54]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [55]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [56]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [57]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [58]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [59]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [60]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [61]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [62]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [63]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [16]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: (exp (-x' * I) - exp (x' * I)) * I / 2 =?= (exp (x' * I) + exp (-x' * I)) / 2
[type_context.is_def_eq_detail] [19]: algebra.div ((exp (-x' * I) - exp (x' * I)) * I) 2 =?= algebra.div (exp (x' * I) + exp (-x' * I)) 2
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [20]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [21]: mul_zero_class.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [22]: semiring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= semiring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [23]: ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [24]: division_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= division_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [25]: field.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= field.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [26]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [27]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [28]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re})
((exp (-x' * I) - exp (x' * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (x' * I) + exp (-x' * I))
2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [29]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [30]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [31]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [32]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [33]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [34]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [35]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [36]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [37]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [38]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [39]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [40]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [41]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [42]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [43]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [44]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [45]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [46]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [49]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [50]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [51]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [52]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [53]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [54]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [55]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [56]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [57]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [58]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [59]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [60]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [61]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [62]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [63]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [64]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [17]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: (exp (-x' * I) - exp (x' * I)) * I / 2 =?= (exp (x' * I) + exp (-x' * I)) / 2
[type_context.is_def_eq_detail] [20]: algebra.div ((exp (-x' * I) - exp (x' * I)) * I) 2 =?= algebra.div (exp (x' * I) + exp (-x' * I)) 2
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [21]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [22]: mul_zero_class.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [23]: semiring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= semiring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [24]: ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [25]: division_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= division_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [26]: field.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= field.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [27]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [28]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [29]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re})
((exp (-x' * I) - exp (x' * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (x' * I) + exp (-x' * I))
2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [30]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [31]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [32]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [33]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [34]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [35]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [36]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [37]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [38]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [39]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [40]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [41]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [42]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [43]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [44]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [45]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [46]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [47]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [50]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [51]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [52]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [53]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [54]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [55]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [56]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [57]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [58]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [59]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [60]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [61]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [62]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [63]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [64]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [65]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [18]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: (exp (-x' * I) - exp (x' * I)) * I / 2 =?= (exp (x' * I) + exp (-x' * I)) / 2
[type_context.is_def_eq_detail] [21]: algebra.div ((exp (-x' * I) - exp (x' * I)) * I) 2 =?= algebra.div (exp (x' * I) + exp (-x' * I)) 2
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [22]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [23]: mul_zero_class.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [24]: semiring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= semiring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [25]: ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [26]: division_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= division_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [27]: field.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= field.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [28]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [29]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [30]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re})
((exp (-x' * I) - exp (x' * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (x' * I) + exp (-x' * I))
2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [31]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [32]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [33]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [34]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [35]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [36]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [37]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [38]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [39]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [40]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [41]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [42]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [43]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [44]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [45]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [46]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [47]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [48]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [50]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [51]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [52]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [53]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [54]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [55]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [56]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [57]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [58]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [59]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [60]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [61]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [62]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [63]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [64]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [65]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [66]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [19]: (λ (z w : ℂ), {re := z.re + w.re, im := z.im + w.im}) (sin x') (-sin x) =?= (λ (z w : ℂ), {re := z.re + w.re, im := z.im + w.im}) (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] after whnf_core: {re := (sin x').re + (-sin x).re, im := (sin x').im + (-sin x).im} =?= {re := (cos x').re + (-cos ?m_1).re, im := (cos x').im + (-cos ?m_1).im}
[type_context.is_def_eq_detail] [20]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [21]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [22]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [23]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [24]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [25]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [26]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [27]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [28]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [29]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [30]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [31]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [32]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [33]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [34]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [35]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [36]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [37]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [38]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [39]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [40]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [41]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [42]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [43]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [44]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [45]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [46]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [50]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [51]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [52]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [53]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [54]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [55]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [56]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [57]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [21]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [22]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [23]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [24]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [25]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [26]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [27]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [28]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [29]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [30]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [31]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [32]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [33]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [34]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [35]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [36]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [37]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [38]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [39]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [40]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [41]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [42]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [43]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [44]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [45]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [46]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [50]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [51]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [52]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [53]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [54]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [55]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [56]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [57]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [58]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [22]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [23]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [24]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [25]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [26]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [27]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [28]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [29]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [30]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [31]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [32]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [33]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [34]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [35]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [36]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [37]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [38]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [39]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [40]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [41]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [42]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [43]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [44]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [45]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [46]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [50]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [51]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [52]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [53]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [54]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [55]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [56]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [57]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [58]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [59]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [23]: comm_ring.add (sin x').re (-sin x).re =?= comm_ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [24]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [25]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [26]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [27]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [28]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [29]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [30]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [31]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [32]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [33]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [34]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [35]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [36]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [37]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [38]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [39]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [40]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [41]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [42]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [43]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [44]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [45]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [46]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [50]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [51]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [52]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [53]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [54]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [55]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [56]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [57]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [58]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [59]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [60]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [24]: comm_ring.add (sin x').re (-sin x).re =?= comm_ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [25]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [27]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [28]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [29]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [30]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [31]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [32]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [33]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [34]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [35]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [36]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [37]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [38]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [39]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [40]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [41]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [42]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [43]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [44]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [45]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [46]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [50]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [51]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [52]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [53]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [54]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [55]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [56]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [57]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [58]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [59]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [60]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [61]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [25]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [27]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [28]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [29]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [30]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [31]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [32]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [33]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [34]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [35]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [36]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [37]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [38]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [39]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [40]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [41]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [42]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [43]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [44]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [45]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [46]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [50]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [51]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [52]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [53]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [54]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [55]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [56]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [57]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [58]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [59]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [60]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [61]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: comm_ring.add (sin x').re (-sin x).re =?= comm_ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] on failure: {re := (sin x').re + (-sin x).re, im := (sin x').im + (-sin x).im} =?= {re := (cos x').re + (-cos ?m_1).re, im := (cos x').im + (-cos ?m_1).im}
[type_context.is_def_eq_detail] [7]: algebra.sub (sin x' - sin x) (⇑f' (x' - x)) =?= algebra.sub (cos x' - cos ?m_1) (⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] [8]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [9]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [10]: (exp (-x' * I) - exp (x' * I)) * I / 2 =?= (exp (x' * I) + exp (-x' * I)) / 2
[type_context.is_def_eq_detail] [11]: algebra.div ((exp (-x' * I) - exp (x' * I)) * I) 2 =?= algebra.div (exp (x' * I) + exp (-x' * I)) 2
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [12]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [13]: mul_zero_class.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [14]: semiring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= semiring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [15]: ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [16]: division_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= division_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [17]: field.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= field.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [18]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [19]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [20]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re})
((exp (-x' * I) - exp (x' * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (x' * I) + exp (-x' * I))
2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [21]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [22]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [23]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [24]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [25]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [26]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [27]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [28]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [29]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [30]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [31]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [32]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [33]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [34]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [35]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [36]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [37]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [38]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [39]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [40]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [41]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [42]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [43]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [44]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [45]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [46]: ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [48]: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [49]: (exp (-x' * I) - exp (x' * I)).re * I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [50]: no_zero_divisors.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [51]: domain.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [52]: linear_ordered_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [53]: linear_ordered_comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [54]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [55]: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] [56]: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul =?= re
[type_context.is_def_eq_detail] on failure: comm_ring.mul (exp (-x' * I) - exp (x' * I)).re I.re =?= (exp (x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] on failure: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] on failure: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] on failure: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [9]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [10]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [11]: (exp (-x' * I) - exp (x' * I)) * I / 2 =?= (exp (x' * I) + exp (-x' * I)) / 2
[type_context.is_def_eq_detail] [12]: algebra.div ((exp (-x' * I) - exp (x' * I)) * I) 2 =?= algebra.div (exp (x' * I) + exp (-x' * I)) 2
[type_context.is_def_eq_detail] unfold left&right: algebra.div
[type_context.is_def_eq_detail] [13]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [14]: mul_zero_class.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= mul_zero_class.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [15]: semiring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= semiring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [16]: ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [17]: division_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= division_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [18]: field.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= field.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [19]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I) 2⁻¹ =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)) 2⁻¹
[type_context.is_def_eq_detail] [20]: (exp (-x' * I) - exp (x' * I)) * I * 2⁻¹ =?= (exp (x' * I) + exp (-x' * I)) * 2⁻¹
[type_context.is_def_eq_detail] [21]: (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re})
((exp (-x' * I) - exp (x' * I)) * I)
2⁻¹ =?= (λ (z w : ℂ), {re := z.re * w.re - z.im * w.im, im := z.re * w.im + z.im * w.re}) (exp (x' * I) + exp (-x' * I))
2⁻¹
[type_context.is_def_eq_detail] after whnf_core: {re := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im,
im := ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.im + ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.re} =?= {re := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im,
im := (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.im + (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.re}
[type_context.is_def_eq_detail] [22]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re - ((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re - (exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im
[type_context.is_def_eq_detail] [23]: algebra.sub (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= algebra.sub ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) ((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [24]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re + -(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im) =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re + -((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im)
[type_context.is_def_eq_detail] [25]: add_semigroup.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_semigroup.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [26]: add_monoid.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_monoid.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [27]: add_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [28]: add_comm_group.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= add_comm_group.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [29]: ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re) (-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [30]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [31]: comm_ring.add (((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re)
(-(((exp (-x' * I) - exp (x' * I)) * I).im * 2⁻¹.im)) =?= comm_ring.add ((exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re) (-((exp (x' * I) + exp (-x' * I)).im * 2⁻¹.im))
[type_context.is_def_eq_detail] [32]: ((exp (-x' * I) - exp (x' * I)) * I).re * 2⁻¹.re =?= (exp (x' * I) + exp (-x' * I)).re * 2⁻¹.re
[type_context.is_def_eq_detail] [33]: no_zero_divisors.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= no_zero_divisors.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [34]: domain.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= domain.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [35]: linear_ordered_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [36]: linear_ordered_comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= linear_ordered_comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [37]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [38]: comm_ring.mul ((exp (-x' * I) - exp (x' * I)) * I).re 2⁻¹.re =?= comm_ring.mul (exp (x' * I) + exp (-x' * I)).re 2⁻¹.re
[type_context.is_def_eq_detail] [39]: ((exp (-x' * I) - exp (x' * I)) * I).re =?= (exp (x' * I) + exp (-x' * I)).re
[type_context.is_def_eq_detail] [40]: (exp (-x' * I) - exp (x' * I)).re * I.re - (exp (-x' * I) - exp (x' * I)).im * I.im =?= (exp (x' * I)).re + (exp (-x' * I)).re
[type_context.is_def_eq_detail] [41]: algebra.sub ((exp (-x' * I) - exp (x' * I)).re * I.re) ((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] unfold left: algebra.sub
[type_context.is_def_eq_detail] [42]: (exp (-x' * I) - exp (x' * I)).re * I.re + -((exp (-x' * I) - exp (x' * I)).im * I.im) =?= distrib.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [43]: add_semigroup.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [44]: add_monoid.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [45]: add_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [46]: add_comm_group.add ((exp (-x' * I) - exp (x' * I)).re * I.re) (-((exp (-x' * I) - exp (x' * I)).im * I.im)) =?= comm_ring.add (exp (x' * I)).re (exp (-x' * I)).re
[type_context.is_def_eq_detail] [47]: ring.add ((exp (-
(message too long, truncated at 262144 characters)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment