Skip to content

Commit 40979ba

Browse files
committed
start to dualise
1 parent e5d925b commit 40979ba

1 file changed

Lines changed: 83 additions & 0 deletions

File tree

Mathlib/Topology/Order/LiminfLimsup.lean

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -524,4 +524,87 @@ lemma liminf_nhdsGT_eq_iSup₂ [NoMaxOrder α] (hf : Antitone f) (a : α) :
524524
(𝓝[>] a).liminf f = ⨆ r > a, f r :=
525525
hf.liminf_nhdsGT_eq_iSup₂_of_exists_gt a (exists_gt a)
526526

527+
lemma Antitone.limsup_nhdsGT_eq_iInf₂_of_exists_gt (hf : Antitone f) (a : α) (hb : ∃ b, a < b) :
528+
(𝓝[>] a).limsup f = ⨅ r > a, f r := by
529+
rw [(nhdsGT_basis_of_exists_gt hb).limsup_eq_iInf_iSup]
530+
refine le_antisymm (iInf₂_mono' fun r hr ↦ ?_) (iInf₂_mono' fun r hr ↦ ?_)
531+
· use r, hr
532+
apply iSup_le
533+
simp only [Set.mem_Ioo, iSup_le_iff, and_imp]
534+
intro i hi0 hir
535+
exact hf hi0.le
536+
· obtain ⟨b, hb⟩ := exists_between hr
537+
use b, hb.1
538+
exact iSup₂_le_iSup₂ b hb
539+
540+
lemma Antitone.limsup_nhdsGT_eq_iInf₂ [NoMaxOrder α] (hf : Antitone f) (a : α) :
541+
(𝓝[>] a).limsup f = ⨅ r > a, f r :=
542+
hf.limsup_nhdsGT_eq_iInf₂_of_exists_gt a (exists_gt a)
543+
544+
lemma Monotone.limsup_nhdsGT_eq_iSup₂_of_exists_gt (hf : Monotone f) (a : α) (hb : ∃ b, a < b) :
545+
(𝓝[>] a).limsup f = ⨆ r > a, f r :=
546+
hf.dual.liminf_nhdsGT_eq_iSup₂_of_exists_gt a hb
547+
548+
lemma Monotone.limsup_nhdsGT_eq_iSup₂ [NoMaxOrder α] (hf : Monotone f) (a : α) :
549+
(𝓝[>] a).limsup f = ⨆ r > a, f r :=
550+
hf.limsup_nhdsGT_eq_iSup₂_of_exists_gt a (exists_gt a)
551+
552+
lemma Monotone.liminf_nhdsGT_eq_iInf₂_of_exists_gt (hf : Monotone f) (a : α) (hb : ∃ b, a < b) :
553+
(𝓝[>] a).liminf f = ⨅ r > a, f r :=
554+
hf.dual.limsup_nhdsGT_eq_iInf₂_of_exists_gt a hb
555+
556+
lemma Monotone.liminf_nhdsGT_eq_iInf₂ [NoMaxOrder α] (hf : Monotone f) (a : α) :
557+
(𝓝[>] a).liminf f = ⨅ r > a, f r :=
558+
hf.liminf_nhdsGT_eq_iInf₂_of_exists_gt a (exists_gt a)
559+
560+
lemma Antitone.liminf_nhdsLT_eq_iSup₂_of_exists_lt (hf : Antitone f) (a : α) (hb : ∃ b, b < a) :
561+
(𝓝[<] a).liminf f = ⨆ r < a, f r := by
562+
rw [(nhdsLT_basis_of_exists_lt hb).liminf_eq_iSup_iInf]
563+
refine le_antisymm (iSup₂_mono' fun r hr ↦ ?_) (iSup₂_mono' fun r hr ↦ ?_)
564+
· obtain ⟨b, hb⟩ := exists_between hr
565+
use b, hb.2
566+
exact iInf₂_le b hb
567+
· use r, hr
568+
apply le_iInf
569+
simp only [Set.mem_Ioo, le_iInf_iff, and_imp]
570+
intro i hir _
571+
exact hf hir.le
572+
573+
lemma Antitone.liminf_nhdsLT_eq_iSup₂ [NoMinOrder α] (hf : Antitone f) (a : α) :
574+
(𝓝[<] a).liminf f = ⨆ r < a, f r :=
575+
hf.liminf_nhdsLT_eq_iSup₂_of_exists_lt a (exists_lt a)
576+
577+
lemma Antitone.limsup_nhdsLT_eq_iInf₂_of_exists_lt (hf : Antitone f) (a : α) (hb : ∃ b, b < a) :
578+
(𝓝[<] a).limsup f = ⨅ r < a, f r := by
579+
rw [(nhdsLT_basis_of_exists_lt hb).limsup_eq_iInf_iSup]
580+
refine le_antisymm (iInf₂_mono' fun r hr ↦ ?_) (iInf₂_mono' fun r hr ↦ ?_)
581+
· use r, hr
582+
apply iSup_le
583+
simp only [Set.mem_Ioo, iSup_le_iff, and_imp]
584+
intro i _ hia
585+
exact hf hia.le
586+
· obtain ⟨b, hb⟩ := exists_between hr
587+
use b, hb.2
588+
exact iSup₂_le_iSup₂ b hb
589+
590+
lemma Antitone.limsup_nhdsLT_eq_iInf₂ [NoMinOrder α] (hf : Antitone f) (a : α) :
591+
(𝓝[<] a).limsup f = ⨅ r < a, f r :=
592+
hf.limsup_nhdsLT_eq_iInf₂_of_exists_lt a (exists_lt a)
593+
594+
lemma Monotone.limsup_nhdsLT_eq_iSup₂_of_exists_lt (hf : Monotone f) (a : α) (hb : ∃ b, b < a) :
595+
(𝓝[<] a).limsup f = ⨆ r < a, f r :=
596+
hf.dual.liminf_nhdsLT_eq_iSup₂_of_exists_lt a hb
597+
598+
lemma Monotone.limsup_nhdsLT_eq_iSup₂ [NoMinOrder α] (hf : Monotone f) (a : α) :
599+
(𝓝[<] a).limsup f = ⨆ r < a, f r :=
600+
hf.limsup_nhdsLT_eq_iSup₂_of_exists_lt a (exists_lt a)
601+
602+
lemma Monotone.liminf_nhdsLT_eq_iInf₂_of_exists_lt (hf : Monotone f) (a : α) (hb : ∃ b, b < a) :
603+
(𝓝[<] a).liminf f = ⨅ r < a, f r :=
604+
hf.dual.limsup_nhdsLT_eq_iInf₂_of_exists_lt a hb
605+
606+
lemma Monotone.liminf_nhdsLT_eq_iInf₂ [NoMinOrder α] (hf : Monotone f) (a : α) :
607+
(𝓝[<] a).liminf f = ⨅ r < a, f r :=
608+
hf.liminf_nhdsLT_eq_iInf₂_of_exists_lt a (exists_lt a)
609+
527610
end

0 commit comments

Comments
 (0)