From bfdc7f6d2ac0799eeba0280d42793646082b4777 Mon Sep 17 00:00:00 2001 From: Stefan Kebekus Date: Fri, 3 May 2024 12:23:09 +0200 Subject: [PATCH] Update complexHarmonic.lean --- Nevanlinna/complexHarmonic.lean | 64 +++++++++++++++++++++++++++------ 1 file changed, 53 insertions(+), 11 deletions(-) diff --git a/Nevanlinna/complexHarmonic.lean b/Nevanlinna/complexHarmonic.lean index a991fff..176a71f 100644 --- a/Nevanlinna/complexHarmonic.lean +++ b/Nevanlinna/complexHarmonic.lean @@ -9,16 +9,55 @@ import Nevanlinna.cauchyRiemann noncomputable def Complex.laplace : (ℂ → ℂ) → (ℂ → ℂ) := by intro f - let fx := fun w ↦ fderiv ℝ f w 1 - let fxx := fun z ↦ fderiv ℝ fx z 1 - let fy := fun w ↦ fderiv ℝ f w Complex.I - let fyy := fun z ↦ fderiv ℝ fy z Complex.I + let fx := fun w ↦ (fderiv ℝ f w) 1 + let fxx := fun w ↦ (fderiv ℝ fx w) 1 + let fy := fun w ↦ (fderiv ℝ f w) Complex.I + let fyy := fun w ↦ (fderiv ℝ fy w) Complex.I exact fun z ↦ (fxx z) + (fyy z) def Harmonic (f : ℂ → ℂ) : Prop := (ContDiff ℝ 2 f) ∧ (∀ z, Complex.laplace f z = 0) +#check second_derivative_symmetric + +lemma zwoDiff (f : ℝ × ℝ → ℝ) (h : ContDiff ℝ 2 f) : ∀ z a b : ℂ, 0 = 1 := by + intro z a b + + let fx := fun w ↦ (fderiv ℝ f w) 1 + let fxx := fun w ↦ (fderiv ℝ fx w) 1 + let f2 := (fderiv ℝ (fun w => fderiv ℝ f w) z) 1 1 + + have : iteratedFDeriv ℝ (1 + 1) f = 0 := by + rw [iteratedFDeriv_succ_eq_comp_left] + + simp + sorry + + have : f2 = fxx z := by + dsimp [f2, fxx, fx] + + sorry + + sorry + + +lemma derivSymm (f : ℂ → ℂ) (h : Differentiable ℝ f) : + ∀ z a b : ℂ, (fderiv ℝ (fun w => fderiv ℝ f w) z) a b = (fderiv ℝ (fun w => fderiv ℝ f w) z) b a := by + intro z a b + + let f' := fun w => (fderiv ℝ f w) + have h₀ : ∀ y, HasFDerivAt f (f' y) y := by + exact fun y => DifferentiableAt.hasFDerivAt (h y) + + let f'' := (fderiv ℝ f' z) + have h₁ : HasFDerivAt f' f'' z := by + apply DifferentiableAt.hasFDerivAt + sorry + + let A := second_derivative_symmetric h₀ h₁ a b + dsimp [f'', f'] at A + apply A theorem re_comp_holomorphic_is_harmonic (f : ℂ → ℂ) : Differentiable ℂ f → Harmonic f := by @@ -32,6 +71,7 @@ theorem re_comp_holomorphic_is_harmonic (f : ℂ → ℂ) : · -- Laplace of f is zero intro z unfold Complex.laplace + simp conv => @@ -41,10 +81,10 @@ theorem re_comp_holomorphic_is_harmonic (f : ℂ → ℂ) : arg 2 intro z rw [CauchyRiemann₁ (h z)] - + have t₀ : ∀ z, DifferentiableAt ℝ (fun w => (fderiv ℝ f w) 1) z := by intro z - + sorry have t₁ : ∀ x, (fderiv ℝ (fun w => Complex.I * (fderiv ℝ f w) 1) z) x @@ -54,9 +94,12 @@ theorem re_comp_holomorphic_is_harmonic (f : ℂ → ℂ) : simp exact t₀ z rw [t₁] - - have t₂ : (fderiv ℝ (fun w => (fderiv ℝ f w) 1) z) Complex.I + + have t₂₀ : Differentiable ℝ f := by sorry + have t₂ : (fderiv ℝ (fun w => (fderiv ℝ f w) 1) z) Complex.I = (fderiv ℝ (fun w => (fderiv ℝ f w) Complex.I) z) 1 := by + let A := derivSymm f t₂₀ z 1 Complex.I + sorry rw [t₂] @@ -68,9 +111,8 @@ theorem re_comp_holomorphic_is_harmonic (f : ℂ → ℂ) : arg 2 intro z rw [CauchyRiemann₁ (h z)] - + rw [t₁] - + rw [← mul_assoc] simp - \ No newline at end of file