Theorem: mem_omegaLimit_iff_frequently
File: Mathlib/Dynamics/OmegaLimit.lean

tactic: simp_rw [frequently_iff, omegaLimit_def, mem_iInter, mem_closure_iff_nhds]
state_before: τ : Type u_2
α : Type u_3
β : Type u_1
ι : Type ?u.28145
inst✝ : TopologicalSpace β
f : Filter τ
ϕ : τ → α → β
s s₁ s₂ : Set α
y : β
⊢ y ∈ ω f ϕ s ↔ ∀ (n : Set β), n ∈ 𝓝 y → ∃ᶠ (t : τ) in f, Set.Nonempty (s ∩ ϕ t ⁻¹' n)

tactic: constructor
state_before: τ : Type u_2
α : Type u_3
β : Type u_1
ι : Type ?u.28145
inst✝ : TopologicalSpace β
f : Filter τ
ϕ : τ → α → β
s s₁ s₂ : Set α
y : β
⊢ (∀ (i : Set τ), i ∈ f → ∀ (t : Set β), t ∈ 𝓝 y → Set.Nonempty (t ∩ image2 ϕ i s)) ↔
    ∀ (n : Set β), n ∈ 𝓝 y → ∀ {U : Set τ}, U ∈ f → ∃ x, x ∈ U ∧ Set.Nonempty (s ∩ ϕ x ⁻¹' n)

tactic: intro h _ hn _ hu
state_before: case mp
τ : Type u_2
α : Type u_3
β : Type u_1
ι : Type ?u.28145
inst✝ : TopologicalSpace β
f : Filter τ
ϕ : τ → α → β
s s₁ s₂ : Set α
y : β
⊢ (∀ (i : Set τ), i ∈ f → ∀ (t : Set β), t ∈ 𝓝 y → Set.Nonempty (t ∩ image2 ϕ i s)) →
    ∀ (n : Set β), n ∈ 𝓝 y → ∀ {U : Set τ}, U ∈ f → ∃ x, x ∈ U ∧ Set.Nonempty (s ∩ ϕ x ⁻¹' n)

tactic: rcases h _ hu _ hn with ⟨_, _, _, _, ht, hx, hϕtx⟩
state_before: case mp
τ : Type u_2
α : Type u_3
β : Type u_1
ι : Type ?u.28145
inst✝ : TopologicalSpace β
f : Filter τ
ϕ : τ → α → β
s s₁ s₂ : Set α
y : β
h : ∀ (i : Set τ), i ∈ f → ∀ (t : Set β), t ∈ 𝓝 y → Set.Nonempty (t ∩ image2 ϕ i s)
n✝ : Set β
hn : n✝ ∈ 𝓝 y
U✝ : Set τ
hu : U✝ ∈ f
⊢ ∃ x, x ∈ U✝ ∧ Set.Nonempty (s ∩ ϕ x ⁻¹' n✝)

tactic: exact ⟨_, ht, _, hx, by rwa [mem_preimage, hϕtx]⟩
state_before: case mp.intro.intro.intro.intro.intro.intro
τ : Type u_2
α : Type u_3
β : Type u_1
ι : Type ?u.28145
inst✝ : TopologicalSpace β
f : Filter τ
ϕ : τ → α → β
s s₁ s₂ : Set α
y : β
h : ∀ (i : Set τ), i ∈ f → ∀ (t : Set β), t ∈ 𝓝 y → Set.Nonempty (t ∩ image2 ϕ i s)
n✝ : Set β
hn : n✝ ∈ 𝓝 y
U✝ : Set τ
hu : U✝ ∈ f
w✝² : β
left✝ : w✝² ∈ n✝
w✝¹ : τ
w✝ : α
ht : w✝¹ ∈ U✝
hx : w✝ ∈ s
hϕtx : ϕ w✝¹ w✝ = w✝²
⊢ ∃ x, x ∈ U✝ ∧ Set.Nonempty (s ∩ ϕ x ⁻¹' n✝)

tactic: rwa [mem_preimage, hϕtx]
state_before: τ : Type u_2
α : Type u_3
β : Type u_1
ι : Type ?u.28145
inst✝ : TopologicalSpace β
f : Filter τ
ϕ : τ → α → β
s s₁ s₂ : Set α
y : β
h : ∀ (i : Set τ), i ∈ f → ∀ (t : Set β), t ∈ 𝓝 y → Set.Nonempty (t ∩ image2 ϕ i s)
n✝ : Set β
hn : n✝ ∈ 𝓝 y
U✝ : Set τ
hu : U✝ ∈ f
w✝² : β
left✝ : w✝² ∈ n✝
w✝¹ : τ
w✝ : α
ht : w✝¹ ∈ U✝
hx : w✝ ∈ s
hϕtx : ϕ w✝¹ w✝ = w✝²
⊢ w✝ ∈ ϕ w✝¹ ⁻¹' n✝

tactic: intro h _ hu _ hn
state_before: case mpr
τ : Type u_2
α : Type u_3
β : Type u_1
ι : Type ?u.28145
inst✝ : TopologicalSpace β
f : Filter τ
ϕ : τ → α → β
s s₁ s₂ : Set α
y : β
⊢ (∀ (n : Set β), n ∈ 𝓝 y → ∀ {U : Set τ}, U ∈ f → ∃ x, x ∈ U ∧ Set.Nonempty (s ∩ ϕ x ⁻¹' n)) →
    ∀ (i : Set τ), i ∈ f → ∀ (t : Set β), t ∈ 𝓝 y → Set.Nonempty (t ∩ image2 ϕ i s)

tactic: rcases h _ hn hu with ⟨_, ht, _, hx, hϕtx⟩
state_before: case mpr
τ : Type u_2
α : Type u_3
β : Type u_1
ι : Type ?u.28145
inst✝ : TopologicalSpace β
f : Filter τ
ϕ : τ → α → β
s s₁ s₂ : Set α
y : β
h : ∀ (n : Set β), n ∈ 𝓝 y → ∀ {U : Set τ}, U ∈ f → ∃ x, x ∈ U ∧ Set.Nonempty (s ∩ ϕ x ⁻¹' n)
i✝ : Set τ
hu : i✝ ∈ f
t✝ : Set β
hn : t✝ ∈ 𝓝 y
⊢ Set.Nonempty (t✝ ∩ image2 ϕ i✝ s)

tactic: exact ⟨_, hϕtx, _, _, ht, hx, rfl⟩
state_before: case mpr.intro.intro.intro.intro
τ : Type u_2
α : Type u_3
β : Type u_1
ι : Type ?u.28145
inst✝ : TopologicalSpace β
f : Filter τ
ϕ : τ → α → β
s s₁ s₂ : Set α
y : β
h : ∀ (n : Set β), n ∈ 𝓝 y → ∀ {U : Set τ}, U ∈ f → ∃ x, x ∈ U ∧ Set.Nonempty (s ∩ ϕ x ⁻¹' n)
i✝ : Set τ
hu : i✝ ∈ f
t✝ : Set β
hn : t✝ ∈ 𝓝 y
w✝¹ : τ
ht : w✝¹ ∈ i✝
w✝ : α
hx : w✝ ∈ s
hϕtx : w✝ ∈ ϕ w✝¹ ⁻¹' t✝
⊢ Set.Nonempty (t✝ ∩ image2 ϕ i✝ s)