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

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