Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit e60ca6b

Browse files
committed
feat(data/real/ennreal): inv is an order_iso to the order dual and lemmas for supr, infi (#11869)
Establishes that `inv` is an order isomorphism to the order dual. We then provide some convenience lemmas which guarantee that `inv` switches `supr` and `infi` and hence also switches `limsup` and `liminf`.
1 parent b7e72ea commit e60ca6b

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

src/data/real/ennreal.lean

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1057,6 +1057,18 @@ le_inv_iff_le_inv.trans $ by rw inv_one
10571057
@[simp] lemma inv_lt_one : a⁻¹ < 11 < a :=
10581058
inv_lt_iff_inv_lt.trans $ by rw [inv_one]
10591059

1060+
/-- The inverse map `λ x, x⁻¹` is an order isomorphism between `ℝ≥0∞` and its `order_dual` -/
1061+
@[simps apply]
1062+
def inv_order_iso : ℝ≥0∞ ≃o order_dual ℝ≥0∞ :=
1063+
{ to_fun := λ x, x⁻¹,
1064+
inv_fun := λ x, x⁻¹,
1065+
left_inv := @ennreal.inv_inv,
1066+
right_inv := @ennreal.inv_inv,
1067+
map_rel_iff' := λ a b, ennreal.inv_le_inv }
1068+
1069+
@[simp]
1070+
lemma inv_order_iso_symm_apply : inv_order_iso.symm a = a⁻¹ := rfl
1071+
10601072
lemma pow_le_pow_of_le_one {n m : ℕ} (ha : a ≤ 1) (h : n ≤ m) : a ^ m ≤ a ^ n :=
10611073
begin
10621074
rw [← @inv_inv a, ← ennreal.inv_pow, ← @ennreal.inv_pow a⁻¹, inv_le_inv],

src/topology/instances/ennreal.lean

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,22 @@ lemma infi_mul_right {ι} [nonempty ι] {f : ι → ℝ≥0∞} {a : ℝ≥0∞}
423423
(⨅ i, f i * a) = (⨅ i, f i) * a :=
424424
infi_mul_right' h (λ _, ‹nonempty ι›)
425425

426+
lemma inv_map_infi {ι : Sort*} {x : ι → ℝ≥0∞} :
427+
(infi x)⁻¹ = (⨆ i, (x i)⁻¹) :=
428+
inv_order_iso.map_infi x
429+
430+
lemma inv_map_supr {ι : Sort*} {x : ι → ℝ≥0∞} :
431+
(supr x)⁻¹ = (⨅ i, (x i)⁻¹) :=
432+
inv_order_iso.map_supr x
433+
434+
lemma inv_limsup {ι : Sort*} {x : ι → ℝ≥0∞} {l : filter ι} :
435+
(l.limsup x)⁻¹ = l.liminf (λ i, (x i)⁻¹) :=
436+
by simp only [limsup_eq_infi_supr, inv_map_infi, inv_map_supr, liminf_eq_supr_infi]
437+
438+
lemma inv_liminf {ι : Sort*} {x : ι → ℝ≥0∞} {l : filter ι} :
439+
(l.liminf x)⁻¹ = l.limsup (λ i, (x i)⁻¹) :=
440+
by simp only [limsup_eq_infi_supr, inv_map_infi, inv_map_supr, liminf_eq_supr_infi]
441+
426442
protected lemma continuous_inv : continuous (has_inv.inv : ℝ≥0∞ → ℝ≥0∞) :=
427443
continuous_iff_continuous_at.2 $ λ a, tendsto_order.2
428444
begin

0 commit comments

Comments
 (0)