Theorem: Filter.subseq_tendsto_of_neBot
File: Mathlib/Order/Filter/AtTopBot.lean

tactic: obtain ⟨B, h⟩ := f.exists_antitone_basis
state_before: ι : Type ?u.373995
ι' : Type ?u.373998
α : Type u_1
β : Type ?u.374004
γ : Type ?u.374007
f : Filter α
inst✝ : IsCountablyGenerated f
u : ℕ → α
hx : NeBot (f ⊓ map u atTop)
⊢ ∃ θ, StrictMono θ ∧ Tendsto (u ∘ θ) atTop f

tactic: have : ∀ N, ∃ n ≥ N, u n ∈ B N := fun N =>
  Filter.inf_map_atTop_neBot_iff.mp hx _ (h.1.mem_of_mem trivial) N
state_before: case intro
ι : Type ?u.373995
ι' : Type ?u.373998
α : Type u_1
β : Type ?u.374004
γ : Type ?u.374007
f : Filter α
inst✝ : IsCountablyGenerated f
u : ℕ → α
hx : NeBot (f ⊓ map u atTop)
B : ℕ → Set α
h : HasAntitoneBasis f B
⊢ ∃ θ, StrictMono θ ∧ Tendsto (u ∘ θ) atTop f

tactic: choose φ hφ using this
state_before: case intro
ι : Type ?u.373995
ι' : Type ?u.373998
α : Type u_1
β : Type ?u.374004
γ : Type ?u.374007
f : Filter α
inst✝ : IsCountablyGenerated f
u : ℕ → α
hx : NeBot (f ⊓ map u atTop)
B : ℕ → Set α
h : HasAntitoneBasis f B
this : ∀ (N : ℕ), ∃ n, n ≥ N ∧ u n ∈ B N
⊢ ∃ θ, StrictMono θ ∧ Tendsto (u ∘ θ) atTop f

tactic: cases' forall_and.mp hφ with φ_ge φ_in
state_before: case intro
ι : Type ?u.373995
ι' : Type ?u.373998
α : Type u_1
β : Type ?u.374004
γ : Type ?u.374007
f : Filter α
inst✝ : IsCountablyGenerated f
u : ℕ → α
hx : NeBot (f ⊓ map u atTop)
B : ℕ → Set α
h : HasAntitoneBasis f B
φ : ℕ → ℕ
hφ : ∀ (N : ℕ), φ N ≥ N ∧ u (φ N) ∈ B N
⊢ ∃ θ, StrictMono θ ∧ Tendsto (u ∘ θ) atTop f

tactic: have lim_uφ : Tendsto (u ∘ φ) atTop f := h.tendsto φ_in
state_before: case intro.intro
ι : Type ?u.373995
ι' : Type ?u.373998
α : Type u_1
β : Type ?u.374004
γ : Type ?u.374007
f : Filter α
inst✝ : IsCountablyGenerated f
u : ℕ → α
hx : NeBot (f ⊓ map u atTop)
B : ℕ → Set α
h : HasAntitoneBasis f B
φ : ℕ → ℕ
hφ : ∀ (N : ℕ), φ N ≥ N ∧ u (φ N) ∈ B N
φ_ge : ∀ (x : ℕ), φ x ≥ x
φ_in : ∀ (x : ℕ), u (φ x) ∈ B x
⊢ ∃ θ, StrictMono θ ∧ Tendsto (u ∘ θ) atTop f

tactic: have lim_φ : Tendsto φ atTop atTop := tendsto_atTop_mono φ_ge tendsto_id
state_before: case intro.intro
ι : Type ?u.373995
ι' : Type ?u.373998
α : Type u_1
β : Type ?u.374004
γ : Type ?u.374007
f : Filter α
inst✝ : IsCountablyGenerated f
u : ℕ → α
hx : NeBot (f ⊓ map u atTop)
B : ℕ → Set α
h : HasAntitoneBasis f B
φ : ℕ → ℕ
hφ : ∀ (N : ℕ), φ N ≥ N ∧ u (φ N) ∈ B N
φ_ge : ∀ (x : ℕ), φ x ≥ x
φ_in : ∀ (x : ℕ), u (φ x) ∈ B x
lim_uφ : Tendsto (u ∘ φ) atTop f
⊢ ∃ θ, StrictMono θ ∧ Tendsto (u ∘ θ) atTop f

