diff --git a/Nevanlinna/complexHarmonic.lean b/Nevanlinna/complexHarmonic.lean index 6ffe7c5..b38a823 100644 --- a/Nevanlinna/complexHarmonic.lean +++ b/Nevanlinna/complexHarmonic.lean @@ -5,6 +5,12 @@ import Mathlib.Analysis.Calculus.LineDeriv.Basic import Mathlib.Analysis.Calculus.ContDiff.Defs import Mathlib.Analysis.Calculus.FDeriv.Basic import Mathlib.Analysis.Calculus.FDeriv.Symmetric +import Mathlib.Data.Complex.Module +import Mathlib.Data.Complex.Order +import Mathlib.Data.Complex.Exponential +import Mathlib.Analysis.RCLike.Basic +import Mathlib.Topology.Algebra.InfiniteSum.Module +import Mathlib.Topology.Instances.RealVectorSpace import Nevanlinna.cauchyRiemann import Nevanlinna.partialDeriv @@ -40,18 +46,35 @@ theorem holomorphic_is_harmonic {f : ℂ → ℂ} (h : Differentiable ℂ f) : unfold Complex.laplace rw [CauchyRiemann₄ h] - let l : ℂ →L[ℝ] ℂ := by - -- - sorry --(fun x ↦ Complex.I • x) - have : (Complex.I • Real.partialDeriv 1 f) = (l ∘ (Real.partialDeriv 1 f)) := by - sorry + have : ∀ v, ∀ s : ℂ, ∀ g : ℂ → ℂ, Differentiable ℝ g → Real.partialDeriv v (s • g) = s • (Real.partialDeriv v g) := by + intro v s g hg + + let sMuls : ℂ →L[ℝ] ℂ := + { + toFun := fun x ↦ s * x + map_add' := by + intro x y + ring + map_smul' := by + intro m x + simp + ring + } + + have : s • g = sMuls ∘ g := by rfl + rw [this] + rw [partialDeriv_compContLin hg] + rfl + rw [this] - rw [partialDeriv_compContLin] - - --rw [partialDeriv_smul₂ fI_is_real_differentiable] - rw [partialDeriv_comm f_is_real_C2 Complex.I 1] rw [CauchyRiemann₄ h] - rw [partialDeriv_smul₂ fI_is_real_differentiable] + rw [this] rw [← smul_assoc] simp + + -- Subgoals coming from the application of 'this' + -- Differentiable ℝ (Real.partialDeriv 1 f) + exact fI_is_real_differentiable + -- Differentiable ℝ (Real.partialDeriv 1 f) + exact fI_is_real_differentiable