Skip to content

Commit 5ec53bf

Browse files
author
leanprover-community-mathlib4-bot
committed
Merge master into nightly-testing
2 parents 89a6c39 + a55b976 commit 5ec53bf

4 files changed

Lines changed: 113 additions & 0 deletions

File tree

Mathlib.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1472,6 +1472,7 @@ import Mathlib.Analysis.Complex.UpperHalfPlane.Manifold
14721472
import Mathlib.Analysis.Complex.UpperHalfPlane.Metric
14731473
import Mathlib.Analysis.Complex.UpperHalfPlane.MoebiusAction
14741474
import Mathlib.Analysis.Complex.UpperHalfPlane.Topology
1475+
import Mathlib.Analysis.Complex.ValueDistribution.CharacteristicFunction
14751476
import Mathlib.Analysis.Complex.ValueDistribution.CountingFunction
14761477
import Mathlib.Analysis.Complex.ValueDistribution.ProximityFunction
14771478
import Mathlib.Analysis.ConstantSpeed

Mathlib/Analysis/Analytic/IteratedFDeriv.lean

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,12 @@ theorem AnalyticOn.iteratedFDerivWithin_comp_perm
247247
conv_rhs => rw [← Equiv.sum_comp (Equiv.mulLeft σ)]
248248
simp only [coe_mulLeft, Perm.coe_mul, Function.comp_apply]
249249

250+
theorem AnalyticOn.domDomCongr_iteratedFDerivWithin
251+
(h : AnalyticOn 𝕜 f s) (hs : UniqueDiffOn 𝕜 s) (hx : x ∈ s) {n : ℕ} (σ : Perm (Fin n)) :
252+
(iteratedFDerivWithin 𝕜 n f s x).domDomCongr σ = iteratedFDerivWithin 𝕜 n f s x := by
253+
ext
254+
exact h.iteratedFDerivWithin_comp_perm hs hx _ _
255+
250256
/-- The `n`-th iterated derivative of an analytic function on a set is symmetric. -/
251257
theorem ContDiffWithinAt.iteratedFDerivWithin_comp_perm
252258
(h : ContDiffWithinAt 𝕜 ω f s x) (hs : UniqueDiffOn 𝕜 s) (hx : x ∈ s) {n : ℕ} (v : Fin n → E)
@@ -259,16 +265,33 @@ theorem ContDiffWithinAt.iteratedFDerivWithin_comp_perm
259265
rw [← this]
260266
exact AnalyticOn.iteratedFDerivWithin_comp_perm hu.analyticOn (hs.inter u_open) ⟨hx, xu⟩ _ _
261267

268+
theorem ContDiffWithinAt.domDomCongr_iteratedFDerivWithin
269+
(h : ContDiffWithinAt 𝕜 ω f s x) (hs : UniqueDiffOn 𝕜 s) (hx : x ∈ s) {n : ℕ}
270+
(σ : Perm (Fin n)) :
271+
(iteratedFDerivWithin 𝕜 n f s x).domDomCongr σ = iteratedFDerivWithin 𝕜 n f s x := by
272+
ext
273+
exact h.iteratedFDerivWithin_comp_perm hs hx _ _
274+
262275
/-- The `n`-th iterated derivative of an analytic function is symmetric. -/
263276
theorem AnalyticOn.iteratedFDeriv_comp_perm
264277
(h : AnalyticOn 𝕜 f univ) {n : ℕ} (v : Fin n → E) (σ : Perm (Fin n)) :
265278
iteratedFDeriv 𝕜 n f x (v ∘ σ) = iteratedFDeriv 𝕜 n f x v := by
266279
rw [← iteratedFDerivWithin_univ]
267280
exact h.iteratedFDerivWithin_comp_perm uniqueDiffOn_univ (mem_univ x) _ _
268281

