@@ -3,6 +3,7 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved.
33Released under Apache 2.0 license as described in the file LICENSE.
44Authors: Stefan Kebekus
55-/
6+ import Mathlib.Analysis.Complex.JensenFormula
67import Mathlib.Analysis.Complex.ValueDistribution.CharacteristicFunction
78
89/-!
@@ -22,19 +23,99 @@ of the characteristic function `characteristic f ⊤` under modifications of `f`
2223 See Section VI.2 of [ Lang, *Introduction to Complex Hyperbolic Spaces* ] [MR886677 ] or Section 1.1 of
2324[Noguchi-Winkelmann, *Nevanlinna Theory in Several Complex Variables and Diophantine
2425Approximation*][ MR3156076 ] for a detailed discussion.
26+ -/
27+ namespace ValueDistribution
28+
29+ open Asymptotics Filter Function.locallyFinsuppWithin MeromorphicAt MeromorphicOn Metric Real
30+
31+ section FirstPart
2532
26- ### TODO
33+ variable {f : ℂ → ℂ} {R : ℝ}
2734
28- - Formalize the first part of the First Main Theorem, which is the more substantial part of the
29- statement.
35+ /-!
36+ ## First Part of the First Main Theorem
3037-/
31- namespace ValueDistribution
38+
39+ /--
40+ Helper lemma for the first part of the First Main Theorem: Given a meromorphic function `f`, compute
41+ difference between the characteristic functions of `f` and of its inverse.
42+ -/
43+ lemma characteristic_sub_characteristic_inv (h : MeromorphicOn f ⊤) :
44+ characteristic f ⊤ - characteristic f⁻¹ ⊤ =
45+ circleAverage (log ‖f ·‖) 0 - (divisor f Set.univ).logCounting := by
46+ calc characteristic f ⊤ - characteristic f⁻¹ ⊤
47+ _ = proximity f ⊤ - proximity f⁻¹ ⊤ - (logCounting f⁻¹ ⊤ - logCounting f ⊤) := by
48+ unfold characteristic
49+ ring
50+ _ = circleAverage (log ‖f ·‖) 0 - (logCounting f⁻¹ ⊤ - logCounting f ⊤) := by
51+ rw [proximity_sub_proximity_inv_eq_circleAverage h]
52+ _ = circleAverage (log ‖f ·‖) 0 - (logCounting f 0 - logCounting f ⊤) := by
53+ rw [logCounting_inv]
54+ _ = circleAverage (log ‖f ·‖) 0 - (divisor f Set.univ).logCounting := by
55+ rw [← ValueDistribution.log_counting_zero_sub_logCounting_top]
56+
57+ /--
58+ Helper lemma for the first part of the First Main Theorem: Away from zero, the difference between
59+ the characteristic functions of `f` and `f⁻¹` equals `log ‖meromorphicTrailingCoeffAt f 0‖`.
60+ -/
61+ lemma characteristic_sub_characteristic_inv_of_ne_zero
62+ (hf : MeromorphicOn f Set.univ) (hR : R ≠ 0 ) :
63+ characteristic f ⊤ R - characteristic f⁻¹ ⊤ R = log ‖meromorphicTrailingCoeffAt f 0 ‖ := by
64+ calc characteristic f ⊤ R - characteristic f⁻¹ ⊤ R
65+ _ = (characteristic f ⊤ - characteristic f⁻¹ ⊤) R := by simp
66+ _ = circleAverage (log ‖f ·‖) 0 R - (divisor f Set.univ).logCounting R := by
67+ rw [characteristic_sub_characteristic_inv hf]
68+ rfl
69+ _ = log ‖meromorphicTrailingCoeffAt f 0 ‖ := by
70+ rw [MeromorphicOn.circleAverage_log_norm hR (hf.mono_set (by tauto))]
71+ unfold Function.locallyFinsuppWithin.logCounting
72+ have : (divisor f (closedBall 0 |R|)) = (divisor f Set.univ).toClosedBall R :=
73+ (divisor_restrict hf (by tauto)).symm
74+ simp [this, toClosedBall, restrictMonoidHom, restrict_apply]
75+
76+ /--
77+ Helper lemma for the first part of the First Main Theorem: At 0, the difference between the
78+ characteristic functions of `f` and `f⁻¹` equals `log ‖f 0‖`.
79+ -/
80+ lemma characteristic_sub_characteristic_inv_at_zero (h : MeromorphicOn f Set.univ) :
81+ characteristic f ⊤ 0 - characteristic f⁻¹ ⊤ 0 = log ‖f 0 ‖ := by
82+ calc characteristic f ⊤ 0 - characteristic f⁻¹ ⊤ 0
83+ _ = (characteristic f ⊤ - characteristic f⁻¹ ⊤) 0 := by simp
84+ _ = circleAverage (log ‖f ·‖) 0 0 - (divisor f Set.univ).logCounting 0 := by
85+ rw [ValueDistribution.characteristic_sub_characteristic_inv h]
86+ rfl
87+ _ = log ‖f 0 ‖ := by
88+ simp
89+
90+ /--
91+ First part of the First Main Theorem, quantitative version: If `f` is meromorphic on the complex
92+ plane, then the difference between the characteristic functions of `f` and `f⁻¹` is bounded by an
93+ explicit constant.
94+ -/
95+ theorem characteristic_sub_characteristic_inv_le (hf : MeromorphicOn f Set.univ) :
96+ |characteristic f ⊤ R - characteristic f⁻¹ ⊤ R|
97+ ≤ max |log ‖f 0 ‖| |log ‖meromorphicTrailingCoeffAt f 0 ‖| := by
98+ by_cases h : R = 0
99+ · simp [h, characteristic_sub_characteristic_inv_at_zero hf]
100+ · simp [characteristic_sub_characteristic_inv_of_ne_zero hf h]
101+
102+ /--
103+ First part of the First Main Theorem, qualitative version: If `f` is meromorphic on the complex
104+ plane, then the characteristic functions of `f` and `f⁻¹` agree asymptotically up to a bounded
105+ function.
106+ -/
107+ theorem isBigO_characteristic_sub_characteristic_inv (h : MeromorphicOn f ⊤) :
108+ (characteristic f ⊤ - characteristic f⁻¹ ⊤) =O[atTop] (1 : ℝ → ℝ) :=
109+ isBigO_of_le' (c := max |log ‖f 0 ‖| |log ‖meromorphicTrailingCoeffAt f 0 ‖|) _
110+ (fun R ↦ by simpa using characteristic_sub_characteristic_inv_le h (R := R))
111+
112+ end FirstPart
113+
114+ section SecondPart
32115
33116variable
34117 {E : Type *} [NormedAddCommGroup E] [NormedSpace ℂ E]
35- {f : ℂ → E} {a₀ : E}
36-
37- open Asymptotics Filter Real
118+ {a₀ : E} {f : ℂ → E}
38119
39120/-!
40121## Second Part of the First Main Theorem
@@ -74,10 +155,15 @@ Second part of the First Main Theorem of Value Distribution Theory, qualitative
74155meromorphic on the complex plane, then the characteristic functions for the value `⊤` of the
75156function `f` and `f - a₀` agree asymptotically up to a bounded function.
76157-/
77- theorem abs_characteristic_sub_characteristic_shift_eqO (h : MeromorphicOn f ⊤) :
78- |characteristic f ⊤ - characteristic (f · - a₀) ⊤| =O[atTop] (1 : ℝ → ℝ) := by
79- simp_rw [isBigO_iff', eventually_atTop]
80- use log⁺ ‖a₀‖ + log 2 , add_pos_of_nonneg_of_pos posLog_nonneg (log_pos one_lt_two), 0
81- simp [abs_characteristic_sub_characteristic_shift_le h]
158+ theorem isBigO_characteristic_sub_characteristic_shift (h : MeromorphicOn f ⊤) :
159+ (characteristic f ⊤ - characteristic (f · - a₀) ⊤) =O[atTop] (1 : ℝ → ℝ) :=
160+ isBigO_of_le' (c := log⁺ ‖a₀‖ + log 2 ) _
161+ (fun R ↦ by simpa using abs_characteristic_sub_characteristic_shift_le h)
162+
163+ @[deprecated (since := "2025-10-06")]
164+ alias abs_characteristic_sub_characteristic_shift_eqO :=
165+ isBigO_characteristic_sub_characteristic_shift
166+
167+ end SecondPart
82168
83169end ValueDistribution
0 commit comments