@@ -190,7 +190,8 @@ end PR
190190
191191section BirkhoffSup
192192
193- def birkhoffSupSet (f : α → α) (g : α → ℝ) : Set α := {x | ∃ n : ℕ, 0 < birkhoffSum f g n x}
193+ def birkhoffSupSet (f : α → α) (g : α → ℝ) : Set α :=
194+ {x | ∃ n : ℕ, 0 < birkhoffSum f g n x}
194195
195196lemma birkhoffSupSet_eq_iSup_birkhoffMax_support {f : α → α} {g : α → ℝ} :
196197 birkhoffSupSet f g = ⋃ n : ℕ, (birkhoffMax f g n).support := by
@@ -210,12 +211,42 @@ lemma birkhoffSupSet_eq_iSup_birkhoffMax_support {f : α → α} {g : α → ℝ
210211 rcases partialSups_exists (birkhoffSum f g · x) n with ⟨m, _, hm₂⟩
211212 exact ⟨m, hm₂ ▸ h⟩
212213
214+ def birkhoffAverageSupSet (f : α → α) (g : α → ℝ) (a : ℝ) : Set α :=
215+ {x | ∃ n : ℕ, a < birkhoffAverage ℝ f g n x}
216+
217+ theorem birkhoffAverage_iff_birkhoffSum {f : α → α} {x n g} {a : ℝ} (hn : 0 < n) :
218+ a < birkhoffAverage ℝ f g n x ↔ 0 < birkhoffSum f (g - fun _ ↦ a) n x := by
219+ nth_rw 2 [←smul_lt_smul_iff_of_pos_left (a := (↑n : ℝ)⁻¹) (by norm_num [hn])]
220+ rw [smul_zero, ←birkhoffAverage, birkhoffAverage_sub]
221+ simp only [Pi.sub_apply, sub_pos]
222+ nth_rw 2 [birkhoffAverage_of_comp_eq rfl hn.ne']
223+
224+ theorem birkhoffAverageSupSet_eq_birkhoffSupSet {f : α → α} {g a} (ha : 0 < a) :
225+ birkhoffAverageSupSet f g a = birkhoffSupSet f (g - fun _ ↦ a) := by
226+ unfold birkhoffAverageSupSet birkhoffSupSet
227+ have {n x} : a < birkhoffAverage ℝ f g n x ↔ 0 < birkhoffSum f (g - fun _ ↦ a) n x := by
228+ cases n with
229+ | zero =>
230+ refine ⟨fun h => ?_, fun h => ?_⟩
231+ · exfalso; rw [birkhoffAverage_zero] at h; exact lt_asymm ha h
232+ · exfalso; rw [birkhoffSum_zero] at h; exact lt_irrefl 0 h
233+ | succ n => exact birkhoffAverage_iff_birkhoffSum (by norm_num)
234+ conv =>
235+ enter [1 , 1 , x, 1 , n]
236+ rw [this]
237+
213238section MeasurePreserving
214239
215- variable {f : α → α} [MeasurableSpace α] (μ : Measure α := by volume_tac) {g : α → ℝ} { n}
216- (hf : MeasurePreserving f μ μ) (hg : Integrable g μ)
240+ variable {f : α → α} [MeasurableSpace α] (μ : Measure α := by volume_tac) {n}
241+ (hf : MeasurePreserving f μ μ)
217242
218- include hf hg
243+ include hf
244+
245+ section Real
246+
247+ variable {g : α → ℝ} (hg : Integrable g μ)
248+
249+ include hg
219250
220251lemma tendsto_setIntegral_on_birkhoffMax_support_birkhoffSupSet :
221252 Tendsto (fun n ↦ ∫ x in (birkhoffMax f g n).support, g x ∂μ) atTop
@@ -239,25 +270,39 @@ theorem setIntegral_nonneg_on_birkhoffSupSet :
239270 intro n
240271 exact setIntegral_nonneg_on_birkhoffMax_support μ hf hg
241272
242- def birkhoffAverageSupSet (f : α → α) (g : α → ℝ) (a : ℝ) : Set α :=
243- {x | ∃ n : ℕ, a < birkhoffAverage ℝ f g n x}
273+ variable [IsFiniteMeasure μ]
244274
245- theorem birkhoffAverageSupSet_eq_birkhoffSupSet {x} {a : ℝ} (hn : 0 < n) :
246- a < birkhoffAverage ℝ f g n x ↔ 0 < birkhoffSum f (g - fun _ ↦ a) n x := by
247- nth_rw 2 [←smul_lt_smul_iff_of_pos_left (a := (↑n : ℝ)⁻¹) (by norm_num [hn])]
248- rw [smul_zero, ←birkhoffAverage, birkhoffAverage_sub]
249- simp only [Pi.sub_apply, sub_pos]
250- nth_rw 2 [birkhoffAverage_of_comp_eq rfl hn.ne']
275+ theorem meas_birkhoffAverageSupSet_mul_le_integral (a : ℝ) (ha : 0 < a) :
276+ μ.real (birkhoffAverageSupSet f g a) • a ≤ ∫ x in birkhoffAverageSupSet f g a, g x ∂μ := by
277+ have p₁ := Integrable.sub hg (integrable_const a)
278+ calc
279+ _ = ∫ x in birkhoffSupSet f (g - fun _ ↦ a), a ∂μ := by
280+ rw [setIntegral_const, birkhoffAverageSupSet_eq_birkhoffSupSet ha]
281+ _ ≤ ∫ x in birkhoffSupSet f (g - fun _ ↦ a), a ∂μ +
282+ ∫ x in birkhoffSupSet f (g - fun _ ↦ a), g x - a ∂μ := by
283+ exact le_add_of_nonneg_right (setIntegral_nonneg_on_birkhoffSupSet μ hf p₁)
284+ _ = ∫ x in birkhoffAverageSupSet f g a, g x ∂μ := by
285+ rw [← integral_add, birkhoffAverageSupSet_eq_birkhoffSupSet ha]
286+ · rcongr; grind
287+ · exact (integrable_const a).restrict
288+ · exact p₁.restrict
289+
290+ end Real
291+
292+ section NormedAddCommGroup
293+
294+ variable {E : Type *} [NormedAddCommGroup E] {g : α → E} (hg : Integrable g μ) [IsFiniteMeasure μ]
251295
252- theorem setIntegral_nonneg_on_birkhoffSupSet' [IsFiniteMeasure μ] (a : ℝ) :
253- μ.real (birkhoffSupSet f g) • a ≤ ∫ x in birkhoffSupSet f g, g x ∂μ := by
296+ include hg
297+
298+ theorem meas_birkhoffAverageSupSet_mul_le_norm (a : ℝ) (ha : 0 < a) :
299+ μ.real (birkhoffAverageSupSet f (fun x ↦ ‖g x‖) a) • a ≤ ∫ x, ‖g x‖ ∂μ :=
254300 calc
255- _ = ∫ x in birkhoffSupSet f g, a ∂μ := by rw [setIntegral_const]
256- _ ≤ ∫ x in birkhoffSupSet f g, a ∂μ + ∫ (x : α) in birkhoffSupSet f g, g x ∂μ := by sorry
301+ _ ≤ ∫ x in birkhoffAverageSupSet f (fun x ↦ ‖g x‖) a, ‖g x‖ ∂μ := by
302+ exact meas_birkhoffAverageSupSet_mul_le_integral μ hf hg.norm a ha
303+ _ ≤ ∫ x, ‖g x‖ ∂μ := setIntegral_le_integral hg.norm (ae_of_all _ (norm_nonneg <| g ·))
257304
258- theorem setIntegral_nonneg_on_birkhoffSupSet'' (a : ℝ) :
259- a * μ.real (birkhoffSupSet f g) ≤ ‖hg.toL1‖ := by
260- sorry
305+ end NormedAddCommGroup
261306
262307end MeasurePreserving
263308
@@ -268,7 +313,4 @@ noncomputable section BirkhoffAverage
268313variable {f : α → α} [MeasurableSpace α] (μ : Measure α := by volume_tac) {g : α → ℝ} {n}
269314 (hf : MeasurePreserving f μ μ) (hg : Integrable g μ)
270315
271- def birkhoffOscillation (f : α → α) (g : α → ℝ) (x : α) : ℝ :=
272- limsup (birkhoffAverage ℝ f g · x) atTop - liminf (birkhoffAverage ℝ f g · x) atTop
273-
274316end BirkhoffAverage
0 commit comments