Documentation

Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv

Differentiability of trigonometric functions #

Main statements #

The differentiability of the usual trigonometric functions is proved, and their derivatives are computed.

Tags #

sin, cos, tan, angle

The complex sine function is everywhere strictly differentiable, with the derivative cos x.

The complex sine function is everywhere differentiable, with the derivative cos x.

The function Complex.sin is complex analytic.

The function Complex.sin is complex analytic.

The function Complex.sin is complex analytic.

The function Complex.sin is complex analytic.

The complex cosine function is everywhere strictly differentiable, with the derivative -sin x.

The complex cosine function is everywhere differentiable, with the derivative -sin x.

The function Complex.cos is complex analytic.

The function Complex.cos is complex analytic.

The function Complex.cos is complex analytic.

The function Complex.cos is complex analytic.

@[simp]
theorem Complex.deriv_cos' :
deriv cos = fun (x : ) => -sin x

Simp lemmas for derivatives of fun x => Complex.cos (f x) etc., f : ℂ → ℂ #

Complex.cos #

theorem HasStrictDerivAt.ccos {f : } {f' x : } (hf : HasStrictDerivAt f f' x) :
HasStrictDerivAt (fun (x : ) => Complex.cos (f x)) (-Complex.sin (f x) * f') x
theorem HasDerivAt.ccos {f : } {f' x : } (hf : HasDerivAt f f' x) :
HasDerivAt (fun (x : ) => Complex.cos (f x)) (-Complex.sin (f x) * f') x
theorem HasDerivWithinAt.ccos {f : } {f' x : } {s : Set } (hf : HasDerivWithinAt f f' s x) :
HasDerivWithinAt (fun (x : ) => Complex.cos (f x)) (-Complex.sin (f x) * f') s x
theorem derivWithin_ccos {f : } {x : } {s : Set } (hf : DifferentiableWithinAt f s x) (hxs : UniqueDiffWithinAt s x) :
derivWithin (fun (x : ) => Complex.cos (f x)) s x = -Complex.sin (f x) * derivWithin f s x
@[simp]
theorem deriv_ccos {f : } {x : } (hc : DifferentiableAt f x) :
deriv (fun (x : ) => Complex.cos (f x)) x = -Complex.sin (f x) * deriv f x

Complex.sin #

theorem HasStrictDerivAt.csin {f : } {f' x : } (hf : HasStrictDerivAt f f' x) :
HasStrictDerivAt (fun (x : ) => Complex.sin (f x)) (Complex.cos (f x) * f') x
theorem HasDerivAt.csin {f : } {f' x : } (hf : HasDerivAt f f' x) :
HasDerivAt (fun (x : ) => Complex.sin (f x)) (Complex.cos (f x) * f') x
theorem HasDerivWithinAt.csin {f : } {f' x : } {s : Set } (hf : HasDerivWithinAt f f' s x) :
HasDerivWithinAt (fun (x : ) => Complex.sin (f x)) (Complex.cos (f x) * f') s x
theorem derivWithin_csin {f : } {x : } {s : Set } (hf : DifferentiableWithinAt f s x) (hxs : UniqueDiffWithinAt s x) :
derivWithin (fun (x : ) => Complex.sin (f x)) s x = Complex.cos (f x) * derivWithin f s x
@[simp]
theorem deriv_csin {f : } {x : } (hc : DifferentiableAt f x) :
deriv (fun (x : ) => Complex.sin (f x)) x = Complex.cos (f x) * deriv f x

Simp lemmas for derivatives of fun x => Complex.cos (f x) etc., f : E → ℂ #

Complex.cos #

theorem HasStrictFDerivAt.ccos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {f' : StrongDual E} {x : E} (hf : HasStrictFDerivAt f f' x) :
HasStrictFDerivAt (fun (x : E) => Complex.cos (f x)) (-Complex.sin (f x) f') x
theorem HasFDerivAt.ccos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {f' : StrongDual E} {x : E} (hf : HasFDerivAt f f' x) :
HasFDerivAt (fun (x : E) => Complex.cos (f x)) (-Complex.sin (f x) f') x
theorem HasFDerivWithinAt.ccos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {f' : StrongDual E} {x : E} {s : Set E} (hf : HasFDerivWithinAt f f' s x) :
HasFDerivWithinAt (fun (x : E) => Complex.cos (f x)) (-Complex.sin (f x) f') s x
theorem DifferentiableWithinAt.ccos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} {s : Set E} (hf : DifferentiableWithinAt f s x) :
DifferentiableWithinAt (fun (x : E) => Complex.cos (f x)) s x
@[simp]
theorem DifferentiableAt.ccos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} (hc : DifferentiableAt f x) :
DifferentiableAt (fun (x : E) => Complex.cos (f x)) x
theorem DifferentiableOn.ccos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {s : Set E} (hc : DifferentiableOn f s) :
DifferentiableOn (fun (x : E) => Complex.cos (f x)) s
@[simp]
theorem Differentiable.ccos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} (hc : Differentiable f) :
Differentiable fun (x : E) => Complex.cos (f x)
theorem fderivWithin_ccos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} {s : Set E} (hf : DifferentiableWithinAt f s x) (hxs : UniqueDiffWithinAt s x) :
fderivWithin (fun (x : E) => Complex.cos (f x)) s x = -Complex.sin (f x) fderivWithin f s x
@[simp]
theorem fderiv_ccos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} (hc : DifferentiableAt f x) :
fderiv (fun (x : E) => Complex.cos (f x)) x = -Complex.sin (f x) fderiv f x
theorem ContDiff.ccos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {n : WithTop ℕ∞} (h : ContDiff n f) :
ContDiff n fun (x : E) => Complex.cos (f x)
theorem ContDiffAt.ccos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} {n : WithTop ℕ∞} (hf : ContDiffAt n f x) :
ContDiffAt n (fun (x : E) => Complex.cos (f x)) x
theorem ContDiffOn.ccos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {s : Set E} {n : WithTop ℕ∞} (hf : ContDiffOn n f s) :
ContDiffOn n (fun (x : E) => Complex.cos (f x)) s
theorem ContDiffWithinAt.ccos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} {s : Set E} {n : WithTop ℕ∞} (hf : ContDiffWithinAt n f s x) :
ContDiffWithinAt n (fun (x : E) => Complex.cos (f x)) s x

Complex.sin #

theorem HasStrictFDerivAt.csin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {f' : StrongDual E} {x : E} (hf : HasStrictFDerivAt f f' x) :
HasStrictFDerivAt (fun (x : E) => Complex.sin (f x)) (Complex.cos (f x) f') x
theorem HasFDerivAt.csin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {f' : StrongDual E} {x : E} (hf : HasFDerivAt f f' x) :
HasFDerivAt (fun (x : E) => Complex.sin (f x)) (Complex.cos (f x) f') x
theorem HasFDerivWithinAt.csin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {f' : StrongDual E} {x : E} {s : Set E} (hf : HasFDerivWithinAt f f' s x) :
HasFDerivWithinAt (fun (x : E) => Complex.sin (f x)) (Complex.cos (f x) f') s x
theorem DifferentiableWithinAt.csin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} {s : Set E} (hf : DifferentiableWithinAt f s x) :
DifferentiableWithinAt (fun (x : E) => Complex.sin (f x)) s x
@[simp]
theorem DifferentiableAt.csin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} (hc : DifferentiableAt f x) :
DifferentiableAt (fun (x : E) => Complex.sin (f x)) x
theorem DifferentiableOn.csin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {s : Set E} (hc : DifferentiableOn f s) :
DifferentiableOn (fun (x : E) => Complex.sin (f x)) s
@[simp]
theorem Differentiable.csin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} (hc : Differentiable f) :
Differentiable fun (x : E) => Complex.sin (f x)
theorem fderivWithin_csin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} {s : Set E} (hf : DifferentiableWithinAt f s x) (hxs : UniqueDiffWithinAt s x) :
fderivWithin (fun (x : E) => Complex.sin (f x)) s x = Complex.cos (f x) fderivWithin f s x
@[simp]
theorem fderiv_csin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} (hc : DifferentiableAt f x) :
fderiv (fun (x : E) => Complex.sin (f x)) x = Complex.cos (f x) fderiv f x
theorem ContDiff.csin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {n : WithTop ℕ∞} (h : ContDiff n f) :
ContDiff n fun (x : E) => Complex.sin (f x)
theorem ContDiffAt.csin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} {n : WithTop ℕ∞} (hf : ContDiffAt n f x) :
ContDiffAt n (fun (x : E) => Complex.sin (f x)) x
theorem ContDiffOn.csin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {s : Set E} {n : WithTop ℕ∞} (hf : ContDiffOn n f s) :
ContDiffOn n (fun (x : E) => Complex.sin (f x)) s
theorem ContDiffWithinAt.csin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} {s : Set E} {n : WithTop ℕ∞} (hf : ContDiffWithinAt n f s x) :
ContDiffWithinAt n (fun (x : E) => Complex.sin (f x)) s x

