Merge branch 'main' of git.cplx.vm.uni-freiburg.de:kebekus/nevanlinna

This commit is contained in:
Stefan Kebekus 2024-04-30 06:52:41 +02:00
commit 0c15de05b8
1 changed files with 30 additions and 39 deletions

View File

@ -1,49 +1,40 @@
import Mathlib.Analysis.Calculus.Conformal.NormedSpace
import Mathlib.Analysis.Calculus.ContDiff.Basic
import Mathlib.Analysis.Calculus.ContDiff.Defs
import Mathlib.Analysis.Calculus.Deriv.Linear
import Mathlib.Analysis.Calculus.FDeriv.Basic
import Mathlib.Analysis.Calculus.FDeriv.RestrictScalars
import Mathlib.Analysis.Calculus.LineDeriv.Basic
import Mathlib.Analysis.Complex.Basic
import Mathlib.Analysis.Complex.CauchyIntegral
import Mathlib.Analysis.Complex.Conformal
import Mathlib.Analysis.Complex.RealDeriv
variable {z : } {f : }
example (h : DifferentiableAt f z) : f z = 0 := by
theorem CauchyRiemann₁ : (DifferentiableAt f z)
→ (fderiv f z) Complex.I = Complex.I * (fderiv f z) 1 := by
intro h
rw [DifferentiableAt.fderiv_restrictScalars h]
nth_rewrite 1 [← mul_one Complex.I]
exact ContinuousLinearMap.map_smul_of_tower (fderiv f z) Complex.I 1
let A := fderiv f z
let B := fderiv f
theorem CauchyRiemann₂ : (DifferentiableAt f z)
→ lineDeriv f z Complex.I = Complex.I * lineDeriv f z 1 := by
intro h
rw [DifferentiableAt.lineDeriv_eq_fderiv (h.restrictScalars )]
rw [DifferentiableAt.lineDeriv_eq_fderiv (h.restrictScalars )]
exact CauchyRiemann₁ h
let C : HasFDerivAt f (ContinuousLinearMap.restrictScalars (fderiv f z)) z := h.hasFDerivAt.restrictScalars
let D := ContinuousLinearMap.restrictScalars (fderiv f z)
let E := D 1
let F := D Complex.I
theorem CauchyRiemann₃ : (DifferentiableAt f z)
→ (lineDeriv (Complex.reCLM ∘ f) z 1 = lineDeriv (Complex.imCLM ∘ f) z Complex.I)
∧ (lineDeriv (Complex.reCLM ∘ f) z Complex.I = -lineDeriv (Complex.imCLM ∘ f) z 1)
:= by
have : A (Complex.I • 1) = Complex.I • (A 1) := by
exact ContinuousLinearMap.map_smul_of_tower A Complex.I 1
intro h
let AR := (ContinuousLinearMap.restrictScalars (fderiv f z))
have : AR (Complex.I • 1) = Complex.I • (AR 1) := by
exact this
have ContinuousLinearMap.comp_lineDeriv : ∀ w : , ∀ l : →L[] , lineDeriv (l ∘ f) z w = l ((fderiv f z) w) := by
intro w l
rw [DifferentiableAt.lineDeriv_eq_fderiv]
rw [fderiv.comp]
simp
fun_prop
exact h.restrictScalars
apply (ContinuousLinearMap.differentiableAt l).comp
exact h.restrictScalars
let f₂ := fun x ↦ lineDeriv f x ⟨0,1⟩
have : lineDeriv f z Complex.I = (fderiv f z) Complex.I := by
apply DifferentiableAt.lineDeriv_eq_fderiv
apply h.restrictScalars
have : D Complex.I = Complex.I * (D 1) := by
-- x
sorry
have : HasFDerivAt f A z := by
exact DifferentiableAt.hasFDerivAt h
have : HasFDerivAt f (B z) z := by
sorry
sorry
repeat
rw [ContinuousLinearMap.comp_lineDeriv]
rw [CauchyRiemann₁ h, Complex.I_mul]
simp