Documentation

Mathlib.Order.Filter.Cofinite

The cofinite filter #

In this file we define

Filter.cofinite: the filter of sets with finite complement

and prove its basic properties. In particular, we prove that for it is equal to Filter.atTop.

TODO #

Define filters for other cardinalities of the complement.

def Filter.cofinite {α : Type u_2} :

The cofinite filter is the filter of subsets whose complements are finite.

Equations
    Instances For
      @[simp]
      theorem Filter.mem_cofinite {α : Type u_2} {s : Set α} :
      @[simp]
      theorem Filter.eventually_cofinite {α : Type u_2} {p : αProp} :
      (∀ᶠ (x : α) in cofinite, p x) {x : α | ¬p x}.Finite
      theorem Filter.hasBasis_cofinite {α : Type u_2} :
      cofinite.HasBasis (fun (s : Set α) => s.Finite) compl
      @[simp]
      theorem Filter.cofinite_eq_bot {α : Type u_2} [Finite α] :
      theorem Filter.frequently_cofinite_iff_infinite {α : Type u_2} {p : αProp} :
      (∃ᶠ (x : α) in cofinite, p x) {x : α | p x}.Infinite
      theorem Set.Infinite.frequently_cofinite {α : Type u_2} {s : Set α} :

      Alias of the reverse direction of Filter.frequently_cofinite_mem_iff_infinite.

      theorem Set.Finite.eventually_cofinite_notMem {α : Type u_2} {s : Set α} (hs : s.Finite) :
      ∀ᶠ (x : α) in Filter.cofinite, xs
      @[deprecated Set.Finite.eventually_cofinite_notMem (since := "2025-05-24")]
      theorem Set.Finite.eventually_cofinite_nmem {α : Type u_2} {s : Set α} (hs : s.Finite) :
      ∀ᶠ (x : α) in Filter.cofinite, xs

      Alias of Set.Finite.eventually_cofinite_notMem.

      theorem Finset.eventually_cofinite_notMem {α : Type u_2} (s : Finset α) :
      ∀ᶠ (x : α) in Filter.cofinite, xs
      @[deprecated Finset.eventually_cofinite_notMem (since := "2025-05-24")]
      theorem Finset.eventually_cofinite_nmem {α : Type u_2} (s : Finset α) :
      ∀ᶠ (x : α) in Filter.cofinite, xs

      Alias of Finset.eventually_cofinite_notMem.

      theorem Filter.eventually_cofinite_ne {α : Type u_2} (x : α) :
      ∀ᶠ (a : α) in cofinite, a x
      theorem Filter.le_cofinite_iff_compl_singleton_mem {α : Type u_2} {l : Filter α} :
      l cofinite ∀ (x : α), {x} l
      theorem Filter.le_cofinite_iff_eventually_ne {α : Type u_2} {l : Filter α} :
      l cofinite ∀ (x : α), ∀ᶠ (y : α) in l, y x

      If α is a preorder with no top element, then atTop ≤ cofinite.

      If α is a preorder with no bottom element, then atBot ≤ cofinite.

      theorem Filter.comap_cofinite_le {α : Type u_2} {β : Type u_3} (f : αβ) :

      The coproduct of the cofinite filters on two types is the cofinite filter on their product.

      theorem Filter.coprodᵢ_cofinite {ι : Type u_1} {α : ιType u_4} [Finite ι] :
      theorem Filter.disjoint_cofinite_left {α : Type u_2} {l : Filter α} :
      Disjoint cofinite l sl, s.Finite
      theorem Filter.disjoint_cofinite_right {α : Type u_2} {l : Filter α} :
      Disjoint l cofinite sl, s.Finite

      If l ≥ Filter.cofinite is a countably generated filter, then l.ker is cocountable.

      theorem Filter.Tendsto.countable_compl_preimage_ker {α : Type u_2} {β : Type u_3} {f : αβ} {l : Filter β} [l.IsCountablyGenerated] (h : Tendsto f cofinite l) :

      If f tends to a countably generated filter l along Filter.cofinite, then for all but countably many elements, f x ∈ l.ker.

      theorem Filter.univ_pi_mem_pi {ι : Type u_1} {α : ιType u_4} {s : (i : ι) → Set (α i)} {l : (i : ι) → Filter (α i)} (h : ∀ (i : ι), s i l i) (hfin : ∀ᶠ (i : ι) in cofinite, s i = Set.univ) :

      Given a collection of filters l i : Filter (α i) and sets s i ∈ l i, if all but finitely many of s i are the whole space, then their indexed product Set.pi Set.univ s belongs to the filter Filter.pi l.

      theorem Filter.map_piMap_pi {ι : Type u_1} {α : ιType u_4} {β : ιType u_5} {f : (i : ι) → α iβ i} (hf : ∀ᶠ (i : ι) in cofinite, Function.Surjective (f i)) (l : (i : ι) → Filter (α i)) :
      map (Pi.map f) (pi l) = pi fun (i : ι) => map (f i) (l i)

      Given a family of maps f i : α i → β i and a family of filters l i : Filter (α i), if all but finitely many of f i are surjective, then the indexed product of f is maps the indexed product of the filters l i to the indexed products of their pushforwards under individual f is.

      See also map_piMap_pi_finite for the case of a finite index type.

      theorem Filter.map_piMap_pi_finite {ι : Type u_1} {α : ιType u_4} {β : ιType u_5} [Finite ι] (f : (i : ι) → α iβ i) (l : (i : ι) → Filter (α i)) :
      map (Pi.map f) (pi l) = pi fun (i : ι) => map (f i) (l i)

      Given finite families of maps f i : α i → β i and of filters l i : Filter (α i), the indexed product of f is maps the indexed product of the filters l i to the indexed products of their pushforwards under individual f is.

      See also map_piMap_pi for a more general case.

      For natural numbers the filters Filter.cofinite and Filter.atTop coincide.

      theorem Filter.Tendsto.exists_within_forall_le {α : Type u_4} {β : Type u_5} [LinearOrder β] {s : Set α} (hs : s.Nonempty) {f : αβ} (hf : Tendsto f cofinite atTop) :
      a₀s, as, f a₀ f a
      theorem Filter.Tendsto.exists_forall_le {α : Type u_2} {β : Type u_3} [Nonempty α] [LinearOrder β] {f : αβ} (hf : Tendsto f cofinite atTop) :
      ∃ (a₀ : α), ∀ (a : α), f a₀ f a
      theorem Filter.Tendsto.exists_within_forall_ge {α : Type u_2} {β : Type u_3} [LinearOrder β] {s : Set α} (hs : s.Nonempty) {f : αβ} (hf : Tendsto f cofinite atBot) :
      a₀s, as, f a f a₀
      theorem Filter.Tendsto.exists_forall_ge {α : Type u_2} {β : Type u_3} [Nonempty α] [LinearOrder β] {f : αβ} (hf : Tendsto f cofinite atBot) :
      ∃ (a₀ : α), ∀ (a : α), f a f a₀
      theorem Function.Injective.tendsto_cofinite {α : Type u_2} {β : Type u_3} {f : αβ} (hf : Injective f) :

      For an injective function f, inverse images of finite sets are finite. See also Filter.comap_cofinite_le and Function.Injective.comap_cofinite_eq.

      theorem Filter.Tendsto.cofinite_of_finite_preimage_singleton {α : Type u_2} {β : Type u_3} {f : αβ} (hf : ∀ (b : β), Finite ↑(f ⁻¹' {b})) :

      For a function with finite fibres, inverse images of finite sets are finite.

      theorem Function.Injective.comap_cofinite_eq {α : Type u_2} {β : Type u_3} {f : αβ} (hf : Injective f) :

      The pullback of the Filter.cofinite under an injective function is equal to Filter.cofinite. See also Filter.comap_cofinite_le and Function.Injective.tendsto_cofinite.

      An injective sequence f : ℕ → ℕ tends to infinity at infinity.