tactic: obtain ⟨ψ, hψ, hψφ⟩ : ∃ ψ : ℕ → ℕ, StrictMono ψ ∧ StrictMono (φ ∘ ψ)
state_before: case intro.intro
ι : Type ?u.373995
ι' : Type ?u.373998
α : Type u_1
β : Type ?u.374004
γ : Type ?u.374007
f : Filter α
inst✝ : IsCountablyGenerated f
u : ℕ → α
hx : NeBot (f ⊓ map u atTop)
B : ℕ → Set α
h : HasAntitoneBasis f B
φ : ℕ → ℕ
hφ : ∀ (N : ℕ), φ N ≥ N ∧ u (φ N) ∈ B N
φ_ge : ∀ (x : ℕ), φ x ≥ x
φ_in : ∀ (x : ℕ), u (φ x) ∈ B x
lim_uφ : Tendsto (u ∘ φ) atTop f
lim_φ : Tendsto φ atTop atTop
⊢ ∃ θ, StrictMono θ ∧ Tendsto (u ∘ θ) atTop f

tactic: exact strictMono_subseq_of_tendsto_atTop lim_φ
state_before: ι : Type ?u.373995
ι' : Type ?u.373998
α : Type u_1
β : Type ?u.374004
γ : Type ?u.374007
f : Filter α
inst✝ : IsCountablyGenerated f
u : ℕ → α
hx : NeBot (f ⊓ map u atTop)
B : ℕ → Set α
h : HasAntitoneBasis f B
φ : ℕ → ℕ
hφ : ∀ (N : ℕ), φ N ≥ N ∧ u (φ N) ∈ B N
φ_ge : ∀ (x : ℕ), φ x ≥ x
φ_in : ∀ (x : ℕ), u (φ x) ∈ B x
lim_uφ : Tendsto (u ∘ φ) atTop f
lim_φ : Tendsto φ atTop atTop
⊢ ∃ ψ, StrictMono ψ ∧ StrictMono (φ ∘ ψ)

case intro.intro.intro.intro
ι : Type ?u.373995
ι' : Type ?u.373998
α : Type u_1
β : Type ?u.374004
γ : Type ?u.374007
f : Filter α
inst✝ : IsCountablyGenerated f
u : ℕ → α
hx : NeBot (f ⊓ map u atTop)
B : ℕ → Set α
h : HasAntitoneBasis f B
φ : ℕ → ℕ
hφ : ∀ (N : ℕ), φ N ≥ N ∧ u (φ N) ∈ B N
φ_ge : ∀ (x : ℕ), φ x ≥ x
φ_in : ∀ (x : ℕ), u (φ x) ∈ B x
lim_uφ : Tendsto (u ∘ φ) atTop f
lim_φ : Tendsto φ atTop atTop
ψ : ℕ → ℕ
hψ : StrictMono ψ
hψφ : StrictMono (φ ∘ ψ)
⊢ ∃ θ, StrictMono θ ∧ Tendsto (u ∘ θ) atTop f

tactic: exact ⟨φ ∘ ψ, hψφ, lim_uφ.comp hψ.tendsto_atTop⟩
state_before: case intro.intro.intro.intro
ι : Type ?u.373995
ι' : Type ?u.373998
α : Type u_1
β : Type ?u.374004
γ : Type ?u.374007
f : Filter α
inst✝ : IsCountablyGenerated f
u : ℕ → α
hx : NeBot (f ⊓ map u atTop)
B : ℕ → Set α
h : HasAntitoneBasis f B
φ : ℕ → ℕ
hφ : ∀ (N : ℕ), φ N ≥ N ∧ u (φ N) ∈ B N
φ_ge : ∀ (x : ℕ), φ x ≥ x
φ_in : ∀ (x : ℕ), u (φ x) ∈ B x
lim_uφ : Tendsto (u ∘ φ) atTop f
lim_φ : Tendsto φ atTop atTop
ψ : ℕ → ℕ
hψ : StrictMono ψ
hψφ : StrictMono (φ ∘ ψ)
⊢ ∃ θ, StrictMono θ ∧ Tendsto (u ∘ θ) atTop f