Skip to content

Instantly share code, notes, and snippets.

@kbuzzard
Created April 13, 2020 15:05
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/30c1218ee205a70d0ac39fb21a871c95 to your computer and use it in GitHub Desktop.
Save kbuzzard/30c1218ee205a70d0ac39fb21a871c95 to your computer and use it in GitHub Desktop.
irreducible version
[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] on failure: sin =?= cos
[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] on failure: sin =?= cos
[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] on failure: sin =?= cos
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [25]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [10]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [11]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [12]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [11]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [12]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [12]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [13]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: add_group.add (sin x') (-sin x) =?= add_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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [15]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: (λ (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] [21]: (sin x').re + (-sin x).re =?= (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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [22]: distrib.add (sin x').re (-sin x).re =?= distrib.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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [23]: ring.add (sin x').re (-sin x).re =?= 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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [25]: 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] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [8]: sin x' - sin x + -⇑f' (x' - x) =?= cos x' - cos ?m_1 + -⇑f' (x' - ?m_1)
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [10]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [11]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [12]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [11]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [12]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [12]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [13]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [14]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [15]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: (λ (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] [22]: (sin x').re + (-sin x).re =?= (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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [23]: distrib.add (sin x').re (-sin x).re =?= distrib.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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [24]: ring.add (sin x').re (-sin x).re =?= 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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [25]: 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] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: 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] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [9]: add_semigroup.add (sin x' - sin x) (-⇑f' (x' - x)) =?= add_semigroup.add (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] [10]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [11]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [12]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [11]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [12]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [12]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [13]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [14]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [15]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: ring.add (sin x') (-sin x) =?= 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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: (λ (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] [23]: (sin x').re + (-sin x).re =?= (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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [24]: distrib.add (sin x').re (-sin x).re =?= distrib.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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [25]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: 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] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: 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] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [10]: add_monoid.add (sin x' - sin x) (-⇑f' (x' - x)) =?= add_monoid.add (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] [11]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [12]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [12]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [13]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [13]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [14]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [15]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: (λ (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] [24]: (sin x').re + (-sin x).re =?= (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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [25]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: 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] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: 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] [29]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [11]: add_group.add (sin x' - sin x) (-⇑f' (x' - x)) =?= add_group.add (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] [12]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [13]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [14]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [14]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [15]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: (λ (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] [25]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: 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] [29]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: 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] [30]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [12]: add_comm_group.add (sin x' - sin x) (-⇑f' (x' - x)) =?= add_comm_group.add (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] [13]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [14]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [15]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [15]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: (λ (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] [26]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [29]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: 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] [30]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: 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] [31]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [13]: ring.add (sin x' - sin x) (-⇑f' (x' - x)) =?= ring.add (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] [14]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [15]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [16]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: (λ (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] [27]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [29]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [30]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: 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] [31]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: 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] [32]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [14]: field.add (sin x' - sin x) (-⇑f' (x' - x)) =?= field.add (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] [15]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [17]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: (λ (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] [28]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [29]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [30]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [31]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: 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] [32]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: 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] [33]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [15]: field.add (sin x' - sin x) (-⇑f' (x' - x)) =?= field.add (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] [16]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: (λ (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] [29]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [30]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [31]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [32]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: 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] [33]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: 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] [34]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [35]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [36]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [35]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [36]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [16]: comm_ring.add (sin x' - sin x) (-⇑f' (x' - x)) =?= comm_ring.add (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] [17]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [19]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: (λ (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] [30]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [31]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [32]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [33]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: 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] [34]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [35]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [36]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: 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] [35]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [36]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [37]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [35]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [36]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [37]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [17]: sin x' - sin x + -⇑f' (x' - x) =?= cos x' - cos ?m_1 + -⇑f' (x' - ?m_1)
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [20]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: (λ (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] [31]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [32]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [33]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [34]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [35]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [36]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: 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] [35]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [36]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [37]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [35]: 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] [36]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [37]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [38]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [36]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [37]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [38]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [18]: (λ (z w : ℂ), {re := z.re + w.re, im := z.im + w.im}) (sin x' - sin x) (-⇑f' (x' - x)) =?= (λ (z w : ℂ), {re := z.re + w.re, im := z.im + w.im}) (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] after whnf_core: {re := (sin x' - sin x).re + (-⇑f' (x' - x)).re, im := (sin x' - sin x).im + (-⇑f' (x' - x)).im} =?= {re := (cos x' - cos ?m_1).re + (-⇑f' (x' - ?m_1)).re, im := (cos x' - cos ?m_1).im + (-⇑f' (x' - ?m_1)).im}
[type_context.is_def_eq_detail] [19]: (sin x' - sin x).re + (-⇑f' (x' - x)).re =?= (cos x' - cos ?m_1).re + (-⇑f' (x' - ?m_1)).re
[type_context.is_def_eq_detail] [20]: (sin x' - sin x).re =?= (cos x' - cos ?m_1).re
[type_context.is_def_eq_detail] [21]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [23]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: (λ (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] [34]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [35]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [36]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [37]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [35]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [36]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [37]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [38]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [36]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [37]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [38]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [39]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [37]: 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] [38]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [39]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [40]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [38]: 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] [39]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [40]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [41]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [39]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [40]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [41]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [21]: (sin x').re + (-sin x).re =?= (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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [22]: distrib.add (sin x').re (-sin x).re =?= distrib.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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [23]: ring.add (sin x').re (-sin x).re =?= 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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [25]: 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] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [20]: distrib.add (sin x' - sin x).re (-⇑f' (x' - x)).re =?= distrib.add (cos x' - cos ?m_1).re (-⇑f' (x' - ?m_1)).re
[type_context.is_def_eq_detail] [21]: (sin x' - sin x).re =?= (cos x' - cos ?m_1).re
[type_context.is_def_eq_detail] [22]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [24]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: (λ (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] [35]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [36]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [37]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [38]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [36]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [37]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [38]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [39]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [37]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [38]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [39]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [40]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [38]: 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] [39]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [40]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [41]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [39]: 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] [40]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [41]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [42]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [40]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [41]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [42]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [22]: (sin x').re + (-sin x).re =?= (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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [23]: distrib.add (sin x').re (-sin x).re =?= distrib.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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [24]: ring.add (sin x').re (-sin x).re =?= 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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [25]: 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] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: 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] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [21]: ring.add (sin x' - sin x).re (-⇑f' (x' - x)).re =?= ring.add (cos x' - cos ?m_1).re (-⇑f' (x' - ?m_1)).re
[type_context.is_def_eq_detail] [22]: (sin x' - sin x).re =?= (cos x' - cos ?m_1).re
[type_context.is_def_eq_detail] [23]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [25]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [35]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [36]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: (λ (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] [36]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [37]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [38]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [39]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [37]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [38]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [39]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [40]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [38]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [39]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [40]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [41]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [39]: 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] [40]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [41]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [42]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [40]: 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] [41]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [42]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [43]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [41]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [42]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [43]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [23]: (sin x').re + (-sin x).re =?= (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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [24]: distrib.add (sin x').re (-sin x).re =?= distrib.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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [25]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: 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] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: 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] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [22]: comm_ring.add (sin x' - sin x).re (-⇑f' (x' - x)).re =?= comm_ring.add (cos x' - cos ?m_1).re (-⇑f' (x' - ?m_1)).re
[type_context.is_def_eq_detail] [23]: (sin x' - sin x).re =?= (cos x' - cos ?m_1).re
[type_context.is_def_eq_detail] [24]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [26]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [35]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [36]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [36]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [37]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [36]: (λ (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] [37]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [38]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [39]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [40]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [38]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [39]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [40]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [41]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [39]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [40]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [41]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [42]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [40]: 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] [41]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [42]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [43]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [41]: 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] [42]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [43]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [44]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [42]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [43]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [44]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [24]: (sin x').re + (-sin x).re =?= (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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [25]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: 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] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: 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] [29]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [23]: comm_ring.add (sin x' - sin x).re (-⇑f' (x' - x)).re =?= comm_ring.add (cos x' - cos ?m_1).re (-⇑f' (x' - ?m_1)).re
[type_context.is_def_eq_detail] [24]: (sin x' - sin x).re =?= (cos x' - cos ?m_1).re
[type_context.is_def_eq_detail] [25]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [27]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [35]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [36]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [36]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [37]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [36]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [37]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [38]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [37]: (λ (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] [38]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [39]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [40]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [41]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [39]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [40]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [41]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [42]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [40]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [41]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [42]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [43]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [41]: 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] [42]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [43]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [44]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [42]: 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] [43]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [44]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [45]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [43]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [44]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [45]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [25]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: 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] [29]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: 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] [30]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [24]: (sin x' - sin x).re =?= (cos x' - cos ?m_1).re
[type_context.is_def_eq_detail] [25]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [27]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [35]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [36]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [36]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [37]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [36]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [37]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [38]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [37]: (λ (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] [38]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [39]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [40]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [41]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [39]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [40]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [41]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [42]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [40]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [41]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [42]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [43]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [41]: 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] [42]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [43]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [44]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [42]: 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] [43]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [44]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [45]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [43]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [44]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [45]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [25]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: 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] [29]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: 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] [30]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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: comm_ring.add (sin x' - sin x).re (-⇑f' (x' - x)).re =?= comm_ring.add (cos x' - cos ?m_1).re (-⇑f' (x' - ?m_1)).re
[type_context.is_def_eq_detail] on failure: {re := (sin x' - sin x).re + (-⇑f' (x' - x)).re, im := (sin x' - sin x).im + (-⇑f' (x' - x)).im} =?= {re := (cos x' - cos ?m_1).re + (-⇑f' (x' - ?m_1)).re, im := (cos x' - cos ?m_1).im + (-⇑f' (x' - ?m_1)).im}
[type_context.is_def_eq_detail] unfold left&right: asymptotics.is_o
[type_context.is_def_eq_detail] [6]: asymptotics.is_O_with c (λ (x' : ?m_1), sin x' - sin x - ⇑f' (x' - x)) (λ (x' : ?m_1), x' - x) (nhds x) =?= asymptotics.is_O_with c (λ (x' : ℂ), cos x' - cos ?m_8 - ⇑f' (x' - ?m_8)) (λ (x' : ℂ), x' - ?m_8) (nhds ?m_8)
[type_context.is_def_eq_detail] [7]: sin x' - sin x - ⇑f' (x' - x) =?= cos x' - cos ?m_8 - ⇑f' (x' - ?m_8)
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [10]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [11]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [12]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [11]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [12]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [12]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [13]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: add_group.add (sin x') (-sin x) =?= add_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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [15]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: (λ (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] [21]: (sin x').re + (-sin x).re =?= (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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [22]: distrib.add (sin x').re (-sin x).re =?= distrib.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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [23]: ring.add (sin x').re (-sin x).re =?= 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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [25]: 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] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [8]: 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] [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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [10]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [11]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [12]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [11]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [12]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [12]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [13]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [14]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [15]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: (λ (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] [22]: (sin x').re + (-sin x).re =?= (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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [23]: distrib.add (sin x').re (-sin x).re =?= distrib.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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [24]: ring.add (sin x').re (-sin x).re =?= 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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [25]: 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] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: 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] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [9]: sin x' - sin x + -⇑f' (x' - x) =?= cos x' - cos ?m_1 + -⇑f' (x' - ?m_1)
[type_context.is_def_eq_detail] [10]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [11]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [12]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [11]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [12]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [12]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [13]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [14]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [15]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: ring.add (sin x') (-sin x) =?= 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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: (λ (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] [23]: (sin x').re + (-sin x).re =?= (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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [24]: distrib.add (sin x').re (-sin x).re =?= distrib.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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [25]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: 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] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: 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] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [10]: add_semigroup.add (sin x' - sin x) (-⇑f' (x' - x)) =?= add_semigroup.add (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] [11]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [12]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [12]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [13]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [13]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [14]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [15]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: (λ (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] [24]: (sin x').re + (-sin x).re =?= (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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [25]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: 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] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: 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] [29]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [11]: add_monoid.add (sin x' - sin x) (-⇑f' (x' - x)) =?= add_monoid.add (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] [12]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [13]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [13]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [14]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [14]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [15]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: (λ (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] [25]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [26]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: 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] [29]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: 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] [30]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [12]: add_group.add (sin x' - sin x) (-⇑f' (x' - x)) =?= add_group.add (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] [13]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [14]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [14]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [15]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [15]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: (λ (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] [26]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [27]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [29]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: 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] [30]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: 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] [31]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [13]: add_comm_group.add (sin x' - sin x) (-⇑f' (x' - x)) =?= add_comm_group.add (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] [14]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [15]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [15]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [16]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: (λ (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] [27]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [28]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [28]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [29]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [30]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: 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] [31]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: 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] [32]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [14]: ring.add (sin x' - sin x) (-⇑f' (x' - x)) =?= ring.add (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] [15]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [16]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [16]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [17]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: (λ (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] [28]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [29]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [29]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [30]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [31]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: 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] [32]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: 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] [33]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [15]: field.add (sin x' - sin x) (-⇑f' (x' - x)) =?= field.add (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] [16]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [17]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [17]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: (λ (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] [29]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [30]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [30]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [31]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [32]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: 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] [33]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: 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] [34]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [35]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [36]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [35]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [36]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [16]: field.add (sin x' - sin x) (-⇑f' (x' - x)) =?= field.add (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] [17]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [18]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [18]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [19]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: (λ (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] [30]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [31]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [31]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [32]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [33]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: 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] [34]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [35]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [36]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: 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] [35]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [36]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [37]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [35]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [36]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [37]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [17]: comm_ring.add (sin x' - sin x) (-⇑f' (x' - x)) =?= comm_ring.add (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[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]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [19]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [20]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: (λ (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] [31]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [32]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [32]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [33]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [34]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [35]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [36]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: 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] [35]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [36]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [37]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [35]: 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] [36]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [37]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [38]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [36]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [37]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [38]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [18]: sin x' - sin x + -⇑f' (x' - x) =?= cos x' - cos ?m_1 + -⇑f' (x' - ?m_1)
[type_context.is_def_eq_detail] [19]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [20]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [21]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [20]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [21]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [21]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [22]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [22]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: (λ (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] [32]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [33]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [33]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [34]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [35]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [36]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [34]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [35]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [36]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [37]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [35]: 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] [36]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [37]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [38]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [36]: 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] [37]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [38]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [39]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [37]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [38]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [39]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [19]: (λ (z w : ℂ), {re := z.re + w.re, im := z.im + w.im}) (sin x' - sin x) (-⇑f' (x' - x)) =?= (λ (z w : ℂ), {re := z.re + w.re, im := z.im + w.im}) (cos x' - cos ?m_1) (-⇑f' (x' - ?m_1))
[type_context.is_def_eq_detail] after whnf_core: {re := (sin x' - sin x).re + (-⇑f' (x' - x)).re, im := (sin x' - sin x).im + (-⇑f' (x' - x)).im} =?= {re := (cos x' - cos ?m_1).re + (-⇑f' (x' - ?m_1)).re, im := (cos x' - cos ?m_1).im + (-⇑f' (x' - ?m_1)).im}
[type_context.is_def_eq_detail] [20]: (sin x' - sin x).re + (-⇑f' (x' - x)).re =?= (cos x' - cos ?m_1).re + (-⇑f' (x' - ?m_1)).re
[type_context.is_def_eq_detail] [21]: (sin x' - sin x).re =?= (cos x' - cos ?m_1).re
[type_context.is_def_eq_detail] [22]: sin x' - sin x =?= cos x' - cos ?m_1
[type_context.is_def_eq_detail] [23]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [24]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [23]: algebra.sub (sin x') (sin x) =?= algebra.sub (cos x') (cos ?m_1)
[type_context.is_def_eq_detail] [24]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] unfold left&right: algebra.sub
[type_context.is_def_eq_detail] [24]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [25]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: add_semigroup.add (sin x') (-sin x) =?= add_semigroup.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [26]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: add_monoid.add (sin x') (-sin x) =?= add_monoid.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: add_group.add (sin x') (-sin x) =?= add_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [28]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: add_comm_group.add (sin x') (-sin x) =?= add_comm_group.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [29]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [29]: ring.add (sin x') (-sin x) =?= ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [30]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [30]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [31]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [31]: field.add (sin x') (-sin x) =?= field.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [32]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [32]: comm_ring.add (sin x') (-sin x) =?= comm_ring.add (cos x') (-cos ?m_1)
[type_context.is_def_eq_detail] [33]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [33]: sin x' + -sin x =?= cos x' + -cos ?m_1
[type_context.is_def_eq_detail] [34]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [35]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] [34]: (λ (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] [35]: (sin x').re + (-sin x).re =?= (cos x').re + (-cos ?m_1).re
[type_context.is_def_eq_detail] [36]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [37]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [38]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [36]: distrib.add (sin x').re (-sin x).re =?= distrib.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [37]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [38]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [39]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [37]: ring.add (sin x').re (-sin x).re =?= ring.add (cos x').re (-cos ?m_1).re
[type_context.is_def_eq_detail] [38]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [39]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [40]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [38]: 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] [39]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [40]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [41]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [39]: 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] [40]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [41]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [42]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [40]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [41]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [42]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[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] [22]: (sin x').re + (-sin x).re =?= (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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [25]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [23]: distrib.add (sin x').re (-sin x).re =?= distrib.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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [26]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [24]: ring.add (sin x').re (-sin x).re =?= 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]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [27]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [25]: 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] [26]: (sin x').re =?= (cos x').re
[type_context.is_def_eq_detail] [27]: sin x' =?= cos x'
[type_context.is_def_eq_detail] [28]: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin =?= cos
[type_context.is_def_eq_detail] on failure: sin x' =?= cos x'
[type_context.is_def_eq_detail] on failure: (sin x').re =?= (cos x').re
[type_context.is_def_e
(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