Filters with countable intersection property #
In this file we define CountableInterFilter to be the class of filters with the following
property: for any countable collection of sets s ∈ l their intersection belongs to l as well.
Two main examples are the residual filter defined in Mathlib/Topology/GDelta.lean and
the MeasureTheory.ae filter defined in Mathlib/MeasureTheory.OuterMeasure/AE.
We reformulate the definition in terms of indexed intersection and in terms of Filter.Eventually
and provide instances for some basic constructions (⊥, ⊤, Filter.principal, Filter.map,
Filter.comap, Inf.inf). We also provide a custom constructor Filter.ofCountableInter
that deduces two axioms of a Filter from the countable intersection property.
Note that there also exists a typeclass CardinalInterFilter, and thus an alternative spelling of
CountableInterFilter as CardinalInterFilter l ℵ₁. The former (defined here) is the
preferred spelling; it has the advantage of not requiring the user to import the theory of ordinals.
Tags #
filter, countable
A filter l has the countable intersection property if for any countable collection
of sets s ∈ l their intersection belongs to l as well.
For a countable collection of sets
s ∈ l, their intersection belongs tolas well.
Instances
Construct a filter with countable intersection property. This constructor deduces
Filter.univ_sets and Filter.inter_sets from the countable intersection property.
Equations
- Filter.ofCountableInter l hl h_mono = { sets := l, univ_sets := ⋯, sets_of_superset := ⋯, inter_sets := ⋯ }
Instances For
Construct a filter with countable intersection property.
Similarly to Filter.comk, a set belongs to this filter if its complement satisfies the property.
Similarly to Filter.ofCountableInter,
this constructor deduces some properties from the countable intersection property
which becomes the countable union property because we take complements of all sets.
Equations
- Filter.ofCountableUnion l hUnion hmono = Filter.ofCountableInter {s : Set α | sᶜ ∈ l} ⋯ ⋯
Instances For
Infimum of two CountableInterFilters is a CountableInterFilter. This is useful, e.g.,
to automatically get an instance for residual α ⊓ 𝓟 s.
Supremum of two CountableInterFilters is a CountableInterFilter.
Filter.CountableGenerateSets g is the (sets of the)
greatest countableInterFilter containing g.
- basic {α : Type u_2} {g : Set (Set α)} {s : Set α} : s ∈ g → CountableGenerateSets g s
- univ {α : Type u_2} {g : Set (Set α)} : CountableGenerateSets g Set.univ
- superset {α : Type u_2} {g : Set (Set α)} {s t : Set α} : CountableGenerateSets g s → s ⊆ t → CountableGenerateSets g t
- sInter {α : Type u_2} {g S : Set (Set α)} : S.Countable → (∀ s ∈ S, CountableGenerateSets g s) → CountableGenerateSets g (⋂₀ S)
Instances For
Equations
- ⋯ = ⋯
countableGenerate g is the greatest countableInterFilter containing g.