Update holomorphic.primitive.lean

This commit is contained in:
Stefan Kebekus 2024-06-18 19:24:18 +02:00
parent decb648c24
commit 50591a54c2
1 changed files with 60 additions and 19 deletions

View File

@ -434,6 +434,47 @@ theorem primitive_fderivAtBasepoint
exact hasDerivAt_id z₀ exact hasDerivAt_id z₀
lemma integrability₁
{E : Type u} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E]
(f : → E)
(hf : Differentiable f)
(a₁ a₂ b : ) :
IntervalIntegrable (fun x => f { re := x, im := b }) MeasureTheory.volume a₁ a₂ := by
apply Continuous.intervalIntegrable
apply Continuous.comp
exact Differentiable.continuous hf
have : ((fun x => { re := x, im := b }) : ) = (fun x => Complex.ofRealCLM x + { re := 0, im := b }) := by
funext x
apply Complex.ext
rw [Complex.add_re]
simp
rw [Complex.add_im]
simp
rw [this]
continuity
lemma integrability₂
{E : Type u} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E]
(f : → E)
(hf : Differentiable f)
(a₁ a₂ b : ) :
IntervalIntegrable (fun x => f { re := b, im := x }) MeasureTheory.volume a₁ a₂ := by
apply Continuous.intervalIntegrable
apply Continuous.comp
exact Differentiable.continuous hf
have : ((fun x => { re := b, im := x }) : ) = (fun x => Complex.I • Complex.ofRealCLM x + { re := b, im := 0 }) := by
funext x
apply Complex.ext
rw [Complex.add_re]
simp
simp
rw [this]
apply Continuous.add
continuity
fun_prop
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)
@ -444,29 +485,15 @@ theorem primitive_additivity
unfold primitive unfold primitive
have : (∫ (x : ) in z₀.re..z.re, f { re := x, im := z₀.im }) = (∫ (x : ) in z₀.re..z₁.re, f { re := x, im := z₀.im }) + (∫ (x : ) in z₁.re..z.re, f { re := x, im := z₀.im }) := by have : (∫ (x : ) in z₀.re..z.re, f { re := x, im := z₀.im }) = (∫ (x : ) in z₀.re..z₁.re, f { re := x, im := z₀.im }) + (∫ (x : ) in z₁.re..z.re, f { re := x, im := z₀.im }) := by
rw [intervalIntegral.integral_add_adjacent_intervals] rw [intervalIntegral.integral_add_adjacent_intervals]
apply Continuous.intervalIntegrable apply integrability₁ f hf
apply Continuous.comp apply integrability₁ f hf
exact Differentiable.continuous hf
sorry
--
apply Continuous.intervalIntegrable
apply Continuous.comp
exact Differentiable.continuous hf
sorry
rw [this] rw [this]
have : (∫ (x : ) in z₀.im..z.im, f { re := z.re, im := x }) = (∫ (x : ) in z₀.im..z₁.im, f { re := z.re, im := x }) + (∫ (x : ) in z₁.im..z.im, f { re := z.re, im := x }) := by have : (∫ (x : ) in z₀.im..z.im, f { re := z.re, im := x }) = (∫ (x : ) in z₀.im..z₁.im, f { re := z.re, im := x }) + (∫ (x : ) in z₁.im..z.im, f { re := z.re, im := x }) := by
rw [intervalIntegral.integral_add_adjacent_intervals] rw [intervalIntegral.integral_add_adjacent_intervals]
apply Continuous.intervalIntegrable apply integrability₂ f hf
apply Continuous.comp apply integrability₂ f hf
exact Differentiable.continuous hf
sorry
--
apply Continuous.intervalIntegrable
apply Continuous.comp
exact Differentiable.continuous hf
sorry
rw [this] rw [this]
simp simp
@ -478,3 +505,17 @@ theorem primitive_additivity
rw [this] rw [this]
rw [A] rw [A]
abel abel
theorem primitive_fderiv
{E : Type u} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E]
{z₀ z : }
(f : → E)
(hf : Differentiable f) :
HasDerivAt (primitive z₀ f) (f z) z := by
rw [primitive_additivity f hf z₀ z]
rw [← add_zero (f z)]
apply HasDerivAt.add
apply primitive_fderivAtBasepoint
exact hf.continuous
apply hasDerivAt_const