nevanlinna/Nevanlinna/firstMain.lean

95 lines
2.5 KiB
Plaintext
Raw Normal View History

2024-12-05 16:53:48 +01:00
import Mathlib.MeasureTheory.Integral.CircleIntegral
2024-12-05 13:51:00 +01:00
import Nevanlinna.divisor
2024-12-05 16:53:48 +01:00
import Nevanlinna.stronglyMeromorphicOn
import Nevanlinna.meromorphicOn_divisor
2024-09-13 09:21:57 +02:00
open Real
2024-12-05 16:53:48 +01:00
-- Lang p. 164
noncomputable def MeromorphicOn.N_zero
{f : }
(h₁f : MeromorphicOn f ) :
:=
fun r ↦ ∑ᶠ z ∈ Metric.ball (0 : ) r, (max 0 (h₁f.divisor z)) * log (r * ‖z‖⁻¹)
noncomputable def MeromorphicOn.N_infty
{f : }
(h₁f : MeromorphicOn f ) :
:=
fun r ↦ ∑ᶠ z ∈ Metric.ball (0 : ) r, (max 0 (-(h₁f.divisor z))) * log (r * ‖z‖⁻¹)
theorem Nevanlinna_counting
{f : }
(h₁f : MeromorphicOn f ) :
h₁f.N_zero - h₁f.N_infty = fun r ↦ ∑ᶠ z ∈ Metric.ball (0 : ) r, (h₁f.divisor z) * log (r * ‖z‖⁻¹) := by
sorry
--
noncomputable def logpos : :=
fun r ↦ max 0 (log r)
theorem loglogpos
{r : } :
log r = logpos r - logpos r⁻¹ := by
unfold logpos
rw [log_inv]
by_cases h : 0 ≤ log r
· simp [h]
· simp at h
have : 0 ≤ -log r := Left.nonneg_neg_iff.2 (le_of_lt h)
simp [h, this]
exact neg_nonneg.mp this
2024-09-14 08:38:04 +02:00
2024-12-05 16:53:48 +01:00
--
noncomputable def MeromorphicOn.m_infty
{f : }
(h₁f : MeromorphicOn f ) :
:=
fun r ↦ (2 * π)⁻¹ * ∫ x in (0)..(2 * π), logpos ‖f (circleMap 0 r x)‖
theorem Nevanlinna_proximity
{f : }
{r : }
(h₁f : MeromorphicOn f ) :
(2 * π)⁻¹ * ∫ x in (0)..(2 * π), log ‖f (circleMap 0 r x)‖ = (h₁f.m_infty r) - (h₁f.inv.m_infty r) := by
unfold MeromorphicOn.m_infty
rw [← mul_sub]; congr
rw [← intervalIntegral.integral_sub]; congr
funext x
simp_rw [loglogpos]; congr
exact Eq.symm (IsAbsoluteValue.abv_inv Norm.norm (f (circleMap 0 r x)))
--
sorry
noncomputable def MeromorphicOn.T_infty
{f : }
(hf : MeromorphicOn f ) :
2024-12-05 13:51:00 +01:00
:=
2024-12-05 16:53:48 +01:00
hf.m_infty + hf.N_infty
theorem Nevanlinna_firstMain₁
{f : }
(h₁f : MeromorphicOn f )
(h₂f : StronglyMeromorphicAt f 0)
(h₃f : f 0 ≠ 0) :
(fun r ↦ log ‖f 0‖) + h₁f.inv.T_infty = h₁f.T_infty := by
funext r
simp
unfold MeromorphicOn.T_infty
unfold MeromorphicOn.N_infty
unfold MeromorphicOn.m_infty
simp
sorry
theorem Nevanlinna_firstMain₂
{f : }
{a : }
{r : }
(h₁f : MeromorphicOn f ) :
|(h₁f.T_infty r) - ((h₁f.sub (MeromorphicOn.const a)).T_infty r)| ≤ logpos ‖a‖ + log 2 := by
sorry