The function Real.sin is real analytic.

The function Real.sin is real analytic.

The function Real.sin is real analytic.

The function Real.sin is real analytic.

The function Real.cos is real analytic.

The function Real.cos is real analytic.

The function Real.cos is real analytic.

The function Real.cos is real analytic.

theorem Real.deriv_cos {x : } :
@[simp]
theorem Real.deriv_cos' :
deriv cos = fun (x : ) => -sin x

Simp lemmas for iterated derivatives of sin and cos. #

@[simp]
@[simp]
theorem Complex.iteratedDeriv_odd_cos (n : ) :
iteratedDeriv (2 * n + 1) cos = (-1) ^ (n + 1) * sin
@[simp]
theorem Real.iteratedDeriv_even_sin (n : ) :
iteratedDeriv (2 * n) sin = (-1) ^ n * sin
@[simp]
theorem Real.iteratedDeriv_even_cos (n : ) :
iteratedDeriv (2 * n) cos = (-1) ^ n * cos
theorem Real.iteratedDeriv_odd_cos (n : ) :
iteratedDeriv (2 * n + 1) cos = (-1) ^ (n + 1) * sin
@[simp]
theorem Real.iteratedDerivWithin_sin_Icc (n : ) {a b : } (h : a < b) {x : } (hx : x Set.Icc a b) :
@[simp]
theorem Real.iteratedDerivWithin_cos_Icc (n : ) {a b : } (h : a < b) {x : } (hx : x Set.Icc a b) :
@[simp]
@[simp]

