Theorem: Antitone.map_limsSup_of_continuousAt
File: Mathlib/Topology/Algebra/Order/LiminfLimsup.lean

tactic: apply le_antisymm
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
⊢ f (limsSup F) = liminf f F

tactic: have A : { a : R | ∀ᶠ n : R in F, n ≤ a }.Nonempty := ⟨⊤, by simp⟩
state_before: case a
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
⊢ f (limsSup F) ≤ liminf f F

tactic: rw [limsSup, f_decr.map_sInf_of_continuousAt' f_cont A]
state_before: case a
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
A : Set.Nonempty {a | ∀ᶠ (n : R) in F, n ≤ a}
⊢ f (limsSup F) ≤ liminf f F

tactic: apply le_of_forall_lt
state_before: case a
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
A : Set.Nonempty {a | ∀ᶠ (n : R) in F, n ≤ a}
⊢ sSup (f '' {a | ∀ᶠ (n : R) in F, n ≤ a}) ≤ liminf f F

tactic: intro c hc
state_before: case a.H
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
A : Set.Nonempty {a | ∀ᶠ (n : R) in F, n ≤ a}
⊢ ∀ (c : S), c < sSup (f '' {a | ∀ᶠ (n : R) in F, n ≤ a}) → c < liminf f F

tactic: simp only [liminf, limsInf, lt_sSup_iff, eventually_map, Set.mem_setOf_eq, exists_prop,
  Set.mem_image, exists_exists_and_eq_and] at hc⊢
state_before: case a.H
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
A : Set.Nonempty {a | ∀ᶠ (n : R) in F, n ≤ a}
c : S
hc : c < sSup (f '' {a | ∀ᶠ (n : R) in F, n ≤ a})
⊢ c < liminf f F

tactic: rcases hc with ⟨d, hd, h'd⟩
state_before: case a.H
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
A : Set.Nonempty {a | ∀ᶠ (n : R) in F, n ≤ a}
c : S
hc : ∃ a, (∀ᶠ (n : R) in F, n ≤ a) ∧ c < f a
⊢ ∃ a, (∀ᶠ (a_1 : R) in F, a ≤ f a_1) ∧ c < a

tactic: refine' ⟨f d, _, h'd⟩
state_before: case a.H.intro.intro
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
A : Set.Nonempty {a | ∀ᶠ (n : R) in F, n ≤ a}
c : S
d : R
hd : ∀ᶠ (n : R) in F, n ≤ d
h'd : c < f d
⊢ ∃ a, (∀ᶠ (a_1 : R) in F, a ≤ f a_1) ∧ c < a

tactic: filter_upwards [hd]with x hx using f_decr hx
state_before: case a.H.intro.intro
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
A : Set.Nonempty {a | ∀ᶠ (n : R) in F, n ≤ a}
c : S
d : R
hd : ∀ᶠ (n : R) in F, n ≤ d
h'd : c < f d
⊢ ∀ᶠ (a : R) in F, f d ≤ f a

tactic: simp
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
⊢ ⊤ ∈ {a | ∀ᶠ (n : R) in F, n ≤ a}

tactic: rcases eq_or_lt_of_le (bot_le : ⊥ ≤ F.limsSup) with (h | limsSup_ne_bot)
state_before: case a
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
⊢ liminf f F ≤ f (limsSup F)

tactic: by_cases h' : ∃ c, c < F.limsSup ∧ Set.Ioo c F.limsSup = ∅
state_before: case a.inr
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
⊢ liminf f F ≤ f (limsSup F)

tactic: by_contra' H
state_before: case neg
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
h' : ¬∃ c, c < limsSup F ∧ Set.Ioo c (limsSup F) = ∅
⊢ liminf f F ≤ f (limsSup F)

tactic: obtain ⟨l, l_lt, h'l⟩ : ∃ l < F.limsSup, Set.Ioc l F.limsSup ⊆ { x : R | f x < F.liminf f }
state_before: case neg
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
h' : ¬∃ c, c < limsSup F ∧ Set.Ioo c (limsSup F) = ∅
H : f (limsSup F) < liminf f F
⊢ False

tactic: exact exists_Ioc_subset_of_mem_nhds ((tendsto_order.1 f_cont.tendsto).2 _ H) ⟨⊥, limsSup_ne_bot⟩
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
h' : ¬∃ c, c < limsSup F ∧ Set.Ioo c (limsSup F) = ∅
H : f (limsSup F) < liminf f F
⊢ ∃ l, l < limsSup F ∧ Set.Ioc l (limsSup F) ⊆ {x | f x < liminf f F}

case neg.intro.intro
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
h' : ¬∃ c, c < limsSup F ∧ Set.Ioo c (limsSup F) = ∅
H : f (limsSup F) < liminf f F
l : R
l_lt : l < limsSup F
h'l : Set.Ioc l (limsSup F) ⊆ {x | f x < liminf f F}
⊢ False

tactic: obtain ⟨m, l_m, m_lt⟩ : (Set.Ioo l F.limsSup).Nonempty := by
  contrapose! h'
  refine' ⟨l, l_lt, by rwa [Set.not_nonempty_iff_eq_empty] at h'⟩
state_before: case neg.intro.intro
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
h' : ¬∃ c, c < limsSup F ∧ Set.Ioo c (limsSup F) = ∅
H : f (limsSup F) < liminf f F
l : R
l_lt : l < limsSup F
h'l : Set.Ioc l (limsSup F) ⊆ {x | f x < liminf f F}
⊢ False

tactic: have B : F.liminf f ≤ f m := by
  apply liminf_le_of_frequently_le _
  apply (frequently_lt_of_lt_limsSup (by isBoundedDefault) m_lt).mono
  intro x hx
  exact f_decr hx.le
state_before: case neg.intro.intro.intro.intro
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
h' : ¬∃ c, c < limsSup F ∧ Set.Ioo c (limsSup F) = ∅
H : f (limsSup F) < liminf f F
l : R
l_lt : l < limsSup F
h'l : Set.Ioc l (limsSup F) ⊆ {x | f x < liminf f F}
m : R
l_m : l < m
m_lt : m < limsSup F
⊢ False

tactic: have I : f m < F.liminf f := h'l ⟨l_m, m_lt.le⟩
state_before: case neg.intro.intro.intro.intro
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
h' : ¬∃ c, c < limsSup F ∧ Set.Ioo c (limsSup F) = ∅
H : f (limsSup F) < liminf f F
l : R
l_lt : l < limsSup F
h'l : Set.Ioc l (limsSup F) ⊆ {x | f x < liminf f F}
m : R
l_m : l < m
m_lt : m < limsSup F
B : liminf f F ≤ f m
⊢ False

tactic: exact lt_irrefl _ (B.trans_lt I)
state_before: case neg.intro.intro.intro.intro
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
h' : ¬∃ c, c < limsSup F ∧ Set.Ioo c (limsSup F) = ∅
H : f (limsSup F) < liminf f F
l : R
l_lt : l < limsSup F
h'l : Set.Ioc l (limsSup F) ⊆ {x | f x < liminf f F}
m : R
l_m : l < m
m_lt : m < limsSup F
B : liminf f F ≤ f m
I : f m < liminf f F
⊢ False

tactic: rw [← h]
state_before: case a.inl
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
h : ⊥ = limsSup F
⊢ liminf f F ≤ f (limsSup F)

tactic: apply liminf_le_of_frequently_le _
state_before: case a.inl
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
h : ⊥ = limsSup F
⊢ liminf f F ≤ f ⊥

tactic: apply frequently_of_forall
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
h : ⊥ = limsSup F
⊢ ∃ᶠ (x : R) in F, f x ≤ f ⊥

tactic: intro x
state_before: case h
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
h : ⊥ = limsSup F
⊢ ∀ (x : R), f x ≤ f ⊥

tactic: exact f_decr bot_le
state_before: case h
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
h : ⊥ = limsSup F
x : R
⊢ f x ≤ f ⊥

tactic: rcases h' with ⟨c, c_lt, hc⟩
state_before: case pos
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
h' : ∃ c, c < limsSup F ∧ Set.Ioo c (limsSup F) = ∅
⊢ liminf f F ≤ f (limsSup F)

tactic: have B : ∃ᶠ n in F, F.limsSup ≤ n := by
  apply (frequently_lt_of_lt_limsSup (by isBoundedDefault) c_lt).mono
  intro x hx
  by_contra'
  have : (Set.Ioo c F.limsSup).Nonempty := ⟨x, ⟨hx, this⟩⟩
  simp only [hc, Set.not_nonempty_empty] at this
state_before: case pos.intro.intro
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
c : R
c_lt : c < limsSup F
hc : Set.Ioo c (limsSup F) = ∅
⊢ liminf f F ≤ f (limsSup F)

tactic: apply liminf_le_of_frequently_le _
state_before: case pos.intro.intro
α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
c : R
c_lt : c < limsSup F
hc : Set.Ioo c (limsSup F) = ∅
B : ∃ᶠ (n : R) in F, limsSup F ≤ n
⊢ liminf f F ≤ f (limsSup F)

tactic: exact B.mono fun x hx ↦ f_decr hx
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
c : R
c_lt : c < limsSup F
hc : Set.Ioo c (limsSup F) = ∅
B : ∃ᶠ (n : R) in F, limsSup F ≤ n
⊢ ∃ᶠ (x : R) in F, f x ≤ f (limsSup F)

tactic: apply (frequently_lt_of_lt_limsSup (by isBoundedDefault) c_lt).mono
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
c : R
c_lt : c < limsSup F
hc : Set.Ioo c (limsSup F) = ∅
⊢ ∃ᶠ (n : R) in F, limsSup F ≤ n

tactic: intro x hx
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
c : R
c_lt : c < limsSup F
hc : Set.Ioo c (limsSup F) = ∅
⊢ ∀ (x : R), c < x → limsSup F ≤ x

tactic: by_contra'
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
c : R
c_lt : c < limsSup F
hc : Set.Ioo c (limsSup F) = ∅
x : R
hx : c < x
⊢ limsSup F ≤ x

tactic: have : (Set.Ioo c F.limsSup).Nonempty := ⟨x, ⟨hx, this⟩⟩
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
c : R
c_lt : c < limsSup F
hc : Set.Ioo c (limsSup F) = ∅
x : R
hx : c < x
this : x < limsSup F
⊢ False

tactic: simp only [hc, Set.not_nonempty_empty] at this
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
c : R
c_lt : c < limsSup F
hc : Set.Ioo c (limsSup F) = ∅
x : R
hx : c < x
this✝ : x < limsSup F
this : Set.Nonempty (Set.Ioo c (limsSup F))
⊢ False

tactic: isBoundedDefault
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
c : R
c_lt : c < limsSup F
hc : Set.Ioo c (limsSup F) = ∅
⊢ IsCobounded (fun x x_1 => x ≤ x_1) F

tactic: contrapose! h'
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
h' : ¬∃ c, c < limsSup F ∧ Set.Ioo c (limsSup F) = ∅
H : f (limsSup F) < liminf f F
l : R
l_lt : l < limsSup F
h'l : Set.Ioc l (limsSup F) ⊆ {x | f x < liminf f F}
⊢ Set.Nonempty (Set.Ioo l (limsSup F))

tactic: refine' ⟨l, l_lt, by rwa [Set.not_nonempty_iff_eq_empty] at h'⟩
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
H : f (limsSup F) < liminf f F
l : R
l_lt : l < limsSup F
h'l : Set.Ioc l (limsSup F) ⊆ {x | f x < liminf f F}
h' : ¬Set.Nonempty (Set.Ioo l (limsSup F))
⊢ ∃ c, c < limsSup F ∧ Set.Ioo c (limsSup F) = ∅

tactic: rwa [Set.not_nonempty_iff_eq_empty] at h'
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
H : f (limsSup F) < liminf f F
l : R
l_lt : l < limsSup F
h'l : Set.Ioc l (limsSup F) ⊆ {x | f x < liminf f F}
h' : ¬Set.Nonempty (Set.Ioo l (limsSup F))
⊢ Set.Ioo l (limsSup F) = ∅

tactic: apply liminf_le_of_frequently_le _
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
h' : ¬∃ c, c < limsSup F ∧ Set.Ioo c (limsSup F) = ∅
H : f (limsSup F) < liminf f F
l : R
l_lt : l < limsSup F
h'l : Set.Ioc l (limsSup F) ⊆ {x | f x < liminf f F}
m : R
l_m : l < m
m_lt : m < limsSup F
⊢ liminf f F ≤ f m

tactic: apply (frequently_lt_of_lt_limsSup (by isBoundedDefault) m_lt).mono
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
h' : ¬∃ c, c < limsSup F ∧ Set.Ioo c (limsSup F) = ∅
H : f (limsSup F) < liminf f F
l : R
l_lt : l < limsSup F
h'l : Set.Ioc l (limsSup F) ⊆ {x | f x < liminf f F}
m : R
l_m : l < m
m_lt : m < limsSup F
⊢ ∃ᶠ (x : R) in F, f x ≤ f m

tactic: intro x hx
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
h' : ¬∃ c, c < limsSup F ∧ Set.Ioo c (limsSup F) = ∅
H : f (limsSup F) < liminf f F
l : R
l_lt : l < limsSup F
h'l : Set.Ioc l (limsSup F) ⊆ {x | f x < liminf f F}
m : R
l_m : l < m
m_lt : m < limsSup F
⊢ ∀ (x : R), m < x → f x ≤ f m

tactic: exact f_decr hx.le
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
h' : ¬∃ c, c < limsSup F ∧ Set.Ioo c (limsSup F) = ∅
H : f (limsSup F) < liminf f F
l : R
l_lt : l < limsSup F
h'l : Set.Ioc l (limsSup F) ⊆ {x | f x < liminf f F}
m : R
l_m : l < m
m_lt : m < limsSup F
x : R
hx : m < x
⊢ f x ≤ f m

tactic: isBoundedDefault
state_before: α : Type u
β : Type v
ι : Type ?u.48095
R : Type u_1
S : Type u_2
F✝ : Filter ι
inst✝⁷ : NeBot F✝
inst✝⁶ : CompleteLinearOrder R
inst✝⁵ : TopologicalSpace R
inst✝⁴ : OrderTopology R
inst✝³ : CompleteLinearOrder S
inst✝² : TopologicalSpace S
inst✝¹ : OrderTopology S
F : Filter R
inst✝ : NeBot F
f : R → S
f_decr : Antitone f
f_cont : ContinuousAt f (limsSup F)
limsSup_ne_bot : ⊥ < limsSup F
h' : ¬∃ c, c < limsSup F ∧ Set.Ioo c (limsSup F) = ∅
H : f (limsSup F) < liminf f F
l : R
l_lt : l < limsSup F
h'l : Set.Ioc l (limsSup F) ⊆ {x | f x < liminf f F}
m : R
l_m : l < m
m_lt : m < limsSup F
⊢ IsCobounded (fun x x_1 => x ≤ x_1) F