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.RestrictScalars
variable {z : } {f : }
example (h : DifferentiableAt f z) : f z = 0 := by
variable {z : } {f : } {h : DifferentiableAt f z}
theorem CauchyRiemann₁ : fderiv f z Complex.I = Complex.I * fderiv f z 1 := by
let A := fderiv f z
let B := fderiv f
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
have t₁ : A (Complex.I • 1) = Complex.I • (A 1) := by
exact ContinuousLinearMap.map_smul_of_tower A Complex.I 1
let AR := (ContinuousLinearMap.restrictScalars (fderiv f z))
have : AR (Complex.I • 1) = Complex.I • (AR 1) := by
exact this
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
have t₂ : AR (Complex.I • 1) = Complex.I • (AR 1) := by
exact t₁
have t₂a : Complex.I * (AR 1) = Complex.I • (AR 1) := by
exact rfl
rw [← t₂a] at t₂
have t₂b : Complex.I • 1 = Complex.I := by
simp
have t₂c : AR Complex.I = Complex.I • (AR 1) := by
simp at t₂
exact t₂
let C : HasFDerivAt f (ContinuousLinearMap.restrictScalars (fderiv f z)) z := h.hasFDerivAt.restrictScalars
have t₃ : fderiv f z = ContinuousLinearMap.restrictScalars (fderiv f z) := by
exact DifferentiableAt.fderiv_restrictScalars h
rw [t₃]
exact t₂c