@@ -40,21 +40,19 @@ section BirkhoffMax
4040
4141variable {α : Type *}
4242
43- /-- The maximum of `birkhoffSum f φ i` for `i` ranging from `1` to `n + 1`. -/
44- def birkhoffMax (f : α → α) (g : α → ℝ) : ℕ →o (α → ℝ) :=
45- partialSups (birkhoffSum f g ∘ .succ)
46-
47- lemma birkhoffMax_succ {f : α → α} {g n x} :
48- birkhoffMax f g n.succ x = g x + 0 ⊔ birkhoffMax f g n (f x) := by
49- change
50- (partialSups (birkhoffSum f g ∘ Nat.succ)) n.succ x = g x + max 0 ((birkhoffMax f g) n (f x))
51- have h : birkhoffSum f g ∘ Nat.succ = fun k ↦ g + birkhoffSum f g k ∘ f := by
52- funext k _
53- simp [add_comm k 1 , birkhoffSum_add f g 1 , birkhoffSum_one]
54- rw [h, partialSups_const_add, Pi.add_apply, add_right_inj, show n.succ = Order.succ n by rfl,
55- partialSups_succ', Pi.sup_apply, Pi.partialSups_apply]
56- simp [Function.comp_apply, ← Pi.partialSups_apply]
57- rfl
43+ /-- The maximum of `birkhoffSum f φ i` for `i` ranging from `0` to `n`. -/
44+ def birkhoffMax (f : α → α) (g : α → ℝ) : ℕ →o (α → ℝ) := partialSups (birkhoffSum f g)
45+
46+ lemma birkhoffMax_succ {f : α → α} {g n} :
47+ birkhoffMax f g (n + 1 ) = 0 ⊔ (g + birkhoffMax f g n ∘ f) := by
48+ apply (partialSups_succ' ..).trans _
49+ dsimp
50+ have : birkhoffSum f g ∘ Nat.succ = fun k ↦ g + birkhoffSum f g k ∘ f := by
51+ funext
52+ exact birkhoffSum_succ' ..
53+ rw [this, partialSups_const_add, birkhoffSum_zero']
54+ funext
55+ simp [birkhoffMax, partialSups]
5856
5957/-- The difference between the maximum of `birkhoffSum f φ i` for `i` ranging from `1` to `n + 1`
6058and the maximum of the same quantity for `i` ranging from `2` to `n + 2`. -/
0 commit comments