@@ -18,14 +18,15 @@ TODO: Prove this result for harmonic functions with values in vector spaces.
1818
1919public section
2020
21- open Complex Real Set
21+ open Bornology Complex Real Set
22+
23+ variable
24+ {E : Type *} [NormedAddCommGroup E] [NormedSpace ℝ E]
2225
2326set_option backward.isDefEq.respectTransparency false in
24- /-
25- **Liouville's theorem for harmonic functions on the complex plane** A real-valued, bounded harmonic
26- function on the complex plane is constant.
27- -/
28- theorem InnerProductSpace.bounded_harmonic_on_complex_plane_is_constant (f : ℂ → ℝ)
27+ -- Auxiliary version of Liouville's theorem, for real-valued harmonic functions on the complex
28+ -- plane.
29+ private theorem InnerProductSpace.bounded_harmonic_on_complex_plane_is_constant_aux (f : ℂ → ℝ)
2930 (h_harm : HarmonicOnNhd f univ) (h_bound : Bornology.IsBounded (range f)) :
3031 ∀ z w, f z = f w := by
3132 -- By assumption, there exists a holomorphic function $f$ such that $\Re(f) = u$.
@@ -41,3 +42,19 @@ theorem InnerProductSpace.bounded_harmonic_on_complex_plane_is_constant (f : ℂ
4142 norm_exp, exp_le_exp]
4243 rw [← hF_re] at hM
4344 grind
45+
46+ set_option backward.isDefEq.respectTransparency false in
47+ /--
48+ **Liouville's theorem for harmonic functions on the complex plane** A real-valued, bounded harmonic
49+ function on the complex plane is constant.
50+ -/
51+ theorem InnerProductSpace.bounded_harmonic_on_complex_plane_is_constant (f : ℂ → E)
52+ (h_harm : HarmonicOnNhd f univ) (h_bound : IsBounded (range f)) :
53+ ∀ z w, f z = f w := by
54+ intro z w
55+ obtain ⟨ℓ, h₁ℓ, h₂ℓ⟩ := exists_dual_vector'' ℝ (f z - f w)
56+ rw [map_sub, RCLike.ofReal_real_eq_id, id_eq] at h₂ℓ
57+ have η₁ : Bornology.IsBounded (range (ℓ ∘ f)) := by
58+ simpa [range_comp] using IsBounded.image ℓ h_bound
59+ rw [← sub_eq_zero, ← norm_eq_zero, ← h₂ℓ]
60+ grind [bounded_harmonic_on_complex_plane_is_constant_aux (ℓ ∘ f) (h_harm.comp_CLM ℓ) η₁]
0 commit comments