Compare commits

..

No commits in common. "dd207b19a2a354420ce0434cf726730a29d33dcf" and "d4de5d8b5a4b61b2f1e704688c0e470924a7a7cb" have entirely different histories.

2 changed files with 18 additions and 116 deletions

View File

@ -1,3 +1,4 @@
import Mathlib.Analysis.SpecialFunctions.Complex.LogDeriv
import Nevanlinna.complexHarmonic
import Nevanlinna.holomorphicAt
import Nevanlinna.holomorphic_primitive
@ -106,7 +107,7 @@ A harmonic, real-valued function on is the real part of a suitable holomorph
theorem harmonic_is_realOfHolomorphic
{f : }
(hf : ∀ z, HarmonicAt f z) :
∃ F : , ∀ z, HolomorphicAt F z ∧ (Complex.reCLM ∘ F = f) := by
∃ F : , ∀ z, (HolomorphicAt F z ∧ ((F z).re = f z)) := by
let f_1 : := Complex.ofRealCLM ∘ (partialDeriv 1 f)
let f_I : := Complex.ofRealCLM ∘ (partialDeriv Complex.I f)
@ -193,64 +194,20 @@ theorem harmonic_is_realOfHolomorphic
apply Differentiable.const_smul
exact reg₁f_I.differentiable le_rfl
let F := fun z ↦ (primitive 0 g) z + f 0
have regF : Differentiable F := by
apply Differentiable.add
apply primitive_differentiable reg₁
simp
have pF'' : ∀ x, (fderiv F x) = ContinuousLinearMap.lsmul (g x) := by
intro x
rw [DifferentiableAt.fderiv_restrictScalars (regF x)]
dsimp [F]
rw [fderiv_add_const]
rw [primitive_fderiv']
exact rfl
exact reg₁
let F := primitive 0 g
use F
intro z
constructor
· -- HolomorphicAt F z
apply HolomorphicAt_iff.2
use Set.univ
use {z : | true}
constructor
· exact isOpen_const
· constructor
· simp
· intro w _
exact regF w
· intro w hw
let A : HasDerivAt (primitive 0 g) (g w) w := primitive_fderiv g reg₁
apply A.differentiableAt
· -- (F z).re = f z
have A := reg₂f.differentiable one_le_two
have B : Differentiable (Complex.reCLM ∘ F) := by
apply Differentiable.comp
exact ContinuousLinearMap.differentiable Complex.reCLM
exact Differentiable.restrictScalars regF
have C : (F 0).re = f 0 := by
dsimp [F]
rw [primitive_zeroAtBasepoint]
simp
apply eq_of_fderiv_eq B A _ 0 C
intro x
rw [fderiv.comp]
simp
apply ContinuousLinearMap.ext
intro w
simp
rw [pF'']
dsimp [g, f_1, f_I, partialDeriv]
simp
have : w = w.re • 1 + w.im • Complex.I := by simp
nth_rw 3 [this]
rw [(fderiv f x).map_add]
rw [(fderiv f x).map_smul, (fderiv f x).map_smul]
rw [smul_eq_mul, smul_eq_mul]
ring
-- DifferentiableAt (⇑Complex.reCLM) (F x)
fun_prop
-- DifferentiableAt F x
exact regF.restrictScalars x
sorry

View File

@ -485,11 +485,11 @@ theorem primitive_translation
simp
theorem primitive_hasDerivAtBasepoint
theorem primitive_fderivAtBasepoint
{E : Type u} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E]
{f : → E}
(hf : Continuous f)
(z₀ : ) :
{z₀ : }
(f : → E)
(hf : Continuous f) :
HasDerivAt (primitive z₀ f) (f z₀) z₀ := by
let g := f ∘ fun z ↦ z + z₀
@ -597,70 +597,15 @@ theorem primitive_additivity
abel
theorem primitive_hasDerivAt
theorem primitive_fderiv
{E : Type u} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E]
{f : → E}
(hf : Differentiable f)
(z₀ z : ) :
{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_hasDerivAtBasepoint
apply primitive_fderivAtBasepoint
exact hf.continuous
apply hasDerivAt_const
theorem primitive_differentiable
{E : Type u} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E]
{f : → E}
(hf : Differentiable f)
(z₀ : ) :
Differentiable (primitive z₀ f) := by
intro z
exact (primitive_hasDerivAt hf z₀ z).differentiableAt
theorem primitive_hasFderivAt
{E : Type u} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E]
{f : → E}
(hf : Differentiable f)
(z₀ : ) :
∀ z, HasFDerivAt (primitive z₀ f) ((ContinuousLinearMap.lsmul ).flip (f z)) z := by
intro z
rw [hasFDerivAt_iff_hasDerivAt]
simp
exact primitive_hasDerivAt hf z₀ z
theorem primitive_hasFderivAt'
{f : }
(hf : Differentiable f)
(z₀ : ) :
∀ z, HasFDerivAt (primitive z₀ f) (ContinuousLinearMap.lsmul (f z)) z := by
intro z
rw [hasFDerivAt_iff_hasDerivAt]
simp
exact primitive_hasDerivAt hf z₀ z
theorem primitive_fderiv
{E : Type u} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E]
{f : → E}
(hf : Differentiable f)
(z₀ : ) :
∀ z, (fderiv (primitive z₀ f) z) = (ContinuousLinearMap.lsmul ).flip (f z) := by
intro z
apply HasFDerivAt.fderiv
exact primitive_hasFderivAt hf z₀ z
theorem primitive_fderiv'
{f : }
(hf : Differentiable f)
(z₀ : ) :
∀ z, (fderiv (primitive z₀ f) z) = ContinuousLinearMap.lsmul (f z) := by
intro z
apply HasFDerivAt.fderiv
exact primitive_hasFderivAt' hf z₀ z