working…
This commit is contained in:
parent
271ad821dd
commit
21693bd12d
|
@ -93,9 +93,7 @@ theorem log_normSq_of_holomorphicAt_is_harmonicAt
|
||||||
(h₂f : f z ≠ 0) :
|
(h₂f : f z ≠ 0) :
|
||||||
HarmonicAt (Real.log ∘ Complex.normSq ∘ f) z := by
|
HarmonicAt (Real.log ∘ Complex.normSq ∘ f) z := by
|
||||||
|
|
||||||
/- First prove the theorem under the additional assumption that
|
-- First prove the theorem for functions with image in the slitPlane
|
||||||
|
|
||||||
-/
|
|
||||||
have lem₁ : ∀ g : ℂ → ℂ, (HolomorphicAt g z) → (g z ≠ 0) → (g z ∈ Complex.slitPlane) → HarmonicAt (Real.log ∘ Complex.normSq ∘ g) z := by
|
have lem₁ : ∀ g : ℂ → ℂ, (HolomorphicAt g z) → (g z ≠ 0) → (g z ∈ Complex.slitPlane) → HarmonicAt (Real.log ∘ Complex.normSq ∘ g) z := by
|
||||||
intro g h₁g h₂g h₃g
|
intro g h₁g h₂g h₃g
|
||||||
|
|
||||||
|
@ -139,6 +137,11 @@ theorem log_normSq_of_holomorphicAt_is_harmonicAt
|
||||||
simp
|
simp
|
||||||
apply hx.2
|
apply hx.2
|
||||||
|
|
||||||
|
rw [HarmonicAt_eventuallyEq this]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
sorry
|
sorry
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -64,6 +64,18 @@ theorem HarmonicAt_iff
|
||||||
· exact h₂f
|
· exact h₂f
|
||||||
|
|
||||||
|
|
||||||
|
theorem HarmonicAt_eventuallyEq {f₁ f₂ : ℂ → F} {x : ℂ} (h : f₁ =ᶠ[nhds x] f₂) : HarmonicAt f₁ x ↔ HarmonicAt f₂ x := by
|
||||||
|
constructor
|
||||||
|
· intro h₁
|
||||||
|
constructor
|
||||||
|
· exact ContDiffAt.congr_of_eventuallyEq h₁.1 (Filter.EventuallyEq.symm h)
|
||||||
|
· exact Filter.EventuallyEq.trans (laplace_eventuallyEq' (Filter.EventuallyEq.symm h)) h₁.2
|
||||||
|
· intro h₁
|
||||||
|
constructor
|
||||||
|
· exact ContDiffAt.congr_of_eventuallyEq h₁.1 h
|
||||||
|
· exact Filter.EventuallyEq.trans (laplace_eventuallyEq' h) h₁.2
|
||||||
|
|
||||||
|
|
||||||
theorem HarmonicOn_of_locally_HarmonicOn {f : ℂ → F} {s : Set ℂ} (h : ∀ x ∈ s, ∃ (u : Set ℂ), IsOpen u ∧ x ∈ u ∧ HarmonicOn f (s ∩ u)) :
|
theorem HarmonicOn_of_locally_HarmonicOn {f : ℂ → F} {s : Set ℂ} (h : ∀ x ∈ s, ∃ (u : Set ℂ), IsOpen u ∧ x ∈ u ∧ HarmonicOn f (s ∩ u)) :
|
||||||
HarmonicOn f s := by
|
HarmonicOn f s := by
|
||||||
constructor
|
constructor
|
||||||
|
@ -142,6 +154,21 @@ theorem harmonicOn_add_harmonicOn_is_harmonicOn {f₁ f₂ : ℂ → F} {s : Set
|
||||||
simp
|
simp
|
||||||
|
|
||||||
|
|
||||||
|
theorem harmonicAt_add_harmonicAt_is_harmonicAt
|
||||||
|
{f₁ f₂ : ℂ → F}
|
||||||
|
{x : ℂ}
|
||||||
|
(h₁ : HarmonicAt f₁ x)
|
||||||
|
(h₂ : HarmonicAt f₂ x) :
|
||||||
|
HarmonicAt (f₁ + f₂) x := by
|
||||||
|
constructor
|
||||||
|
· exact ContDiffAt.add h₁.1 h₂.1
|
||||||
|
· rw [laplace_add_ContDiffAt]
|
||||||
|
intro z hz
|
||||||
|
rw [laplace_add_ContDiffOn hs h₁.1 h₂.1 z hz]
|
||||||
|
rw [h₁.2 z hz, h₂.2 z hz]
|
||||||
|
simp
|
||||||
|
|
||||||
|
|
||||||
theorem harmonic_smul_const_is_harmonic {f : ℂ → F} {c : ℝ} (h : Harmonic f) :
|
theorem harmonic_smul_const_is_harmonic {f : ℂ → F} {c : ℝ} (h : Harmonic f) :
|
||||||
Harmonic (c • f) := by
|
Harmonic (c • f) := by
|
||||||
constructor
|
constructor
|
||||||
|
|
|
@ -33,6 +33,14 @@ theorem laplace_eventuallyEq {f₁ f₂ : ℂ → F} {x : ℂ} (h : f₁ =ᶠ[nh
|
||||||
rw [partialDeriv_eventuallyEq ℝ (partialDeriv_eventuallyEq' ℝ h Complex.I) Complex.I]
|
rw [partialDeriv_eventuallyEq ℝ (partialDeriv_eventuallyEq' ℝ h Complex.I) Complex.I]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
theorem laplace_eventuallyEq' {f₁ f₂ : ℂ → F} {x : ℂ} (h : f₁ =ᶠ[nhds x] f₂) : Δ f₁ =ᶠ[nhds x] Δ f₂ := by
|
||||||
|
unfold Complex.laplace
|
||||||
|
apply Filter.EventuallyEq.add
|
||||||
|
exact partialDeriv_eventuallyEq' ℝ (partialDeriv_eventuallyEq' ℝ h 1) 1
|
||||||
|
exact partialDeriv_eventuallyEq' ℝ (partialDeriv_eventuallyEq' ℝ h Complex.I) Complex.I
|
||||||
|
|
||||||
|
|
||||||
theorem laplace_add
|
theorem laplace_add
|
||||||
{f₁ f₂ : ℂ → F}
|
{f₁ f₂ : ℂ → F}
|
||||||
(h₁ : ContDiff ℝ 2 f₁)
|
(h₁ : ContDiff ℝ 2 f₁)
|
||||||
|
@ -161,6 +169,57 @@ theorem laplace_add_ContDiffAt
|
||||||
apply fun v ↦ (partialDeriv_contDiffAt ℝ h₁ v).differentiableAt le_rfl
|
apply fun v ↦ (partialDeriv_contDiffAt ℝ h₁ v).differentiableAt le_rfl
|
||||||
apply fun v ↦ (partialDeriv_contDiffAt ℝ h₂ v).differentiableAt le_rfl
|
apply fun v ↦ (partialDeriv_contDiffAt ℝ h₂ v).differentiableAt le_rfl
|
||||||
|
|
||||||
|
theorem laplace_add_ContDiffAt'
|
||||||
|
{f₁ f₂ : ℂ → F}
|
||||||
|
{x : ℂ}
|
||||||
|
(h₁ : ContDiffAt ℝ 2 f₁ x)
|
||||||
|
(h₂ : ContDiffAt ℝ 2 f₂ x) :
|
||||||
|
Δ (f₁ + f₂) =ᶠ[nhds x] (Δ f₁) + (Δ f₂):= by
|
||||||
|
|
||||||
|
unfold Complex.laplace
|
||||||
|
have : partialDeriv ℝ 1 (partialDeriv ℝ 1 f₁) + partialDeriv ℝ Complex.I (partialDeriv ℝ Complex.I f₁) +
|
||||||
|
(partialDeriv ℝ 1 (partialDeriv ℝ 1 f₂) + partialDeriv ℝ Complex.I (partialDeriv ℝ Complex.I f₂)) =
|
||||||
|
(partialDeriv ℝ 1 (partialDeriv ℝ 1 f₁) + (partialDeriv ℝ 1 (partialDeriv ℝ 1 f₂)) +
|
||||||
|
(partialDeriv ℝ Complex.I (partialDeriv ℝ Complex.I f₁) + partialDeriv ℝ Complex.I (partialDeriv ℝ Complex.I f₂))) := by
|
||||||
|
group
|
||||||
|
rw [this]
|
||||||
|
apply Filter.EventuallyEq.add
|
||||||
|
|
||||||
|
suffices hyp : partialDeriv ℝ 1 (partialDeriv ℝ 1 (f₁ + f₂)) =ᶠ[nhds x] partialDeriv ℝ 1 (partialDeriv ℝ 1 f₁) + partialDeriv ℝ 1 (partialDeriv ℝ 1 f₂) from by
|
||||||
|
have : (fun x => partialDeriv ℝ 1 (partialDeriv ℝ 1 (f₁ + f₂)) x) = partialDeriv ℝ 1 (partialDeriv ℝ 1 (f₁ + f₂)) := by
|
||||||
|
rfl
|
||||||
|
rw [this]
|
||||||
|
have : (fun x => (partialDeriv ℝ 1 (partialDeriv ℝ 1 f₁) + partialDeriv ℝ 1 (partialDeriv ℝ 1 f₂)) x) = (partialDeriv ℝ 1 (partialDeriv ℝ 1 f₁)) + (partialDeriv ℝ 1 (partialDeriv ℝ 1 f₂)) := by
|
||||||
|
rfl
|
||||||
|
rwa [this]
|
||||||
|
|
||||||
|
simp
|
||||||
|
|
||||||
|
have h₁₁ : ContDiffAt ℝ 1 f₁ x := h₁.of_le one_le_two
|
||||||
|
have h₂₁ : ContDiffAt ℝ 1 f₂ x := h₂.of_le one_le_two
|
||||||
|
let A : partialDeriv ℝ 1 (f₁ + f₂) =ᶠ[nhds x] (partialDeriv ℝ 1 f₁) + (partialDeriv ℝ 1 f₂) := by
|
||||||
|
exact partialDeriv_add₂_contDiffAt ℝ h₁₁ h₂₁
|
||||||
|
let B : partialDeriv ℝ 1 (partialDeriv ℝ 1 (f₁ + f₂)) =ᶠ[nhds x] (partialDeriv ℝ 1 (partialDeriv ℝ 1 f₁)) + (partialDeriv ℝ 1 (partialDeriv ℝ 1 f₂)) := by
|
||||||
|
sorry
|
||||||
|
|
||||||
|
sorry
|
||||||
|
repeat
|
||||||
|
rw [partialDeriv_eventuallyEq ℝ (partialDeriv_add₂_contDiffAt ℝ h₁₁ h₂₁)]
|
||||||
|
rw [partialDeriv_add₂_differentiableAt]
|
||||||
|
|
||||||
|
-- I am super confused at this point because the tactic 'ring' does not work.
|
||||||
|
-- I do not understand why. So, I need to do things by hand.
|
||||||
|
rw [add_assoc]
|
||||||
|
rw [add_assoc]
|
||||||
|
rw [add_right_inj (partialDeriv ℝ 1 (partialDeriv ℝ 1 f₁) x)]
|
||||||
|
rw [add_comm]
|
||||||
|
rw [add_assoc]
|
||||||
|
rw [add_right_inj (partialDeriv ℝ Complex.I (partialDeriv ℝ Complex.I f₁) x)]
|
||||||
|
rw [add_comm]
|
||||||
|
|
||||||
|
repeat
|
||||||
|
apply fun v ↦ (partialDeriv_contDiffAt ℝ h₁ v).differentiableAt le_rfl
|
||||||
|
apply fun v ↦ (partialDeriv_contDiffAt ℝ h₂ v).differentiableAt le_rfl
|
||||||
|
|
||||||
theorem laplace_smul {f : ℂ → F} : ∀ v : ℝ, Δ (v • f) = v • (Δ f) := by
|
theorem laplace_smul {f : ℂ → F} : ∀ v : ℝ, Δ (v • f) = v • (Δ f) := by
|
||||||
intro v
|
intro v
|
||||||
|
|
Loading…
Reference in New Issue