2024-04-30 08:20:57 +02:00
|
|
|
|
import Mathlib.Analysis.Complex.Basic
|
2024-05-02 09:48:26 +02:00
|
|
|
|
import Mathlib.Analysis.Complex.TaylorSeries
|
2024-04-30 08:20:57 +02:00
|
|
|
|
import Mathlib.Analysis.Calculus.LineDeriv.Basic
|
|
|
|
|
import Mathlib.Analysis.Calculus.ContDiff.Defs
|
|
|
|
|
import Mathlib.Analysis.Calculus.FDeriv.Basic
|
|
|
|
|
import Nevanlinna.cauchyRiemann
|
|
|
|
|
|
|
|
|
|
noncomputable def Complex.laplace : (ℂ → ℝ) → (ℂ → ℝ) := by
|
|
|
|
|
intro f
|
|
|
|
|
let f₁ := fun x ↦ lineDeriv ℝ f x 1
|
|
|
|
|
let f₁₁ := fun x ↦ lineDeriv ℝ f₁ x 1
|
|
|
|
|
let f₂ := fun x ↦ lineDeriv ℝ f x Complex.I
|
|
|
|
|
let f₂₂ := fun x ↦ lineDeriv ℝ f₂ x Complex.I
|
|
|
|
|
exact f₁₁ + f₂₂
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def Harmonic (f : ℂ → ℝ) : Prop :=
|
|
|
|
|
(ContDiff ℝ 2 f) ∧ (∀ z, Complex.laplace f z = 0)
|
|
|
|
|
|
2024-05-02 09:48:26 +02:00
|
|
|
|
#check contDiff_iff_ftaylorSeries.2
|
2024-04-30 08:20:57 +02:00
|
|
|
|
|
2024-05-02 09:48:26 +02:00
|
|
|
|
lemma c2_if_holomorphic (f : ℂ → ℂ) : Differentiable ℂ f → ContDiff ℂ 2 f := by
|
|
|
|
|
intro fHyp
|
|
|
|
|
exact Differentiable.contDiff fHyp
|
|
|
|
|
|
|
|
|
|
lemma c2R_if_holomorphic (f : ℂ → ℂ) : Differentiable ℂ f → ContDiff ℝ 2 f := by
|
|
|
|
|
intro fHyp
|
|
|
|
|
let ZZ := c2_if_holomorphic f fHyp
|
|
|
|
|
apply ContDiff.restrict_scalars ℝ ZZ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
theorem re_comp_holomorphic_is_harmonic (f : ℂ → ℂ) :
|
2024-04-30 08:20:57 +02:00
|
|
|
|
Differentiable ℂ f → Harmonic (Complex.reCLM ∘ f) := by
|
|
|
|
|
|
|
|
|
|
intro h
|
|
|
|
|
|
|
|
|
|
constructor
|
2024-05-02 09:48:26 +02:00
|
|
|
|
· -- Complex.reCLM ∘ f is two times real continuously differentiable
|
|
|
|
|
apply ContDiff.comp
|
|
|
|
|
· -- Complex.reCLM is two times real continuously differentiable
|
|
|
|
|
exact ContinuousLinearMap.contDiff Complex.reCLM
|
|
|
|
|
· -- f is two times real continuously differentiable
|
|
|
|
|
exact c2R_if_holomorphic f h
|
2024-04-30 08:20:57 +02:00
|
|
|
|
|
|
|
|
|
· -- Laplace of f is zero
|
|
|
|
|
intro z
|
|
|
|
|
unfold Complex.laplace
|
|
|
|
|
simp
|
|
|
|
|
let ZZ := (CauchyRiemann₃ (h z)).left
|
|
|
|
|
|
2024-05-02 09:48:26 +02:00
|
|
|
|
sorry
|