From 2d2a21be721c8728c2bf659e978373a2c1401338 Mon Sep 17 00:00:00 2001 From: Stefan Kebekus Date: Mon, 29 Apr 2024 19:48:37 +0200 Subject: [PATCH] Update cauchyRiemann.lean --- nevanlinna/cauchyRiemann.lean | 43 ++++------------------------------- 1 file changed, 5 insertions(+), 38 deletions(-) diff --git a/nevanlinna/cauchyRiemann.lean b/nevanlinna/cauchyRiemann.lean index 6a19122..c74ff06 100644 --- a/nevanlinna/cauchyRiemann.lean +++ b/nevanlinna/cauchyRiemann.lean @@ -1,15 +1,4 @@ ---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.Comp ---import Mathlib.Analysis.Calculus.FDeriv.Linear ---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 : ℂ → ℂ} @@ -17,37 +6,15 @@ variable {z : ℂ} {f : ℂ → ℂ} theorem CauchyRiemann₁ : (DifferentiableAt ℂ f z) → (fderiv ℝ f z) Complex.I = Complex.I * (fderiv ℝ f z) 1 := by intro h - let A := fderiv ℂ f z - 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 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₂c : AR Complex.I = Complex.I • (AR 1) := by - simp at t₂ - exact t₂ - have t₃ : fderiv ℝ f z = ContinuousLinearMap.restrictScalars ℝ (fderiv ℂ f z) := by - exact DifferentiableAt.fderiv_restrictScalars ℝ h - rw [t₃] - exact t₂c + rw [DifferentiableAt.fderiv_restrictScalars ℝ h] + nth_rewrite 1 [← mul_one Complex.I] + exact ContinuousLinearMap.map_smul_of_tower (fderiv ℂ f z) Complex.I 1 theorem CauchyRiemann₂ : (DifferentiableAt ℂ f z) → lineDeriv ℝ f z Complex.I = Complex.I * lineDeriv ℝ f z 1 := by intro h - - have : lineDeriv ℝ f z Complex.I = (fderiv ℝ f z) Complex.I := by - apply DifferentiableAt.lineDeriv_eq_fderiv - apply h.restrictScalars ℝ - rw [this] - - have : lineDeriv ℝ f z 1 = (fderiv ℝ f z) 1 := by - apply DifferentiableAt.lineDeriv_eq_fderiv - apply h.restrictScalars ℝ - rw [this] - + rw [DifferentiableAt.lineDeriv_eq_fderiv (h.restrictScalars ℝ)] + rw [DifferentiableAt.lineDeriv_eq_fderiv (h.restrictScalars ℝ)] exact CauchyRiemann₁ h theorem CauchyRiemann₃ : (DifferentiableAt ℂ f z)