Compare commits

..

2 Commits

Author SHA1 Message Date
Stefan Kebekus
c041cff4ad working 2024-08-05 13:41:41 +02:00
Stefan Kebekus
6759baea2f Update holomorphic_primitive2.lean 2024-08-05 12:41:05 +02:00

View File

@@ -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