282+
theorem AnalyticOn.domDomCongr_iteratedFDeriv (h : AnalyticOn 𝕜 f univ) {n : ℕ} (σ : Perm (Fin n)) :
283+
(iteratedFDeriv 𝕜 n f x).domDomCongr σ = iteratedFDeriv 𝕜 n f x := by
284+
rw [← iteratedFDerivWithin_univ]
285+
exact h.domDomCongr_iteratedFDerivWithin uniqueDiffOn_univ (mem_univ x) _
286+
269287
/-- The `n`-th iterated derivative of an analytic function is symmetric. -/
270288
theorem ContDiffAt.iteratedFDeriv_comp_perm
271289
(h : ContDiffAt 𝕜 ω f x) {n : ℕ} (v : Fin n → E) (σ : Perm (Fin n)) :
272290
iteratedFDeriv 𝕜 n f x (v ∘ σ) = iteratedFDeriv 𝕜 n f x v := by
273291
rw [← iteratedFDerivWithin_univ]
274292
exact h.iteratedFDerivWithin_comp_perm uniqueDiffOn_univ (mem_univ x) _ _
293+
294+
theorem ContDiffAt.domDomCongr_iteratedFDeriv (h : ContDiffAt 𝕜 ω f x) {n : ℕ} (σ : Perm (Fin n)) :
295+
(iteratedFDeriv 𝕜 n f x).domDomCongr σ = iteratedFDeriv 𝕜 n f x := by
296+
rw [← iteratedFDerivWithin_univ]
297+
exact h.domDomCongr_iteratedFDerivWithin uniqueDiffOn_univ (mem_univ x) _
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/-
2+
Copyright (c) 2025 Stefan Kebekus. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: Stefan Kebekus
5+
-/
6+
import Mathlib.Analysis.Complex.ValueDistribution.CountingFunction
7+
import Mathlib.Analysis.Complex.ValueDistribution.ProximityFunction
8+
9+
/-!
10+
# The Characteristic Function of Value Distribution Theory
11+
12+
This file defines the "characteristic function" attached to a meromorphic function defined on the
13+
complex plane. Also known as "Nevanlinna Height", this is one of the three main functions used in
14+
Value Distribution Theory.
15+
16+
The characteristic function plays a role analogous to the height function in number theory: both
17+
measure the "complexity" of objects. For rational functions, the characteristic function grows like
18+
the degree times the logarithm, much like the logarithmic height in number theory reflects the
19+
degree of an algebraic number.
20+
21+
See Section~VI.2 of [Lang, *Introduction to Complex Hyperbolic Spaces*][MR886677] or Section~1.1 of
22+
[Noguchi-Winkelmann, *Nevanlinna Theory in Several Complex Variables and Diophantine
23+
Approximation*][MR3156076] for a detailed discussion.
24+
25+
### TODO
26+
27+
- Characterize rational functions in terms of the growth rate of their characteristic function, as
28+
discussed in Theorem 2.6 on p. 170 of [Lang, *Introduction to Complex Hyperbolic
29+
Spaces*][MR886677].
30+
-/
31+
32+
open Metric Real Set
33+
34+
namespace ValueDistribution
35+
36+
variable
37+
{E : Type*} [NormedAddCommGroup E] [NormedSpace ℂ E]
38+
{f : ℂ → E} {a : WithTop E}
39+
40+
variable (f a) in
41+
/--
42+
The Characteristic Function of Value Distribution Theory
43+
44+
If `f : ℂ → E` is meromorphic and `a : WithTop E` is any value, the characteristic function of `f`
45+
is defined as the sum of two terms: the proximity function, which quantifies how close `f` gets to
46+
`a` on the circle `∣z∣ = r`, and the counting function, which counts the number times that `f`
47+
attains the value `a` inside the disk `∣z∣ ≤ r`, weighted by multiplicity.
48+
-/
49+
noncomputable def characteristic : ℝ → ℝ := proximity f a + logCounting f a
50+
51+
/-!
52+
## Elementary Properties
53+
-/
54+
55+
/--
56+
The difference between the characteristic functions of `f` and `f - const` simplifies to the
57+
difference between the proximity functions.
58+
-/
59+
@[simp]
60+
lemma characteristic_sub_characteristic_eq_proximity_sub_proximity (h : MeromorphicOn f ⊤)
61+
(a₀ : E) :
62+
characteristic f ⊤ - characteristic (f · - a₀) ⊤ = proximity f ⊤ - proximity (f · - a₀) ⊤ := by
63+
rw [(by rfl : (f · - a₀) = f - fun _ ↦ a₀)]
64+
simp [characteristic, logCounting_sub_const h]
65+
66+
end ValueDistribution

Mathlib/GroupTheory/Perm/Fin.lean

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,29 @@ theorem cycleRange_symm_succ {n : ℕ} (i : Fin (n + 1)) (j : Fin n) :
256256
i.cycleRange.symm j.succ = i.succAbove j :=
257257
i.cycleRange.injective (by simp)
258258

259+
@[simp]
260+
theorem insertNth_apply_cycleRange_symm {n : ℕ} {α : Type*} (p : Fin (n + 1)) (a : α)
261+
(x : Fin n → α) (j : Fin (n + 1)) :
262+
(p.insertNth a x : _ → α) (p.cycleRange.symm j) = (Fin.cons a x : _ → α) j := by
263+
cases j using Fin.cases <;> simp
264+
265+
@[simp]
266+
theorem insertNth_comp_cycleRange_symm {n : ℕ} {α : Type*} (p : Fin (n + 1)) (a : α)
267+
(x : Fin n → α) : (p.insertNth a x ∘ p.cycleRange.symm : _ → α) = Fin.cons a x := by
268+
ext j
269+
simp
270+
271+
@[simp]
272+
theorem cons_apply_cycleRange {n : ℕ} {α : Type*} (a : α) (x : Fin n → α)
273+
(p : Fin (n + 1)) (j : Fin (n + 1)) :
274+
(Fin.cons a x : _ → α) (p.cycleRange j) = (p.insertNth a x : _ → α) j := by
275+
rw [← insertNth_apply_cycleRange_symm, Equiv.symm_apply_apply]
276+
277+
@[simp]
278+
theorem cons_comp_cycleRange {n : ℕ} {α : Type*} (a : α) (x : Fin n → α) (p : Fin (n + 1)) :
279+
(Fin.cons a x : _ → α) ∘ p.cycleRange = p.insertNth a x := by
280+
ext; simp
281+
259282
theorem isCycle_cycleRange {n : ℕ} [NeZero n] {i : Fin n} (h0 : i ≠ 0) :
260283
IsCycle (cycleRange i) := by
261284
obtain ⟨i, hi⟩ := i

0 commit comments

Comments
 (0)