Update complexHarmonic.lean

This commit is contained in:
Stefan Kebekus 2024-06-05 09:51:02 +02:00
parent 74d9636aa9
commit 05582e5d83
1 changed files with 32 additions and 0 deletions

View File

@ -25,10 +25,42 @@ variable {G₁ : Type*} [NormedAddCommGroup G₁] [NormedSpace G₁] [Comple
def Harmonic (f : → F) : Prop := def Harmonic (f : → F) : Prop :=
(ContDiff 2 f) ∧ (∀ z, Δ f z = 0) (ContDiff 2 f) ∧ (∀ z, Δ f z = 0)
def HarmonicAt (f : → F) (x : ) : Prop :=
(ContDiffAt 2 f x) ∧ (Δ f =ᶠ[nhds x] 0)
def HarmonicOn (f : → F) (s : Set ) : Prop := def HarmonicOn (f : → F) (s : Set ) : Prop :=
(ContDiffOn 2 f s) ∧ (∀ z ∈ s, Δ f z = 0) (ContDiffOn 2 f s) ∧ (∀ z ∈ s, Δ f z = 0)
theorem HarmonicAt_iff
{f : → F}
{x : } :
HarmonicAt f x ↔ ∃ s : Set , IsOpen s ∧ x ∈ s ∧ (ContDiffOn 2 f s) ∧ (∀ z ∈ s, Δ f z = 0) := by
constructor
· intro hf
obtain ⟨s₁, h₁s₁, h₂s₁, h₃s₁⟩ := hf.1.contDiffOn' le_rfl
simp at h₃s₁
obtain ⟨t₂, h₁t₂, h₂t₂⟩ := (Filter.eventuallyEq_iff_exists_mem.1 hf.2)
obtain ⟨s₂, h₁s₂, h₂s₂, h₃s₂⟩ := mem_nhds_iff.1 h₁t₂
let s := s₁ ∩ s₂
use s
constructor
· exact IsOpen.inter h₁s₁ h₂s₂
· constructor
· exact Set.mem_inter h₂s₁ h₃s₂
· constructor
· exact h₃s₁.mono (Set.inter_subset_left s₁ s₂)
· intro z hz
exact h₂t₂ (h₁s₂ hz.2)
· intro hyp
obtain ⟨s, h₁s, h₂s, h₁f, h₂f⟩ := hyp
constructor
· apply h₁f.contDiffAt
apply (IsOpen.mem_nhds_iff h₁s).2 h₂s
· apply Filter.eventuallyEq_iff_exists_mem.2
use s
constructor
· apply (IsOpen.mem_nhds_iff h₁s).2 h₂s
· exact h₂f
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)) :