Compare commits
2 Commits
9294d89ef1
...
c041cff4ad
Author | SHA1 | Date |
---|---|---|
Stefan Kebekus | c041cff4ad | |
Stefan Kebekus | 6759baea2f |
|
@ -21,7 +21,7 @@ theorem primitive_zeroAtBasepoint
|
||||||
theorem primitive_fderivAtBasepointZero
|
theorem primitive_fderivAtBasepointZero
|
||||||
{E : Type u} [NormedAddCommGroup E] [NormedSpace ℂ E] [CompleteSpace E]
|
{E : Type u} [NormedAddCommGroup E] [NormedSpace ℂ E] [CompleteSpace E]
|
||||||
(f : ℂ → E)
|
(f : ℂ → E)
|
||||||
(hf : Continuous f) :
|
(hf : ContinuousAt f 0) :
|
||||||
HasDerivAt (primitive 0 f) (f 0) 0 := by
|
HasDerivAt (primitive 0 f) (f 0) 0 := by
|
||||||
unfold primitive
|
unfold primitive
|
||||||
simp
|
simp
|
||||||
|
@ -253,8 +253,8 @@ theorem primitive_translation
|
||||||
theorem primitive_hasDerivAtBasepoint
|
theorem primitive_hasDerivAtBasepoint
|
||||||
{E : Type u} [NormedAddCommGroup E] [NormedSpace ℂ E] [CompleteSpace E]
|
{E : Type u} [NormedAddCommGroup E] [NormedSpace ℂ E] [CompleteSpace E]
|
||||||
{f : ℂ → E}
|
{f : ℂ → E}
|
||||||
(hf : Continuous f)
|
(z₀ : ℂ)
|
||||||
(z₀ : ℂ) :
|
(hf : ContinuousAt f z₀) :
|
||||||
HasDerivAt (primitive z₀ f) (f z₀) z₀ := by
|
HasDerivAt (primitive z₀ f) (f z₀) z₀ := by
|
||||||
|
|
||||||
let g := f ∘ fun z ↦ z + z₀
|
let g := f ∘ fun z ↦ z + z₀
|
||||||
|
@ -539,81 +539,96 @@ theorem primitive_additivity
|
||||||
theorem primitive_additivity'
|
theorem primitive_additivity'
|
||||||
{E : Type u} [NormedAddCommGroup E] [NormedSpace ℂ E] [CompleteSpace E]
|
{E : Type u} [NormedAddCommGroup E] [NormedSpace ℂ E] [CompleteSpace E]
|
||||||
(f : ℂ → E)
|
(f : ℂ → E)
|
||||||
(hf : Differentiable ℂ f)
|
(z₀ : ℂ)
|
||||||
(z₀ z₁ : ℂ) :
|
(R : ℝ)
|
||||||
primitive z₀ f = fun z ↦ (primitive z₁ f) z + (primitive z₀ f z₁) := by
|
(hf : DifferentiableOn ℂ f (Metric.ball z₀ R))
|
||||||
|
(z₁ : ℂ)
|
||||||
nth_rw 1 [← sub_zero (primitive z₀ f)]
|
(hz₁ : z₁ ∈ (Metric.ball z₀ R))
|
||||||
rw [← primitive_additivity f hf z₀ z₁]
|
:
|
||||||
|
primitive z₀ f =ᶠ[nhds z₁] fun z ↦ (primitive z₁ f z) + (primitive z₀ f z₁) := by
|
||||||
funext z
|
sorry
|
||||||
simp
|
|
||||||
abel
|
|
||||||
|
|
||||||
|
|
||||||
theorem primitive_hasDerivAt
|
theorem primitive_hasDerivAt
|
||||||
{E : Type u} [NormedAddCommGroup E] [NormedSpace ℂ E] [CompleteSpace E]
|
{E : Type u} [NormedAddCommGroup E] [NormedSpace ℂ E] [CompleteSpace E]
|
||||||
{f : ℂ → E}
|
(f : ℂ → E)
|
||||||
(hf : Differentiable ℂ f)
|
(z₀ z : ℂ)
|
||||||
(z₀ z : ℂ) :
|
(R : ℝ)
|
||||||
|
(hf : DifferentiableOn ℂ f (Metric.ball z₀ R))
|
||||||
|
(hz : z ∈ Metric.ball z₀ R) :
|
||||||
HasDerivAt (primitive z₀ f) (f z) z := by
|
HasDerivAt (primitive z₀ f) (f z) z := by
|
||||||
rw [primitive_additivity' f hf z₀ z]
|
|
||||||
|
let A := primitive_additivity' f z₀ R hf z hz
|
||||||
|
rw [Filter.EventuallyEq.hasDerivAt_iff A]
|
||||||
rw [← add_zero (f z)]
|
rw [← add_zero (f z)]
|
||||||
apply HasDerivAt.add
|
apply HasDerivAt.add
|
||||||
apply primitive_hasDerivAtBasepoint
|
apply primitive_hasDerivAtBasepoint
|
||||||
exact hf.continuous
|
|
||||||
|
apply hf.continuousOn.continuousAt
|
||||||
|
apply (IsOpen.mem_nhds_iff Metric.isOpen_ball).2 hz
|
||||||
apply hasDerivAt_const
|
apply hasDerivAt_const
|
||||||
|
|
||||||
|
|
||||||
theorem primitive_differentiable
|
theorem primitive_differentiable
|
||||||
{E : Type u} [NormedAddCommGroup E] [NormedSpace ℂ E] [CompleteSpace E]
|
{E : Type u} [NormedAddCommGroup E] [NormedSpace ℂ E] [CompleteSpace E]
|
||||||
{f : ℂ → E}
|
{f : ℂ → E}
|
||||||
(hf : Differentiable ℂ f)
|
(z₀ : ℂ)
|
||||||
(z₀ : ℂ) :
|
(R : ℝ)
|
||||||
Differentiable ℂ (primitive z₀ f) := by
|
(hf : DifferentiableOn ℂ f (Metric.ball z₀ R))
|
||||||
intro z
|
:
|
||||||
exact (primitive_hasDerivAt hf z₀ z).differentiableAt
|
DifferentiableOn ℂ (primitive z₀ f) (Metric.ball z₀ R) := by
|
||||||
|
intro z hz
|
||||||
|
apply DifferentiableAt.differentiableWithinAt
|
||||||
|
exact (primitive_hasDerivAt f z₀ z R hf hz).differentiableAt
|
||||||
|
|
||||||
|
|
||||||
theorem primitive_hasFderivAt
|
theorem primitive_hasFderivAt
|
||||||
{E : Type u} [NormedAddCommGroup E] [NormedSpace ℂ E] [CompleteSpace E]
|
{E : Type u} [NormedAddCommGroup E] [NormedSpace ℂ E] [CompleteSpace E]
|
||||||
{f : ℂ → E}
|
{f : ℂ → E}
|
||||||
(hf : Differentiable ℂ f)
|
(z₀ : ℂ)
|
||||||
(z₀ : ℂ) :
|
(R : ℝ)
|
||||||
∀ z, HasFDerivAt (primitive z₀ f) ((ContinuousLinearMap.lsmul ℂ ℂ).flip (f z)) z := by
|
(hf : DifferentiableOn ℂ f (Metric.ball z₀ R))
|
||||||
intro z
|
:
|
||||||
|
∀ z ∈ Metric.ball z₀ R, HasFDerivAt (primitive z₀ f) ((ContinuousLinearMap.lsmul ℂ ℂ).flip (f z)) z := by
|
||||||
|
intro z hz
|
||||||
rw [hasFDerivAt_iff_hasDerivAt]
|
rw [hasFDerivAt_iff_hasDerivAt]
|
||||||
simp
|
simp
|
||||||
exact primitive_hasDerivAt hf z₀ z
|
apply primitive_hasDerivAt f z₀ z R hf hz
|
||||||
|
|
||||||
|
|
||||||
theorem primitive_hasFderivAt'
|
theorem primitive_hasFderivAt'
|
||||||
{f : ℂ → ℂ}
|
{f : ℂ → ℂ}
|
||||||
(hf : Differentiable ℂ f)
|
(z₀ : ℂ)
|
||||||
(z₀ : ℂ) :
|
(R : ℝ)
|
||||||
∀ z, HasFDerivAt (primitive z₀ f) (ContinuousLinearMap.lsmul ℂ ℂ (f z)) z := by
|
(hf : DifferentiableOn ℂ f (Metric.ball z₀ R))
|
||||||
intro z
|
:
|
||||||
|
∀ z ∈ Metric.ball z₀ R, HasFDerivAt (primitive z₀ f) (ContinuousLinearMap.lsmul ℂ ℂ (f z)) z := by
|
||||||
|
intro z hz
|
||||||
rw [hasFDerivAt_iff_hasDerivAt]
|
rw [hasFDerivAt_iff_hasDerivAt]
|
||||||
simp
|
simp
|
||||||
exact primitive_hasDerivAt hf z₀ z
|
exact primitive_hasDerivAt f z₀ z R hf hz
|
||||||
|
|
||||||
|
|
||||||
theorem primitive_fderiv
|
theorem primitive_fderiv
|
||||||
{E : Type u} [NormedAddCommGroup E] [NormedSpace ℂ E] [CompleteSpace E]
|
{E : Type u} [NormedAddCommGroup E] [NormedSpace ℂ E] [CompleteSpace E]
|
||||||
{f : ℂ → E}
|
{f : ℂ → E}
|
||||||
(hf : Differentiable ℂ f)
|
(z₀ : ℂ)
|
||||||
(z₀ : ℂ) :
|
(R : ℝ)
|
||||||
∀ z, (fderiv ℂ (primitive z₀ f) z) = (ContinuousLinearMap.lsmul ℂ ℂ).flip (f z) := by
|
(hf : DifferentiableOn ℂ f (Metric.ball z₀ R))
|
||||||
intro z
|
:
|
||||||
|
∀ z ∈ Metric.ball z₀ R, (fderiv ℂ (primitive z₀ f) z) = (ContinuousLinearMap.lsmul ℂ ℂ).flip (f z) := by
|
||||||
|
intro z hz
|
||||||
apply HasFDerivAt.fderiv
|
apply HasFDerivAt.fderiv
|
||||||
exact primitive_hasFderivAt hf z₀ z
|
exact primitive_hasFderivAt z₀ R hf z hz
|
||||||
|
|
||||||
|
|
||||||
theorem primitive_fderiv'
|
theorem primitive_fderiv'
|
||||||
{f : ℂ → ℂ}
|
{f : ℂ → ℂ}
|
||||||
(hf : Differentiable ℂ f)
|
(z₀ : ℂ)
|
||||||
(z₀ : ℂ) :
|
(R : ℝ)
|
||||||
∀ z, (fderiv ℂ (primitive z₀ f) z) = ContinuousLinearMap.lsmul ℂ ℂ (f z) := by
|
(hf : DifferentiableOn ℂ f (Metric.ball z₀ R))
|
||||||
intro z
|
:
|
||||||
|
∀ z ∈ Metric.ball z₀ R, (fderiv ℂ (primitive z₀ f) z) = ContinuousLinearMap.lsmul ℂ ℂ (f z) := by
|
||||||
|
intro z hz
|
||||||
apply HasFDerivAt.fderiv
|
apply HasFDerivAt.fderiv
|
||||||
exact primitive_hasFderivAt' hf z₀ z
|
exact primitive_hasFderivAt' z₀ R hf z hz
|
||||||
|
|
Loading…
Reference in New Issue