Update cauchyRiemann.lean

This commit is contained in:
Stefan Kebekus 2024-04-29 08:54:28 +02:00
parent 90d3aceb95
commit a5bf92552c
1 changed files with 18 additions and 33 deletions

View File

@ -11,40 +11,25 @@ import Mathlib.Analysis.Calculus.Conformal.NormedSpace
import Mathlib.Analysis.Calculus.FDeriv.Basic import Mathlib.Analysis.Calculus.FDeriv.Basic
import Mathlib.Analysis.Calculus.FDeriv.RestrictScalars import Mathlib.Analysis.Calculus.FDeriv.RestrictScalars
variable {z : } {f : } variable {z : } {f : } {h : DifferentiableAt f z}
example (h : DifferentiableAt f z) : f z = 0 := by
theorem CauchyRiemann₁ : fderiv f z Complex.I = Complex.I * fderiv f z 1 := by
let A := fderiv f z let A := fderiv f z
let B := fderiv f have t₁ : A (Complex.I • 1) = Complex.I • (A 1) := by
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
have : A (Complex.I • 1) = Complex.I • (A 1) := by
exact ContinuousLinearMap.map_smul_of_tower A Complex.I 1 exact ContinuousLinearMap.map_smul_of_tower A Complex.I 1
let AR := (ContinuousLinearMap.restrictScalars (fderiv f z)) let AR := (ContinuousLinearMap.restrictScalars (fderiv f z))
have : AR (Complex.I • 1) = Complex.I • (AR 1) := by have t₂ : AR (Complex.I • 1) = Complex.I • (AR 1) := by
exact this exact t₁
have t₂a : Complex.I * (AR 1) = Complex.I • (AR 1) := by
let f₂ := fun x ↦ lineDeriv f x ⟨0,1⟩ exact rfl
have : lineDeriv f z Complex.I = (fderiv f z) Complex.I := by rw [← t₂a] at t₂
apply DifferentiableAt.lineDeriv_eq_fderiv have t₂b : Complex.I • 1 = Complex.I := by
apply h.restrictScalars simp
have t₂c : AR Complex.I = Complex.I • (AR 1) := by
have : D Complex.I = Complex.I * (D 1) := by simp at t₂
-- x exact t₂
let C : HasFDerivAt f (ContinuousLinearMap.restrictScalars (fderiv f z)) z := h.hasFDerivAt.restrictScalars
sorry have t₃ : fderiv f z = ContinuousLinearMap.restrictScalars (fderiv f z) := by
exact DifferentiableAt.fderiv_restrictScalars h
have : HasFDerivAt f A z := by rw [t₃]
exact DifferentiableAt.hasFDerivAt h exact t₂c
have : HasFDerivAt f (B z) z := by
sorry
sorry