Skip to content

Commit 48ddb08

Browse files
committed
redefine birkhoffMax
1 parent ccabb6f commit 48ddb08

1 file changed

Lines changed: 13 additions & 15 deletions

File tree

Mathlib/Dynamics/BirkhoffSum/Pointwise.lean

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -40,21 +40,19 @@ section BirkhoffMax
4040

4141
variable {α : 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`
6058
and the maximum of the same quantity for `i` ranging from `2` to `n + 2`. -/

0 commit comments

Comments
 (0)