Loogle!
Result
Found 186 declarations mentioning Complex.cos.
- Complex.cos π Mathlib.Analysis.Complex.Trigonometric
(z : β) : β - Complex.cos_ofReal_re π Mathlib.Analysis.Complex.Trigonometric
(x : β) : (Complex.cos βx).re = Real.cos x - Complex.ofReal_cos π Mathlib.Analysis.Complex.Trigonometric
(x : β) : β(Real.cos x) = Complex.cos βx - Complex.cos_neg π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.cos (-x) = Complex.cos x - Complex.ofReal_cos_ofReal_re π Mathlib.Analysis.Complex.Trigonometric
(x : β) : β(Complex.cos βx).re = Complex.cos βx - Complex.cos_ofReal_im π Mathlib.Analysis.Complex.Trigonometric
(x : β) : (Complex.cos βx).im = 0 - Complex.cos_mul_I π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.cos (x * Complex.I) = Complex.cosh x - Complex.cos_zero π Mathlib.Analysis.Complex.Trigonometric
: Complex.cos 0 = 1 - Complex.cosh_mul_I π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.cosh (x * Complex.I) = Complex.cos x - Complex.cot_eq_cos_div_sin π Mathlib.Analysis.Complex.Trigonometric
(x : β) : x.cot = Complex.cos x / Complex.sin x - Complex.tan_eq_sin_div_cos π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.tan x = Complex.sin x / Complex.cos x - Complex.tan_mul_cos π Mathlib.Analysis.Complex.Trigonometric
{x : β} (hx : Complex.cos x β 0) : Complex.tan x * Complex.cos x = Complex.sin x - Complex.cos_add_sin_I π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.cos x + Complex.sin x * Complex.I = Complex.exp (x * Complex.I) - Complex.exp_mul_I π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.exp (x * Complex.I) = Complex.cos x + Complex.sin x * Complex.I - Complex.norm_cos_add_sin_mul_I π Mathlib.Analysis.Complex.Trigonometric
(x : β) : βComplex.cos βx + Complex.sin βx * Complex.Iβ = 1 - Complex.cos_sub_sin_I π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.cos x - Complex.sin x * Complex.I = Complex.exp (-x * Complex.I) - Complex.exp_eq_exp_re_mul_sin_add_cos π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.exp x = Complex.exp βx.re * (Complex.cos βx.im + Complex.sin βx.im * Complex.I) - Complex.cos_add π Mathlib.Analysis.Complex.Trigonometric
(x y : β) : Complex.cos (x + y) = Complex.cos x * Complex.cos y - Complex.sin x * Complex.sin y - Complex.cos_sub π Mathlib.Analysis.Complex.Trigonometric
(x y : β) : Complex.cos (x - y) = Complex.cos x * Complex.cos y + Complex.sin x * Complex.sin y - Complex.sin_add π Mathlib.Analysis.Complex.Trigonometric
(x y : β) : Complex.sin (x + y) = Complex.sin x * Complex.cos y + Complex.cos x * Complex.sin y - Complex.sin_sub π Mathlib.Analysis.Complex.Trigonometric
(x y : β) : Complex.sin (x - y) = Complex.sin x * Complex.cos y - Complex.cos x * Complex.sin y - Complex.cos_eq π Mathlib.Analysis.Complex.Trigonometric
(z : β) : Complex.cos z = Complex.cos βz.re * Complex.cosh βz.im - Complex.sin βz.re * Complex.sinh βz.im * Complex.I - Complex.exp_add_mul_I π Mathlib.Analysis.Complex.Trigonometric
(x y : β) : Complex.exp (x + y * Complex.I) = Complex.exp x * (Complex.cos y + Complex.sin y * Complex.I) - Complex.sin_eq π Mathlib.Analysis.Complex.Trigonometric
(z : β) : Complex.sin z = Complex.sin βz.re * Complex.cosh βz.im + Complex.cos βz.re * Complex.sinh βz.im * Complex.I - Complex.cos_sq' π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.cos x ^ 2 = 1 - Complex.sin x ^ 2 - Complex.cos_sq_add_sin_sq π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.cos x ^ 2 + Complex.sin x ^ 2 = 1 - Complex.sin_sq π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.sin x ^ 2 = 1 - Complex.cos x ^ 2 - Complex.sin_sq_add_cos_sq π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.sin x ^ 2 + Complex.cos x ^ 2 = 1 - Complex.cos_add_mul_I π Mathlib.Analysis.Complex.Trigonometric
(x y : β) : Complex.cos (x + y * Complex.I) = Complex.cos x * Complex.cosh y - Complex.sin x * Complex.sinh y * Complex.I - Complex.sin_add_mul_I π Mathlib.Analysis.Complex.Trigonometric
(x y : β) : Complex.sin (x + y * Complex.I) = Complex.sin x * Complex.cosh y + Complex.cos x * Complex.sinh y * Complex.I - Complex.two_cos π Mathlib.Analysis.Complex.Trigonometric
(x : β) : 2 * Complex.cos x = Complex.exp (x * Complex.I) + Complex.exp (-x * Complex.I) - Complex.sin_two_mul π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.sin (2 * x) = 2 * Complex.sin x * Complex.cos x - Complex.inv_one_add_tan_sq π Mathlib.Analysis.Complex.Trigonometric
{x : β} (hx : Complex.cos x β 0) : (1 + Complex.tan x ^ 2)β»ΒΉ = Complex.cos x ^ 2 - Complex.cos_conj π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.cos ((starRingEnd β) x) = (starRingEnd β) (Complex.cos x) - Complex.cos_add_sin_mul_I_pow π Mathlib.Analysis.Complex.Trigonometric
(n : β) (z : β) : (Complex.cos z + Complex.sin z * Complex.I) ^ n = Complex.cos (βn * z) + Complex.sin (βn * z) * Complex.I - Complex.cos_two_mul' π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.cos (2 * x) = Complex.cos x ^ 2 - Complex.sin x ^ 2 - Complex.one_add_tan_sq_mul_cos_sq_eq_one π Mathlib.Analysis.Complex.Trigonometric
{x : β} (h : Complex.cos x β 0) : (1 + Complex.tan x ^ 2) * Complex.cos x ^ 2 = 1 - Complex.cos_two_mul π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.cos (2 * x) = 2 * Complex.cos x ^ 2 - 1 - Complex.cos_two_mul_eq_one_sub π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.cos (2 * x) = 1 - 2 * Complex.sin x ^ 2 - Complex.tan_sq_div_one_add_tan_sq π Mathlib.Analysis.Complex.Trigonometric
{x : β} (hx : Complex.cos x β 0) : Complex.tan x ^ 2 / (1 + Complex.tan x ^ 2) = Complex.sin x ^ 2 - Complex.cos_three_mul π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.cos (3 * x) = 4 * Complex.cos x ^ 3 - 3 * Complex.cos x - Complex.cos_sq π Mathlib.Analysis.Complex.Trigonometric
(x : β) : Complex.cos x ^ 2 = 1 / 2 + Complex.cos (2 * x) / 2 - Complex.cos_add_cos π Mathlib.Analysis.Complex.Trigonometric
(x y : β) : Complex.cos x + Complex.cos y = 2 * Complex.cos ((x + y) / 2) * Complex.cos ((x - y) / 2) - Complex.sin_add_sin π Mathlib.Analysis.Complex.Trigonometric
(x y : β) : Complex.sin x + Complex.sin y = 2 * Complex.sin ((x + y) / 2) * Complex.cos ((x - y) / 2) - Complex.sin_sub_sin π Mathlib.Analysis.Complex.Trigonometric
(x y : β) : Complex.sin x - Complex.sin y = 2 * Complex.sin ((x - y) / 2) * Complex.cos ((x + y) / 2) - Complex.cos_sub_cos π Mathlib.Analysis.Complex.Trigonometric
(x y : β) : Complex.cos x - Complex.cos y = -2 * Complex.sin ((x + y) / 2) * Complex.sin ((x - y) / 2) - Complex.cos_bound π Mathlib.Analysis.Complex.Trigonometric
{x : β} (hx : βxβ β€ 1) : βComplex.cos x - (1 - x ^ 2 / 2)β β€ βxβ ^ 4 * (5 / 96) - Complex.cos_antiperiodic π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
: Function.Antiperiodic Complex.cos βReal.pi - Complex.cos_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
: Complex.cos βReal.pi = -1 - Complex.cos_add_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) : Complex.cos (x + βReal.pi) = -Complex.cos x - Complex.cos_pi_sub π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) : Complex.cos (βReal.pi - x) = -Complex.cos x - Complex.cos_sub_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) : Complex.cos (x - βReal.pi) = -Complex.cos x - Complex.continuous_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
: Continuous Complex.cos - Complex.continuousOn_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
{s : Set β} : ContinuousOn Complex.cos s - Complex.cos_periodic π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
: Function.Periodic Complex.cos (2 * βReal.pi) - Complex.cos_eq_zero_iff_sin_eq π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
{z : β} : Complex.cos z = 0 β Complex.sin z = 1 β¨ Complex.sin z = -1 - Complex.sin_eq_zero_iff_cos_eq π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
{z : β} : Complex.sin z = 0 β Complex.cos z = 1 β¨ Complex.cos z = -1 - Complex.cos_two_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
: Complex.cos (2 * βReal.pi) = 1 - Complex.cos_pi_div_two π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
: Complex.cos (βReal.pi / 2) = 0 - Complex.cos_add_two_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) : Complex.cos (x + 2 * βReal.pi) = Complex.cos x - Complex.cos_sub_two_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) : Complex.cos (x - 2 * βReal.pi) = Complex.cos x - Complex.cos_two_pi_sub π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) : Complex.cos (2 * βReal.pi - x) = Complex.cos x - Complex.cos_pi_div_two_sub π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) : Complex.cos (βReal.pi / 2 - x) = Complex.sin x - Complex.cos_sub_pi_div_two π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) : Complex.cos (x - βReal.pi / 2) = Complex.sin x - Complex.sin_add_pi_div_two π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) : Complex.sin (x + βReal.pi / 2) = Complex.cos x - Complex.sin_pi_div_two_sub π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) : Complex.sin (βReal.pi / 2 - x) = Complex.cos x - Complex.cos_add_pi_div_two π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) : Complex.cos (x + βReal.pi / 2) = -Complex.sin x - Complex.sin_sub_pi_div_two π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) : Complex.sin (x - βReal.pi / 2) = -Complex.cos x - Complex.cos_int_mul_two_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(n : β€) : Complex.cos (βn * (2 * βReal.pi)) = 1 - Complex.cos_nat_mul_two_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(n : β) : Complex.cos (βn * (2 * βReal.pi)) = 1 - Complex.cos_add_int_mul_two_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) (n : β€) : Complex.cos (x + βn * (2 * βReal.pi)) = Complex.cos x - Complex.cos_add_nat_mul_two_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) (n : β) : Complex.cos (x + βn * (2 * βReal.pi)) = Complex.cos x - Complex.cos_int_mul_two_pi_sub π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) (n : β€) : Complex.cos (βn * (2 * βReal.pi) - x) = Complex.cos x - Complex.cos_nat_mul_two_pi_sub π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) (n : β) : Complex.cos (βn * (2 * βReal.pi) - x) = Complex.cos x - Complex.cos_sub_int_mul_two_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) (n : β€) : Complex.cos (x - βn * (2 * βReal.pi)) = Complex.cos x - Complex.cos_sub_nat_mul_two_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(x : β) (n : β) : Complex.cos (x - βn * (2 * βReal.pi)) = Complex.cos x - Complex.cos_int_mul_two_pi_add_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(n : β€) : Complex.cos (βn * (2 * βReal.pi) + βReal.pi) = -1 - Complex.cos_int_mul_two_pi_sub_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(n : β€) : Complex.cos (βn * (2 * βReal.pi) - βReal.pi) = -1 - Complex.cos_nat_mul_two_pi_add_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(n : β) : Complex.cos (βn * (2 * βReal.pi) + βReal.pi) = -1 - Complex.cos_nat_mul_two_pi_sub_pi π Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
(n : β) : Complex.cos (βn * (2 * βReal.pi) - βReal.pi) = -1 - Complex.norm_mul_cos_add_sin_mul_I π Mathlib.Analysis.SpecialFunctions.Complex.Arg
(x : β) : ββxβ * (Complex.cos βx.arg + Complex.sin βx.arg * Complex.I) = x - Complex.arg_cos_add_sin_mul_I π Mathlib.Analysis.SpecialFunctions.Complex.Arg
{ΞΈ : β} (hΞΈ : ΞΈ β Set.Ioc (-Real.pi) Real.pi) : (Complex.cos βΞΈ + Complex.sin βΞΈ * Complex.I).arg = ΞΈ - Complex.arg_mul_cos_add_sin_mul_I π Mathlib.Analysis.SpecialFunctions.Complex.Arg
{r : β} (hr : 0 < r) {ΞΈ : β} (hΞΈ : ΞΈ β Set.Ioc (-Real.pi) Real.pi) : (βr * (Complex.cos βΞΈ + Complex.sin βΞΈ * Complex.I)).arg = ΞΈ - Complex.arg_cos_add_sin_mul_I_eq_toIocMod π Mathlib.Analysis.SpecialFunctions.Complex.Arg
(ΞΈ : β) : (Complex.cos βΞΈ + Complex.sin βΞΈ * Complex.I).arg = toIocMod Real.two_pi_pos (-Real.pi) ΞΈ - Complex.arg_mul_cos_add_sin_mul_I_eq_toIocMod π Mathlib.Analysis.SpecialFunctions.Complex.Arg
{r : β} (hr : 0 < r) (ΞΈ : β) : (βr * (Complex.cos βΞΈ + Complex.sin βΞΈ * Complex.I)).arg = toIocMod Real.two_pi_pos (-Real.pi) ΞΈ - Complex.arg_cos_add_sin_mul_I_sub π Mathlib.Analysis.SpecialFunctions.Complex.Arg
(ΞΈ : β) : (Complex.cos βΞΈ + Complex.sin βΞΈ * Complex.I).arg - ΞΈ = 2 * Real.pi * ββ(Real.pi - ΞΈ) / (2 * Real.pi)β - Complex.arg_mul_cos_add_sin_mul_I_sub π Mathlib.Analysis.SpecialFunctions.Complex.Arg
{r : β} (hr : 0 < r) (ΞΈ : β) : (βr * (Complex.cos βΞΈ + Complex.sin βΞΈ * Complex.I)).arg - ΞΈ = 2 * Real.pi * ββ(Real.pi - ΞΈ) / (2 * Real.pi)β - Complex.measurable_cos π Mathlib.MeasureTheory.Function.SpecialFunctions.Basic
: Measurable Complex.cos - Measurable.ccos π Mathlib.MeasureTheory.Function.SpecialFunctions.Basic
{Ξ± : Type u_1} {m : MeasurableSpace Ξ±} {f : Ξ± β β} (hf : Measurable f) : Measurable fun x => Complex.cos (f x) - AEMeasurable.ccos π Mathlib.MeasureTheory.Function.SpecialFunctions.Basic
{Ξ± : Type u_1} {m : MeasurableSpace Ξ±} {ΞΌ : MeasureTheory.Measure Ξ±} {f : Ξ± β β} (hf : AEMeasurable f ΞΌ) : AEMeasurable (fun x => Complex.cos (f x)) ΞΌ - Complex.analyticAt_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{x : β} : AnalyticAt β Complex.cos x - Complex.analyticOnNhd_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{s : Set β} : AnalyticOnNhd β Complex.cos s - Complex.analyticOn_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{s : Set β} : AnalyticOn β Complex.cos s - Complex.contDiff_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{n : WithTop ββ} : ContDiff β n Complex.cos - Complex.analyticWithinAt_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{x : β} {s : Set β} : AnalyticWithinAt β Complex.cos s x - Complex.logDeriv_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
: logDeriv Complex.cos = -Complex.tan - Complex.deriv_sin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
: deriv Complex.sin = Complex.cos - Complex.deriv_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{x : β} : deriv Complex.cos x = -Complex.sin x - Complex.deriv_cos' π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
: deriv Complex.cos = fun x => -Complex.sin x - Complex.iteratedDeriv_add_one_sin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
(n : β) : iteratedDeriv (n + 1) Complex.sin = iteratedDeriv n Complex.cos - ContDiff.ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{E : Type u_1} [NormedAddCommGroup E] [NormedSpace β E] {f : E β β} {n : WithTop ββ} (h : ContDiff β n f) : ContDiff β n fun x => Complex.cos (f x) - Complex.iteratedDeriv_add_one_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
(n : β) : iteratedDeriv (n + 1) Complex.cos = -iteratedDeriv n Complex.sin - ContDiffAt.ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{E : Type u_1} [NormedAddCommGroup E] [NormedSpace β E] {f : E β β} {x : E} {n : WithTop ββ} (hf : ContDiffAt β n f x) : ContDiffAt β n (fun x => Complex.cos (f x)) x - ContDiffOn.ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{E : Type u_1} [NormedAddCommGroup E] [NormedSpace β E] {f : E β β} {s : Set E} {n : WithTop ββ} (hf : ContDiffOn β n f s) : ContDiffOn β n (fun x => Complex.cos (f x)) s - ContDiffWithinAt.ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{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 => Complex.cos (f x)) s x - Complex.differentiable_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
: Differentiable β Complex.cos - Complex.differentiableAt_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{x : β} : DifferentiableAt β Complex.cos x - Complex.differentiable_iteratedDeriv_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
(n : β) : Differentiable β (iteratedDeriv n Complex.cos) - Complex.hasDerivAt_sin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
(x : β) : HasDerivAt Complex.sin (Complex.cos x) x - Complex.hasStrictDerivAt_sin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
(x : β) : HasStrictDerivAt Complex.sin (Complex.cos x) x - Complex.hasDerivAt_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
(x : β) : HasDerivAt Complex.cos (-Complex.sin x) x - Complex.hasStrictDerivAt_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
(x : β) : HasStrictDerivAt Complex.cos (-Complex.sin x) x - Complex.iteratedDeriv_even_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
(n : β) : iteratedDeriv (2 * n) Complex.cos = (-1) ^ n * Complex.cos - Complex.iteratedDeriv_odd_sin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
(n : β) : iteratedDeriv (2 * n + 1) Complex.sin = (-1) ^ n * Complex.cos - Complex.iteratedDeriv_odd_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
(n : β) : iteratedDeriv (2 * n + 1) Complex.cos = (-1) ^ (n + 1) * Complex.sin - Differentiable.ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{E : Type u_1} [NormedAddCommGroup E] [NormedSpace β E] {f : E β β} (hc : Differentiable β f) : Differentiable β fun x => Complex.cos (f x) - DifferentiableAt.ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{E : Type u_1} [NormedAddCommGroup E] [NormedSpace β E] {f : E β β} {x : E} (hc : DifferentiableAt β f x) : DifferentiableAt β (fun x => Complex.cos (f x)) x - DifferentiableOn.ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{E : Type u_1} [NormedAddCommGroup E] [NormedSpace β E] {f : E β β} {s : Set E} (hc : DifferentiableOn β f s) : DifferentiableOn β (fun x => Complex.cos (f x)) s - DifferentiableWithinAt.ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{E : Type u_1} [NormedAddCommGroup E] [NormedSpace β E] {f : E β β} {x : E} {s : Set E} (hf : DifferentiableWithinAt β f s x) : DifferentiableWithinAt β (fun x => Complex.cos (f x)) s x - deriv_csin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{f : β β β} {x : β} (hc : DifferentiableAt β f x) : deriv (fun x => Complex.sin (f x)) x = Complex.cos (f x) * deriv f x - deriv_ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{f : β β β} {x : β} (hc : DifferentiableAt β f x) : deriv (fun x => Complex.cos (f x)) x = -Complex.sin (f x) * deriv f x - derivWithin_csin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{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 - HasDerivAt.csin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{f : β β β} {f' x : β} (hf : HasDerivAt f f' x) : HasDerivAt (fun x => Complex.sin (f x)) (Complex.cos (f x) * f') x - HasStrictDerivAt.csin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{f : β β β} {f' x : β} (hf : HasStrictDerivAt f f' x) : HasStrictDerivAt (fun x => Complex.sin (f x)) (Complex.cos (f x) * f') x - derivWithin_ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{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 - HasDerivAt.ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{f : β β β} {f' x : β} (hf : HasDerivAt f f' x) : HasDerivAt (fun x => Complex.cos (f x)) (-Complex.sin (f x) * f') x - HasStrictDerivAt.ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{f : β β β} {f' x : β} (hf : HasStrictDerivAt f f' x) : HasStrictDerivAt (fun x => Complex.cos (f x)) (-Complex.sin (f x) * f') x - HasDerivWithinAt.csin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{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 - HasDerivWithinAt.ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{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 - HasFDerivAt.csin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{E : Type u_1} [NormedAddCommGroup E] [NormedSpace β E] {f : E β β} {f' : StrongDual β E} {x : E} (hf : HasFDerivAt f f' x) : HasFDerivAt (fun x => Complex.sin (f x)) (Complex.cos (f x) β’ f') x - HasStrictFDerivAt.csin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{E : Type u_1} [NormedAddCommGroup E] [NormedSpace β E] {f : E β β} {f' : StrongDual β E} {x : E} (hf : HasStrictFDerivAt f f' x) : HasStrictFDerivAt (fun x => Complex.sin (f x)) (Complex.cos (f x) β’ f') x - HasFDerivAt.ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{E : Type u_1} [NormedAddCommGroup E] [NormedSpace β E] {f : E β β} {f' : StrongDual β E} {x : E} (hf : HasFDerivAt f f' x) : HasFDerivAt (fun x => Complex.cos (f x)) (-Complex.sin (f x) β’ f') x - HasStrictFDerivAt.ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{E : Type u_1} [NormedAddCommGroup E] [NormedSpace β E] {f : E β β} {f' : StrongDual β E} {x : E} (hf : HasStrictFDerivAt f f' x) : HasStrictFDerivAt (fun x => Complex.cos (f x)) (-Complex.sin (f x) β’ f') x - HasFDerivWithinAt.csin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{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 => Complex.sin (f x)) (Complex.cos (f x) β’ f') s x - HasFDerivWithinAt.ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{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 => Complex.cos (f x)) (-Complex.sin (f x) β’ f') s x - fderiv_csin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{E : Type u_1} [NormedAddCommGroup E] [NormedSpace β E] {f : E β β} {x : E} (hc : DifferentiableAt β f x) : fderiv β (fun x => Complex.sin (f x)) x = Complex.cos (f x) β’ fderiv β f x - fderiv_ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{E : Type u_1} [NormedAddCommGroup E] [NormedSpace β E] {f : E β β} {x : E} (hc : DifferentiableAt β f x) : fderiv β (fun x => Complex.cos (f x)) x = -Complex.sin (f x) β’ fderiv β f x - fderivWithin_csin π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{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 => Complex.sin (f x)) s x = Complex.cos (f x) β’ fderivWithin β f s x - fderivWithin_ccos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv
{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 => Complex.cos (f x)) s x = -Complex.sin (f x) β’ fderivWithin β f s x - Complex.cos_surjective π Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex
: Function.Surjective Complex.cos - Complex.range_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex
: Set.range Complex.cos = Set.univ - Complex.tan_eq_zero_of_cos_eq_zero π Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex
{x : β} (h : Complex.cos x = 0) : Complex.tan x = 0 - Complex.tan_eq_zero_iff' π Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex
{ΞΈ : β} (hΞΈ : Complex.cos ΞΈ β 0) : Complex.tan ΞΈ = 0 β β k, βk * βReal.pi = ΞΈ - Complex.continuousOn_tan π Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex
: ContinuousOn Complex.tan {x | Complex.cos x β 0} - Complex.cos_eq_one_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex
{x : β} : Complex.cos x = 1 β β k, βk * (2 * βReal.pi) = x - Complex.cos_eq_neg_one_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex
{x : β} : Complex.cos x = -1 β β k, βReal.pi + βk * (2 * βReal.pi) = x - Complex.cos_ne_zero_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex
{ΞΈ : β} : Complex.cos ΞΈ β 0 β β (k : β€), ΞΈ β (2 * βk + 1) * βReal.pi / 2 - Complex.cos_eq_zero_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex
{ΞΈ : β} : Complex.cos ΞΈ = 0 β β k, ΞΈ = (2 * βk + 1) * βReal.pi / 2 - Complex.continuous_tan π Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex
: Continuous fun x => Complex.tan βx - Complex.cos_eq_iff_quadratic π Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex
{z w : β} : Complex.cos z = w β Complex.exp (z * Complex.I) ^ 2 - 2 * w * Complex.exp (z * Complex.I) + 1 = 0 - Complex.cos_eq_cos_iff π Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex
{x y : β} : Complex.cos x = Complex.cos y β β k, y = 2 * βk * βReal.pi + x β¨ y = 2 * βk * βReal.pi - x - Complex.cos_eq_two_mul_tan_half_div_one_sub_tan_half_sq π Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex
(x : β) (h : Complex.cos x β -1) : Complex.cos x = (1 - Complex.tan (x / 2) ^ 2) / (1 + Complex.tan (x / 2) ^ 2) - Complex.sin_mul_sum_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex
(n : β) (a b : β) : Complex.sin (a / 2) * β i β Finset.range n, Complex.cos (a * βi + b) = Complex.sin (βn * a / 2) * Complex.cos ((βn - 1) * a / 2 + b) - Complex.sum_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex
(n : β) {a : β} (h : β (k : β€), a β βk * (2 * βReal.pi)) (b : β) : β i β Finset.range n, Complex.cos (a * βi + b) = Complex.sin (βn * a / 2) * Complex.cos ((βn - 1) * a / 2 + b) / Complex.sin (a / 2) - Complex.contDiffAt_tan π Mathlib.Analysis.SpecialFunctions.Trigonometric.ComplexDeriv
{x : β} {n : WithTop ββ} : ContDiffAt β n Complex.tan x β Complex.cos x β 0 - Complex.continuousAt_tan π Mathlib.Analysis.SpecialFunctions.Trigonometric.ComplexDeriv
{x : β} : ContinuousAt Complex.tan x β Complex.cos x β 0 - Complex.tendsto_norm_tan_of_cos_eq_zero π Mathlib.Analysis.SpecialFunctions.Trigonometric.ComplexDeriv
{x : β} (hx : Complex.cos x = 0) : Filter.Tendsto (fun x => βComplex.tan xβ) (nhdsWithin x {x}αΆ) Filter.atTop - Complex.deriv_tan π Mathlib.Analysis.SpecialFunctions.Trigonometric.ComplexDeriv
(x : β) : deriv Complex.tan x = 1 / Complex.cos x ^ 2 - Complex.differentiableAt_tan π Mathlib.Analysis.SpecialFunctions.Trigonometric.ComplexDeriv
{x : β} : DifferentiableAt β Complex.tan x β Complex.cos x β 0 - Complex.hasDerivAt_tan π Mathlib.Analysis.SpecialFunctions.Trigonometric.ComplexDeriv
{x : β} (h : Complex.cos x β 0) : HasDerivAt Complex.tan (1 / Complex.cos x ^ 2) x - Complex.hasStrictDerivAt_tan π Mathlib.Analysis.SpecialFunctions.Trigonometric.ComplexDeriv
{x : β} (h : Complex.cos x β 0) : HasStrictDerivAt Complex.tan (1 / Complex.cos x ^ 2) x - integral_cos_mul_complex π Mathlib.Analysis.SpecialFunctions.Integrals.Basic
{z : β} (hz : z β 0) (a b : β) : β« (x : β) in a..b, Complex.cos (z * βx) = Complex.sin (z * βb) / z - Complex.sin (z * βa) / z - EulerSine.antideriv_cos_comp_const_mul π Mathlib.Analysis.SpecialFunctions.Trigonometric.EulerSineProd
{z : β} (hz : z β 0) (x : β) : HasDerivAt (fun y => Complex.sin (2 * z * βy) / (2 * z)) (Complex.cos (2 * z * βx)) x - EulerSine.antideriv_sin_comp_const_mul π Mathlib.Analysis.SpecialFunctions.Trigonometric.EulerSineProd
{z : β} (hz : z β 0) (x : β) : HasDerivAt (fun y => -Complex.cos (2 * z * βy) / (2 * z)) (Complex.sin (2 * z * βx)) x - EulerSine.integral_cos_mul_cos_pow_aux π Mathlib.Analysis.SpecialFunctions.Trigonometric.EulerSineProd
{z : β} {n : β} (hn : 2 β€ n) (hz : z β 0) : β« (x : β) in 0..Real.pi / 2, Complex.cos (2 * z * βx) * β(Real.cos x) ^ n = βn / (2 * z) * β« (x : β) in 0..Real.pi / 2, Complex.sin (2 * z * βx) * β(Real.sin x) * β(Real.cos x) ^ (n - 1) - EulerSine.sin_pi_mul_eq π Mathlib.Analysis.SpecialFunctions.Trigonometric.EulerSineProd
(z : β) (n : β) : Complex.sin (βReal.pi * z) = ((βReal.pi * z * β j β Finset.range n, (1 - z ^ 2 / (βj + 1) ^ 2)) * β« (x : β) in 0..Real.pi / 2, Complex.cos (2 * z * βx) * β(Real.cos x) ^ (2 * n)) / β(β« (x : β) in 0..Real.pi / 2, Real.cos x ^ (2 * n)) - EulerSine.integral_cos_mul_cos_pow π Mathlib.Analysis.SpecialFunctions.Trigonometric.EulerSineProd
{z : β} {n : β} (hn : 2 β€ n) (hz : z β 0) : (1 - 4 * z ^ 2 / βn ^ 2) * β« (x : β) in 0..Real.pi / 2, Complex.cos (2 * z * βx) * β(Real.cos x) ^ n = (βn - 1) / βn * β« (x : β) in 0..Real.pi / 2, Complex.cos (2 * z * βx) * β(Real.cos x) ^ (n - 2) - EulerSine.integral_cos_mul_cos_pow_even π Mathlib.Analysis.SpecialFunctions.Trigonometric.EulerSineProd
{z : β} (n : β) (hz : z β 0) : (1 - z ^ 2 / (βn + 1) ^ 2) * β« (x : β) in 0..Real.pi / 2, Complex.cos (2 * z * βx) * β(Real.cos x) ^ (2 * n + 2) = (2 * βn + 1) / (2 * βn + 2) * β« (x : β) in 0..Real.pi / 2, Complex.cos (2 * z * βx) * β(Real.cos x) ^ (2 * n) - EulerSine.integral_sin_mul_sin_mul_cos_pow_eq π Mathlib.Analysis.SpecialFunctions.Trigonometric.EulerSineProd
{z : β} {n : β} (hn : 2 β€ n) (hz : z β 0) : β« (x : β) in 0..Real.pi / 2, Complex.sin (2 * z * βx) * β(Real.sin x) * β(Real.cos x) ^ (n - 1) = (βn / (2 * z) * β« (x : β) in 0..Real.pi / 2, Complex.cos (2 * z * βx) * β(Real.cos x) ^ n) - (βn - 1) / (2 * z) * β« (x : β) in 0..Real.pi / 2, Complex.cos (2 * z * βx) * β(Real.cos x) ^ (n - 2) - Complex.hasSum_cos' π Mathlib.Analysis.SpecialFunctions.Trigonometric.Series
(z : β) : HasSum (fun n => (z * Complex.I) ^ (2 * n) / β(2 * n).factorial) (Complex.cos z) - Complex.cos_eq_tsum' π Mathlib.Analysis.SpecialFunctions.Trigonometric.Series
(z : β) : Complex.cos z = β' (n : β), (z * Complex.I) ^ (2 * n) / β(2 * n).factorial - Complex.hasSum_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Series
(z : β) : HasSum (fun n => (-1) ^ n * z ^ (2 * n) / β(2 * n).factorial) (Complex.cos z) - Complex.cos_eq_tsum π Mathlib.Analysis.SpecialFunctions.Trigonometric.Series
(z : β) : Complex.cos z = β' (n : β), (-1) ^ n * z ^ (2 * n) / β(2 * n).factorial - Complex.cos_ne_zero_of_arctan_bounds π Mathlib.Analysis.SpecialFunctions.Complex.Arctan
{z : β} (hβ : z β βReal.pi / 2) (hβ : -(Real.pi / 2) < z.re) (hβ : z.re β€ Real.pi / 2) : Complex.cos z β 0 - Complex.Gammaβ_one_sub_mul_Gammaβ_one_add π Mathlib.Analysis.SpecialFunctions.Gamma.Deligne
(s : β) : (1 - s).Gammaβ * (1 + s).Gammaβ = (Complex.cos (βReal.pi * s / 2))β»ΒΉ - Complex.inv_Gammaβ_one_sub π Mathlib.Analysis.SpecialFunctions.Gamma.Deligne
{s : β} (hs : β (n : β), s β -βn) : (1 - s).Gammaββ»ΒΉ = s.Gammaβ * Complex.cos (βReal.pi * s / 2) * s.Gammaββ»ΒΉ - Complex.Gammaβ_div_Gammaβ_one_sub π Mathlib.Analysis.SpecialFunctions.Gamma.Deligne
{s : β} (hs : β (n : β), s β -(2 * βn + 1)) : s.Gammaβ / (1 - s).Gammaβ = s.Gammaβ * Complex.cos (βReal.pi * s / 2) - Polynomial.Chebyshev.T_complex_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Chebyshev.Basic
(ΞΈ : β) (n : β€) : Polynomial.eval (Complex.cos ΞΈ) (Polynomial.Chebyshev.T β n) = Complex.cos (βn * ΞΈ) - Polynomial.Chebyshev.U_complex_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Chebyshev.Basic
(ΞΈ : β) (n : β€) : Polynomial.eval (Complex.cos ΞΈ) (Polynomial.Chebyshev.U β n) * Complex.sin ΞΈ = Complex.sin ((βn + 1) * ΞΈ) - Polynomial.Chebyshev.S_two_mul_complex_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Chebyshev.Basic
(ΞΈ : β) (n : β€) : Polynomial.eval (2 * Complex.cos ΞΈ) (Polynomial.Chebyshev.S β n) * Complex.sin ΞΈ = Complex.sin ((βn + 1) * ΞΈ) - Polynomial.Chebyshev.C_two_mul_complex_cos π Mathlib.Analysis.SpecialFunctions.Trigonometric.Chebyshev.Basic
(ΞΈ : β) (n : β€) : Polynomial.eval (2 * Complex.cos ΞΈ) (Polynomial.Chebyshev.C β n) = 2 * Complex.cos (βn * ΞΈ) - Complex.isAlgebraic_cos_rat_mul_pi π Mathlib.NumberTheory.Niven
(q : β) : IsAlgebraic β€ (Complex.cos (βq * βReal.pi)) - Complex.isIntegral_two_mul_cos_rat_mul_pi π Mathlib.NumberTheory.Niven
(q : β) : IsIntegral β€ (2 * Complex.cos (βq * βReal.pi)) - HurwitzZeta.cosZeta_one_sub π Mathlib.NumberTheory.LSeries.HurwitzZetaEven
(a : UnitAddCircle) {s : β} (hs : β (n : β), s β 1 - βn) : HurwitzZeta.cosZeta a (1 - s) = 2 * (2 * βReal.pi) ^ (-s) * Complex.Gamma s * Complex.cos (βReal.pi * s / 2) * HurwitzZeta.hurwitzZetaEven a s - HurwitzZeta.hurwitzZetaEven_one_sub π Mathlib.NumberTheory.LSeries.HurwitzZetaEven
(a : UnitAddCircle) {s : β} (hs : β (n : β), s β -βn) (hs' : a β 0 β¨ s β 1) : HurwitzZeta.hurwitzZetaEven a (1 - s) = 2 * (2 * βReal.pi) ^ (-s) * Complex.Gamma s * Complex.cos (βReal.pi * s / 2) * HurwitzZeta.cosZeta a s - riemannZeta_one_sub π Mathlib.NumberTheory.LSeries.RiemannZeta
{s : β} (hs : β (n : β), s β -βn) (hs' : s β 1) : riemannZeta (1 - s) = 2 * (2 * βReal.pi) ^ (-s) * Complex.Gamma s * Complex.cos (βReal.pi * s / 2) * riemannZeta s
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
πReal.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
π"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
π_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
πReal.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
π(?a -> ?b) -> List ?a -> List ?b
πList ?a -> (?a -> ?b) -> List ?bBy main conclusion:
π|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of allβandβ) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
π|- _ < _ β tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
β’ (_ : Type _)finds all definitions which provide data whileβ’ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
π Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ β _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision ce5dd8c