Simp lemmas for derivatives of fun x => Real.cos (f x) etc., f : ℝ → ℝ #

Real.cos #

theorem HasStrictDerivAt.cos {f : } {f' x : } (hf : HasStrictDerivAt f f' x) :
HasStrictDerivAt (fun (x : ) => Real.cos (f x)) (-Real.sin (f x) * f') x
theorem HasDerivAt.cos {f : } {f' x : } (hf : HasDerivAt f f' x) :
HasDerivAt (fun (x : ) => Real.cos (f x)) (-Real.sin (f x) * f') x
theorem HasDerivWithinAt.cos {f : } {f' x : } {s : Set } (hf : HasDerivWithinAt f f' s x) :
HasDerivWithinAt (fun (x : ) => Real.cos (f x)) (-Real.sin (f x) * f') s x
theorem derivWithin_cos {f : } {x : } {s : Set } (hf : DifferentiableWithinAt f s x) (hxs : UniqueDiffWithinAt s x) :
derivWithin (fun (x : ) => Real.cos (f x)) s x = -Real.sin (f x) * derivWithin f s x
@[simp]
theorem deriv_cos {f : } {x : } (hc : DifferentiableAt f x) :
deriv (fun (x : ) => Real.cos (f x)) x = -Real.sin (f x) * deriv f x

Real.sin #

theorem HasStrictDerivAt.sin {f : } {f' x : } (hf : HasStrictDerivAt f f' x) :
HasStrictDerivAt (fun (x : ) => Real.sin (f x)) (Real.cos (f x) * f') x
theorem HasDerivAt.sin {f : } {f' x : } (hf : HasDerivAt f f' x) :
HasDerivAt (fun (x : ) => Real.sin (f x)) (Real.cos (f x) * f') x
theorem HasDerivWithinAt.sin {f : } {f' x : } {s : Set } (hf : HasDerivWithinAt f f' s x) :
HasDerivWithinAt (fun (x : ) => Real.sin (f x)) (Real.cos (f x) * f') s x
theorem derivWithin_sin {f : } {x : } {s : Set } (hf : DifferentiableWithinAt f s x) (hxs : UniqueDiffWithinAt s x) :
derivWithin (fun (x : ) => Real.sin (f x)) s x = Real.cos (f x) * derivWithin f s x
@[simp]
theorem deriv_sin {f : } {x : } (hc : DifferentiableAt f x) :
deriv (fun (x : ) => Real.sin (f x)) x = Real.cos (f x) * deriv f x

Simp lemmas for derivatives of fun x => Real.cos (f x) etc., f : E → ℝ #

Real.cos #

theorem HasStrictFDerivAt.cos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {f' : StrongDual E} {x : E} (hf : HasStrictFDerivAt f f' x) :
HasStrictFDerivAt (fun (x : E) => Real.cos (f x)) (-Real.sin (f x) f') x
theorem HasFDerivAt.cos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {f' : StrongDual E} {x : E} (hf : HasFDerivAt f f' x) :
HasFDerivAt (fun (x : E) => Real.cos (f x)) (-Real.sin (f x) f') x
theorem HasFDerivWithinAt.cos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {f' : StrongDual E} {x : E} {s : Set E} (hf : HasFDerivWithinAt f f' s x) :
HasFDerivWithinAt (fun (x : E) => Real.cos (f x)) (-Real.sin (f x) f') s x
theorem DifferentiableWithinAt.cos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} {s : Set E} (hf : DifferentiableWithinAt f s x) :
DifferentiableWithinAt (fun (x : E) => Real.cos (f x)) s x
@[simp]
theorem DifferentiableAt.cos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} (hc : DifferentiableAt f x) :
DifferentiableAt (fun (x : E) => Real.cos (f x)) x
theorem DifferentiableOn.cos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {s : Set E} (hc : DifferentiableOn f s) :
DifferentiableOn (fun (x : E) => Real.cos (f x)) s
@[simp]
theorem Differentiable.cos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} (hc : Differentiable f) :
Differentiable fun (x : E) => Real.cos (f x)
theorem fderivWithin_cos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} {s : Set E} (hf : DifferentiableWithinAt f s x) (hxs : UniqueDiffWithinAt s x) :
fderivWithin (fun (x : E) => Real.cos (f x)) s x = -Real.sin (f x) fderivWithin f s x
@[simp]
theorem fderiv_cos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} (hc : DifferentiableAt f x) :
fderiv (fun (x : E) => Real.cos (f x)) x = -Real.sin (f x) fderiv f x
theorem ContDiff.cos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {n : WithTop ℕ∞} (h : ContDiff n f) :
ContDiff n fun (x : E) => Real.cos (f x)
theorem ContDiffAt.cos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} {n : WithTop ℕ∞} (hf : ContDiffAt n f x) :
ContDiffAt n (fun (x : E) => Real.cos (f x)) x
theorem ContDiffOn.cos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {s : Set E} {n : WithTop ℕ∞} (hf : ContDiffOn n f s) :
ContDiffOn n (fun (x : E) => Real.cos (f x)) s
theorem ContDiffWithinAt.cos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} {s : Set E} {n : WithTop ℕ∞} (hf : ContDiffWithinAt n f s x) :
ContDiffWithinAt n (fun (x : E) => Real.cos (f x)) s x

Real.sin #

theorem HasStrictFDerivAt.sin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {f' : StrongDual E} {x : E} (hf : HasStrictFDerivAt f f' x) :
HasStrictFDerivAt (fun (x : E) => Real.sin (f x)) (Real.cos (f x) f') x
theorem HasFDerivAt.sin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {f' : StrongDual E} {x : E} (hf : HasFDerivAt f f' x) :
HasFDerivAt (fun (x : E) => Real.sin (f x)) (Real.cos (f x) f') x
theorem HasFDerivWithinAt.sin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {f' : StrongDual E} {x : E} {s : Set E} (hf : HasFDerivWithinAt f f' s x) :
HasFDerivWithinAt (fun (x : E) => Real.sin (f x)) (Real.cos (f x) f') s x
theorem DifferentiableWithinAt.sin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} {s : Set E} (hf : DifferentiableWithinAt f s x) :
DifferentiableWithinAt (fun (x : E) => Real.sin (f x)) s x
@[simp]
theorem DifferentiableAt.sin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} (hc : DifferentiableAt f x) :
DifferentiableAt (fun (x : E) => Real.sin (f x)) x
theorem DifferentiableOn.sin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {s : Set E} (hc : DifferentiableOn f s) :
DifferentiableOn (fun (x : E) => Real.sin (f x)) s
@[simp]
theorem Differentiable.sin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} (hc : Differentiable f) :
Differentiable fun (x : E) => Real.sin (f x)
theorem fderivWithin_sin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} {s : Set E} (hf : DifferentiableWithinAt f s x) (hxs : UniqueDiffWithinAt s x) :
fderivWithin (fun (x : E) => Real.sin (f x)) s x = Real.cos (f x) fderivWithin f s x
@[simp]
theorem fderiv_sin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} (hc : DifferentiableAt f x) :
fderiv (fun (x : E) => Real.sin (f x)) x = Real.cos (f x) fderiv f x
theorem ContDiff.sin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {n : WithTop ℕ∞} (h : ContDiff n f) :
ContDiff n fun (x : E) => Real.sin (f x)
theorem ContDiffAt.sin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} {n : WithTop ℕ∞} (hf : ContDiffAt n f x) :
ContDiffAt n (fun (x : E) => Real.sin (f x)) x
theorem ContDiffOn.sin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {s : Set E} {n : WithTop ℕ∞} (hf : ContDiffOn n f s) :
ContDiffOn n (fun (x : E) => Real.sin (f x)) s
theorem ContDiffWithinAt.sin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {x : E} {s : Set E} {n : WithTop ℕ∞} (hf : ContDiffWithinAt n f s x) :
ContDiffWithinAt n (fun (x : E) => Real.sin (f x)) s x