Update complexHarmonic.examples.lean
This commit is contained in:
parent
e76e9abaf3
commit
89793b75d8
|
@ -11,6 +11,7 @@ import Mathlib.Data.Complex.Order
|
||||||
import Mathlib.Data.Complex.Exponential
|
import Mathlib.Data.Complex.Exponential
|
||||||
import Mathlib.Data.Fin.Tuple.Basic
|
import Mathlib.Data.Fin.Tuple.Basic
|
||||||
import Mathlib.Topology.Algebra.InfiniteSum.Module
|
import Mathlib.Topology.Algebra.InfiniteSum.Module
|
||||||
|
import Mathlib.Topology.Defs.Filter
|
||||||
import Mathlib.Topology.Instances.RealVectorSpace
|
import Mathlib.Topology.Instances.RealVectorSpace
|
||||||
import Nevanlinna.cauchyRiemann
|
import Nevanlinna.cauchyRiemann
|
||||||
import Nevanlinna.laplace
|
import Nevanlinna.laplace
|
||||||
|
@ -240,6 +241,82 @@ theorem log_normSq_of_holomorphicOn_is_harmonicOn'
|
||||||
exact DifferentiableOn.clog h₁ h₃
|
exact DifferentiableOn.clog h₁ h₃
|
||||||
|
|
||||||
|
|
||||||
|
theorem log_normSq_of_holomorphicOn_is_harmonicOn
|
||||||
|
{f : ℂ → ℂ}
|
||||||
|
{s : Set ℂ}
|
||||||
|
(hs : IsOpen s)
|
||||||
|
(h₁ : DifferentiableOn ℂ f s)
|
||||||
|
(h₂ : ∀ z ∈ s, f z ≠ 0)
|
||||||
|
(h₃ : ∀ z ∈ s, f z ∈ Complex.slitPlane) :
|
||||||
|
HarmonicOn (Real.log ∘ Complex.normSq ∘ f) s := by
|
||||||
|
|
||||||
|
let s₁ : Set ℂ := { z | f z ∈ Complex.slitPlane} ∩ s
|
||||||
|
|
||||||
|
have hs₁ : IsOpen s₁ := by
|
||||||
|
let A := DifferentiableOn.continuousOn h₁
|
||||||
|
let B := continuousOn_iff'.1 A
|
||||||
|
obtain ⟨u, hu₁, hu₂⟩ := B Complex.slitPlane Complex.isOpen_slitPlane
|
||||||
|
have : u ∩ s = s₁ := by
|
||||||
|
rw [← hu₂]
|
||||||
|
tauto
|
||||||
|
rw [← this]
|
||||||
|
apply IsOpen.inter hu₁ hs
|
||||||
|
|
||||||
|
have harm₁ : HarmonicOn (Real.log ∘ Complex.normSq ∘ f) s₁ := by
|
||||||
|
apply log_normSq_of_holomorphicOn_is_harmonicOn'
|
||||||
|
exact hs₁
|
||||||
|
apply DifferentiableOn.mono h₁ (Set.inter_subset_right {z | f z ∈ Complex.slitPlane} s)
|
||||||
|
-- ∀ z ∈ s₁, f z ≠ 0
|
||||||
|
exact fun z hz ↦ h₂ z (Set.mem_of_mem_inter_right hz)
|
||||||
|
-- ∀ z ∈ s₁, f z ∈ Complex.slitPlane
|
||||||
|
exact fun z hz ↦ h₃ z (Set.mem_of_mem_inter_right hz)
|
||||||
|
|
||||||
|
let s₂ : Set ℂ := { z | -f z ∈ Complex.slitPlane} ∩ s
|
||||||
|
|
||||||
|
have h₁' : DifferentiableOn ℂ (-f) s := by
|
||||||
|
rw [← differentiableOn_neg_iff]
|
||||||
|
simp
|
||||||
|
exact h₁
|
||||||
|
|
||||||
|
have hs₂ : IsOpen s₂ := by
|
||||||
|
let A := DifferentiableOn.continuousOn h₁'
|
||||||
|
let B := continuousOn_iff'.1 A
|
||||||
|
obtain ⟨u, hu₁, hu₂⟩ := B Complex.slitPlane Complex.isOpen_slitPlane
|
||||||
|
have : u ∩ s = s₂ := by
|
||||||
|
rw [← hu₂]
|
||||||
|
tauto
|
||||||
|
rw [← this]
|
||||||
|
apply IsOpen.inter hu₁ hs
|
||||||
|
|
||||||
|
have harm₂ : HarmonicOn (Real.log ∘ Complex.normSq ∘ (-f)) s₂ := by
|
||||||
|
apply log_normSq_of_holomorphicOn_is_harmonicOn'
|
||||||
|
exact hs₂
|
||||||
|
apply DifferentiableOn.mono h₁' (Set.inter_subset_right {z | -f z ∈ Complex.slitPlane} s)
|
||||||
|
-- ∀ z ∈ s₁, f z ≠ 0
|
||||||
|
intro z hz
|
||||||
|
simp
|
||||||
|
exact h₂ z (Set.mem_of_mem_inter_right hz)
|
||||||
|
-- ∀ z ∈ s₁, f z ∈ Complex.slitPlane
|
||||||
|
intro z hz
|
||||||
|
apply hz.1
|
||||||
|
|
||||||
|
apply HarmonicOn_of_locally_HarmonicOn
|
||||||
|
intro z hz
|
||||||
|
by_cases hfz : f z ∈ Complex.slitPlane
|
||||||
|
· use s₁
|
||||||
|
constructor
|
||||||
|
· exact hs₁
|
||||||
|
· constructor
|
||||||
|
· tauto
|
||||||
|
· have : s₁ = s ∩ s₁ := by
|
||||||
|
apply Set.right_eq_inter.mpr
|
||||||
|
exact Set.inter_subset_right {z | f z ∈ Complex.slitPlane} s
|
||||||
|
rw [← this]
|
||||||
|
exact harm₁
|
||||||
|
· use s₂
|
||||||
|
sorry
|
||||||
|
|
||||||
|
|
||||||
theorem log_normSq_of_holomorphic_is_harmonic
|
theorem log_normSq_of_holomorphic_is_harmonic
|
||||||
{f : ℂ → ℂ}
|
{f : ℂ → ℂ}
|
||||||
(h₁ : Differentiable ℂ f)
|
(h₁ : Differentiable ℂ f)
|
||||||
|
|
Loading…
Reference in New Issue