@@ -293,6 +293,16 @@ theorem le_Liminf_of_le {f : filter α} {a}
293
293
(hf : f.is_cobounded (≥) . is_bounded_default) (h : ∀ᶠ n in f, a ≤ n) : a ≤ f.Liminf :=
294
294
le_cSup hf h
295
295
296
+ theorem limsup_le_of_le {f : filter β} {u : β → α} {a}
297
+ (hf : f.is_cobounded_under (≤) u . is_bounded_default) (h : ∀ᶠ n in f, u n ≤ a) :
298
+ f.limsup u ≤ a :=
299
+ cInf_le hf h
300
+
301
+ theorem le_liminf_of_le {f : filter β} {u : β → α} {a}
302
+ (hf : f.is_cobounded_under (≥) u . is_bounded_default) (h : ∀ᶠ n in f, a ≤ u n) :
303
+ a ≤ f.liminf u :=
304
+ le_cSup hf h
305
+
296
306
theorem le_Limsup_of_le {f : filter α} {a}
297
307
(hf : f.is_bounded (≤) . is_bounded_default) (h : ∀ b, (∀ᶠ n in f, n ≤ b) → a ≤ b) :
298
308
a ≤ f.Limsup :=
@@ -303,31 +313,37 @@ theorem Liminf_le_of_le {f : filter α} {a}
303
313
f.Liminf ≤ a :=
304
314
cSup_le hf h
305
315
316
+ theorem le_limsup_of_le {f : filter β} {u : β → α} {a}
317
+ (hf : f.is_bounded_under (≤) u . is_bounded_default) (h : ∀ b, (∀ᶠ n in f, u n ≤ b) → a ≤ b) :
318
+ a ≤ f.limsup u :=
319
+ le_cInf hf h
320
+
321
+ theorem liminf_le_of_le {f : filter β} {u : β → α} {a}
322
+ (hf : f.is_bounded_under (≥) u . is_bounded_default) (h : ∀ b, (∀ᶠ n in f, b ≤ u n) → b ≤ a) :
323
+ f.liminf u ≤ a :=
324
+ cSup_le hf h
325
+
306
326
theorem Liminf_le_Limsup {f : filter α} [ne_bot f]
307
327
(h₁ : f.is_bounded (≤) . is_bounded_default) (h₂ : f.is_bounded (≥) . is_bounded_default) :
308
328
f.Liminf ≤ f.Limsup :=
309
329
Liminf_le_of_le h₂ $ assume a₀ ha₀, le_Limsup_of_le h₁ $ assume a₁ ha₁,
310
330
show a₀ ≤ a₁, from let ⟨b, hb₀, hb₁⟩ := (ha₀.and ha₁).exists in le_trans hb₀ hb₁
311
331
312
- lemma Liminf_le_Liminf {f g : filter α}
313
- (hf : f.is_bounded (≥) . is_bounded_default) (hg : g.is_cobounded (≥) . is_bounded_default)
314
- (h : ∀ a, (∀ᶠ n in f, a ≤ n) → ∀ᶠ n in g, a ≤ n) : f.Liminf ≤ g.Liminf :=
315
- cSup_le_cSup hg hf h
332
+ lemma liminf_le_limsup {f : filter β} [ne_bot f] {u : β → α}
333
+ (h : f.is_bounded_under (≤) u . is_bounded_default)
334
+ (h' : f.is_bounded_under (≥) u . is_bounded_default) :
335
+ liminf f u ≤ limsup f u :=
336
+ Liminf_le_Limsup h h'
316
337
317
338
lemma Limsup_le_Limsup {f g : filter α}
318
339
(hf : f.is_cobounded (≤) . is_bounded_default) (hg : g.is_bounded (≤) . is_bounded_default)
319
340
(h : ∀ a, (∀ᶠ n in g, n ≤ a) → ∀ᶠ n in f, n ≤ a) : f.Limsup ≤ g.Limsup :=
320
341
cInf_le_cInf hf hg h
321
342
322
- lemma Limsup_le_Limsup_of_le {f g : filter α} (h : f ≤ g)
323
- (hf : f.is_cobounded (≤) . is_bounded_default) (hg : g.is_bounded (≤) . is_bounded_default) :
324
- f.Limsup ≤ g.Limsup :=
325
- Limsup_le_Limsup hf hg (assume a ha, h ha)
326
-
327
- lemma Liminf_le_Liminf_of_le {f g : filter α} (h : g ≤ f)
328
- (hf : f.is_bounded (≥) . is_bounded_default) (hg : g.is_cobounded (≥) . is_bounded_default) :
329
- f.Liminf ≤ g.Liminf :=
330
- Liminf_le_Liminf hf hg (assume a ha, h ha)
343
+ lemma Liminf_le_Liminf {f g : filter α}
344
+ (hf : f.is_bounded (≥) . is_bounded_default) (hg : g.is_cobounded (≥) . is_bounded_default)
345
+ (h : ∀ a, (∀ᶠ n in f, a ≤ n) → ∀ᶠ n in g, a ≤ n) : f.Liminf ≤ g.Liminf :=
346
+ cSup_le_cSup hg hf h
331
347
332
348
lemma limsup_le_limsup {α : Type *} [conditionally_complete_lattice β] {f : filter α} {u v : α → β}
333
349
(h : u ≤ᶠ[f] v)
@@ -343,6 +359,16 @@ lemma liminf_le_liminf {α : Type*} [conditionally_complete_lattice β] {f : fil
343
359
f.liminf u ≤ f.liminf v :=
344
360
@limsup_le_limsup βᵒᵈ α _ _ _ _ h hv hu
345
361
362
+ lemma Limsup_le_Limsup_of_le {f g : filter α} (h : f ≤ g)
363
+ (hf : f.is_cobounded (≤) . is_bounded_default) (hg : g.is_bounded (≤) . is_bounded_default) :
364
+ f.Limsup ≤ g.Limsup :=
365
+ Limsup_le_Limsup hf hg (assume a ha, h ha)
366
+
367
+ lemma Liminf_le_Liminf_of_le {f g : filter α} (h : g ≤ f)
368
+ (hf : f.is_bounded (≥) . is_bounded_default) (hg : g.is_cobounded (≥) . is_bounded_default) :
369
+ f.Liminf ≤ g.Liminf :=
370
+ Liminf_le_Liminf hf hg (assume a ha, h ha)
371
+
346
372
lemma limsup_le_limsup_of_le {α β} [conditionally_complete_lattice β] {f g : filter α} (h : f ≤ g)
347
373
{u : α → β} (hf : f.is_cobounded_under (≤) u . is_bounded_default)
348
374
(hg : g.is_bounded_under (≤) u . is_bounded_default) :
@@ -383,11 +409,6 @@ lemma liminf_const {α : Type*} [conditionally_complete_lattice β] {f : filter
383
409
(b : β) : liminf f (λ x, b) = b :=
384
410
@limsup_const βᵒᵈ α _ f _ b
385
411
386
- lemma liminf_le_limsup {f : filter β} [ne_bot f] {u : β → α}
387
- (h : f.is_bounded_under (≤) u . is_bounded_default)
388
- (h' : f.is_bounded_under (≥) u . is_bounded_default) :
389
- liminf f u ≤ limsup f u :=
390
- Liminf_le_Limsup h h'
391
412
392
413
end conditionally_complete_lattice
393
414
@@ -436,6 +457,12 @@ f.basis_sets.Limsup_eq_infi_Sup
436
457
theorem Liminf_eq_supr_Inf {f : filter α} : f.Liminf = ⨆ s ∈ f, Inf s :=
437
458
@Limsup_eq_infi_Sup αᵒᵈ _ _
438
459
460
+ theorem limsup_le_supr {f : filter β} {u : β → α} : f.limsup u ≤ ⨆ n, u n :=
461
+ limsup_le_of_le (by is_bounded_default) (eventually_of_forall (le_supr u))
462
+
463
+ theorem infi_le_liminf {f : filter β} {u : β → α} : (⨅ n, u n) ≤ f.liminf u :=
464
+ le_liminf_of_le (by is_bounded_default) (eventually_of_forall (infi_le u))
465
+
439
466
/-- In a complete lattice, the limsup of a function is the infimum over sets `s` in the filter
440
467
of the supremum of the function over `s` -/
441
468
theorem limsup_eq_infi_supr {f : filter β} {u : β → α} : f.limsup u = ⨅ s ∈ f, ⨆ a ∈ s, u a :=
0 commit comments