Smoothness of Real.sqrt
#
In this file we prove that Real.sqrt
is infinitely smooth at all points x ≠ 0
and provide some
dot-notation lemmas.
Tags #
sqrt, differentiable
Local homeomorph between (0, +∞)
and (0, +∞)
with toFun = (· ^ 2)
and
invFun = Real.sqrt
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Real.deriv_sqrt_aux
{x : ℝ}
(hx : x ≠ 0)
:
HasStrictDerivAt (fun (x : ℝ) => x.sqrt) (1 / (2 * x.sqrt)) x ∧ ∀ (n : ℕ∞), ContDiffAt ℝ n (fun (x : ℝ) => x.sqrt) x
theorem
Real.hasStrictDerivAt_sqrt
{x : ℝ}
(hx : x ≠ 0)
:
HasStrictDerivAt (fun (x : ℝ) => x.sqrt) (1 / (2 * x.sqrt)) x
theorem
Real.contDiffAt_sqrt
{x : ℝ}
{n : ℕ∞}
(hx : x ≠ 0)
:
ContDiffAt ℝ n (fun (x : ℝ) => x.sqrt) x
theorem
Real.hasDerivAt_sqrt
{x : ℝ}
(hx : x ≠ 0)
:
HasDerivAt (fun (x : ℝ) => x.sqrt) (1 / (2 * x.sqrt)) x
theorem
HasDerivWithinAt.sqrt
{f : ℝ → ℝ}
{s : Set ℝ}
{f' : ℝ}
{x : ℝ}
(hf : HasDerivWithinAt f f' s x)
(hx : f x ≠ 0)
:
HasDerivWithinAt (fun (y : ℝ) => (f y).sqrt) (f' / (2 * (f x).sqrt)) s x
theorem
HasDerivAt.sqrt
{f : ℝ → ℝ}
{f' : ℝ}
{x : ℝ}
(hf : HasDerivAt f f' x)
(hx : f x ≠ 0)
:
HasDerivAt (fun (y : ℝ) => (f y).sqrt) (f' / (2 * (f x).sqrt)) x
theorem
HasStrictDerivAt.sqrt
{f : ℝ → ℝ}
{f' : ℝ}
{x : ℝ}
(hf : HasStrictDerivAt f f' x)
(hx : f x ≠ 0)
:
HasStrictDerivAt (fun (t : ℝ) => (f t).sqrt) (f' / (2 * (f x).sqrt)) x
theorem
derivWithin_sqrt
{f : ℝ → ℝ}
{s : Set ℝ}
{x : ℝ}
(hf : DifferentiableWithinAt ℝ f s x)
(hx : f x ≠ 0)
(hxs : UniqueDiffWithinAt ℝ s x)
:
derivWithin (fun (x : ℝ) => (f x).sqrt) s x = derivWithin f s x / (2 * (f x).sqrt)
theorem
HasFDerivAt.sqrt
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{x : E}
{f' : E →L[ℝ] ℝ}
(hf : HasFDerivAt f f' x)
(hx : f x ≠ 0)
:
HasFDerivAt (fun (y : E) => (f y).sqrt) ((1 / (2 * (f x).sqrt)) • f') x
theorem
HasStrictFDerivAt.sqrt
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{x : E}
{f' : E →L[ℝ] ℝ}
(hf : HasStrictFDerivAt f f' x)
(hx : f x ≠ 0)
:
HasStrictFDerivAt (fun (y : E) => (f y).sqrt) ((1 / (2 * (f x).sqrt)) • f') x
theorem
HasFDerivWithinAt.sqrt
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{s : Set E}
{x : E}
{f' : E →L[ℝ] ℝ}
(hf : HasFDerivWithinAt f f' s x)
(hx : f x ≠ 0)
:
HasFDerivWithinAt (fun (y : E) => (f y).sqrt) ((1 / (2 * (f x).sqrt)) • f') s x
theorem
DifferentiableWithinAt.sqrt
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{s : Set E}
{x : E}
(hf : DifferentiableWithinAt ℝ f s x)
(hx : f x ≠ 0)
:
DifferentiableWithinAt ℝ (fun (y : E) => (f y).sqrt) s x
theorem
DifferentiableAt.sqrt
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{x : E}
(hf : DifferentiableAt ℝ f x)
(hx : f x ≠ 0)
:
DifferentiableAt ℝ (fun (y : E) => (f y).sqrt) x
theorem
DifferentiableOn.sqrt
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{s : Set E}
(hf : DifferentiableOn ℝ f s)
(hs : ∀ x ∈ s, f x ≠ 0)
:
DifferentiableOn ℝ (fun (y : E) => (f y).sqrt) s
theorem
Differentiable.sqrt
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
(hf : Differentiable ℝ f)
(hs : ∀ (x : E), f x ≠ 0)
:
Differentiable ℝ fun (y : E) => (f y).sqrt
theorem
fderivWithin_sqrt
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{s : Set E}
{x : E}
(hf : DifferentiableWithinAt ℝ f s x)
(hx : f x ≠ 0)
(hxs : UniqueDiffWithinAt ℝ s x)
:
fderivWithin ℝ (fun (x : E) => (f x).sqrt) s x = (1 / (2 * (f x).sqrt)) • fderivWithin ℝ f s x
@[simp]
theorem
fderiv_sqrt
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{x : E}
(hf : DifferentiableAt ℝ f x)
(hx : f x ≠ 0)
:
theorem
ContDiffAt.sqrt
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{n : ℕ∞}
{x : E}
(hf : ContDiffAt ℝ n f x)
(hx : f x ≠ 0)
:
ContDiffAt ℝ n (fun (y : E) => (f y).sqrt) x
theorem
ContDiffWithinAt.sqrt
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{n : ℕ∞}
{s : Set E}
{x : E}
(hf : ContDiffWithinAt ℝ n f s x)
(hx : f x ≠ 0)
:
ContDiffWithinAt ℝ n (fun (y : E) => (f y).sqrt) s x
theorem
ContDiffOn.sqrt
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{n : ℕ∞}
{s : Set E}
(hf : ContDiffOn ℝ n f s)
(hs : ∀ x ∈ s, f x ≠ 0)
:
ContDiffOn ℝ n (fun (y : E) => (f y).sqrt) s
theorem
ContDiff.sqrt
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{n : ℕ∞}
(hf : ContDiff ℝ n f)
(h : ∀ (x : E), f x ≠ 0)
: