doc-next-gen

Mathlib.Order.Filter.Lift

Module docstring

{"# Lift filters along filter and set functions "}

Filter.lift_top theorem
(g : Set α → Filter β) : (⊤ : Filter α).lift g = g univ
Full source
@[simp]
theorem lift_top (g : Set α → Filter β) : ( : Filter α).lift g = g univ := by simp [Filter.lift]
Lift of Top Filter Equals Image of Universal Set
Informal description
For any function $g$ mapping sets of type $\alpha$ to filters on type $\beta$, the lift of the top filter on $\alpha$ through $g$ equals $g$ applied to the universal set of $\alpha$, i.e., $\mathrm{lift}(\top, g) = g(\mathrm{univ})$.
Filter.HasBasis.mem_lift_iff theorem
{ι} {p : ι → Prop} {s : ι → Set α} {f : Filter α} (hf : f.HasBasis p s) {β : ι → Type*} {pg : ∀ i, β i → Prop} {sg : ∀ i, β i → Set γ} {g : Set α → Filter γ} (hg : ∀ i, (g <| s i).HasBasis (pg i) (sg i)) (gm : Monotone g) {s : Set γ} : s ∈ f.lift g ↔ ∃ i, p i ∧ ∃ x, pg i x ∧ sg i x ⊆ s
Full source
/-- If `(p : ι → Prop, s : ι → Set α)` is a basis of a filter `f`, `g` is a monotone function
`Set α → Filter γ`, and for each `i`, `(pg : β i → Prop, sg : β i → Set α)` is a basis
of the filter `g (s i)`, then
`(fun (i : ι) (x : β i) ↦ p i ∧ pg i x, fun (i : ι) (x : β i) ↦ sg i x)` is a basis
of the filter `f.lift g`.

This basis is parametrized by `i : ι` and `x : β i`, so in order to formulate this fact using
`Filter.HasBasis` one has to use `Σ i, β i` as the index type, see `Filter.HasBasis.lift`.
This lemma states the corresponding `mem_iff` statement without using a sigma type. -/
theorem HasBasis.mem_lift_iff {ι} {p : ι → Prop} {s : ι → Set α} {f : Filter α}
    (hf : f.HasBasis p s) {β : ι → Type*} {pg : ∀ i, β i → Prop} {sg : ∀ i, β i → Set γ}
    {g : Set α → Filter γ} (hg : ∀ i, (g <| s i).HasBasis (pg i) (sg i)) (gm : Monotone g)
    {s : Set γ} : s ∈ f.lift gs ∈ f.lift g ↔ ∃ i, p i ∧ ∃ x, pg i x ∧ sg i x ⊆ s := by
  refine (mem_biInf_of_directed ?_ ⟨univ, univ_sets _⟩).trans ?_
  · intro t₁ ht₁ t₂ ht₂
    exact ⟨t₁ ∩ t₂, inter_mem ht₁ ht₂, gm inter_subset_left, gm inter_subset_right⟩
  · simp only [← (hg _).mem_iff]
    exact hf.exists_iff fun t₁ t₂ ht H => gm ht H
Membership Criterion for Lifted Filter via Basis Decomposition
Informal description
Let $f$ be a filter on a type $\alpha$ with a basis $(p, s)$ where $p : \iota \to \mathrm{Prop}$ and $s : \iota \to \mathrm{Set}\,\alpha$. Let $g : \mathrm{Set}\,\alpha \to \mathrm{Filter}\,\gamma$ be a monotone function. Suppose for each $i \in \iota$, the filter $g(s(i))$ has a basis $(pg(i), sg(i))$ where $pg(i) : \beta_i \to \mathrm{Prop}$ and $sg(i) : \beta_i \to \mathrm{Set}\,\gamma$. Then for any set $s \subseteq \gamma$, we have $s \in f.lift\,g$ if and only if there exists an index $i \in \iota$ such that $p(i)$ holds, and there exists $x \in \beta_i$ such that $pg(i)(x)$ holds and $sg(i)(x) \subseteq s$.
Filter.HasBasis.lift theorem
{ι} {p : ι → Prop} {s : ι → Set α} {f : Filter α} (hf : f.HasBasis p s) {β : ι → Type*} {pg : ∀ i, β i → Prop} {sg : ∀ i, β i → Set γ} {g : Set α → Filter γ} (hg : ∀ i, (g (s i)).HasBasis (pg i) (sg i)) (gm : Monotone g) : (f.lift g).HasBasis (fun i : Σ i, β i => p i.1 ∧ pg i.1 i.2) fun i : Σ i, β i => sg i.1 i.2
Full source
/-- If `(p : ι → Prop, s : ι → Set α)` is a basis of a filter `f`, `g` is a monotone function
`Set α → Filter γ`, and for each `i`, `(pg : β i → Prop, sg : β i → Set α)` is a basis
of the filter `g (s i)`, then
`(fun (i : ι) (x : β i) ↦ p i ∧ pg i x, fun (i : ι) (x : β i) ↦ sg i x)`
is a basis of the filter `f.lift g`.

This basis is parametrized by `i : ι` and `x : β i`, so in order to formulate this fact using
`has_basis` one has to use `Σ i, β i` as the index type. See also `Filter.HasBasis.mem_lift_iff`
for the corresponding `mem_iff` statement formulated without using a sigma type. -/
theorem HasBasis.lift {ι} {p : ι → Prop} {s : ι → Set α} {f : Filter α} (hf : f.HasBasis p s)
    {β : ι → Type*} {pg : ∀ i, β i → Prop} {sg : ∀ i, β i → Set γ} {g : Set α → Filter γ}
    (hg : ∀ i, (g (s i)).HasBasis (pg i) (sg i)) (gm : Monotone g) :
    (f.lift g).HasBasis (fun i : Σi, β i => p i.1 ∧ pg i.1 i.2) fun i : Σi, β i => sg i.1 i.2 := by
  refine ⟨fun t => (hf.mem_lift_iff hg gm).trans ?_⟩
  simp [Sigma.exists, and_assoc, exists_and_left]
Basis Construction for Lifted Filter via Dependent Pair Indexing
Informal description
Let $f$ be a filter on a type $\alpha$ with a basis $(p, s)$ where $p : \iota \to \mathrm{Prop}$ and $s : \iota \to \mathrm{Set}\,\alpha$. Let $g : \mathrm{Set}\,\alpha \to \mathrm{Filter}\,\gamma$ be a monotone function. Suppose for each $i \in \iota$, the filter $g(s(i))$ has a basis $(pg(i), sg(i))$ where $pg(i) : \beta_i \to \mathrm{Prop}$ and $sg(i) : \beta_i \to \mathrm{Set}\,\gamma$. Then the lifted filter $f.lift\,g$ has a basis consisting of pairs $(i, x)$ where $i \in \iota$ and $x \in \beta_i$, with the predicate $\lambda (i, x) \mapsto p(i) \land pg(i)(x)$ and the set family $\lambda (i, x) \mapsto sg(i)(x)$. In other words, the basis for $f.lift\,g$ is parameterized by dependent pairs $(i, x) \in \Sigma i, \beta_i$ where $p(i)$ holds and $pg(i)(x)$ holds, with corresponding sets $sg(i)(x)$.
Filter.mem_lift_sets theorem
(hg : Monotone g) {s : Set β} : s ∈ f.lift g ↔ ∃ t ∈ f, s ∈ g t
Full source
theorem mem_lift_sets (hg : Monotone g) {s : Set β} : s ∈ f.lift gs ∈ f.lift g ↔ ∃ t ∈ f, s ∈ g t :=
  (f.basis_sets.mem_lift_iff (fun s => (g s).basis_sets) hg).trans <| by
    simp only [id, exists_mem_subset_iff]
Membership in Lifted Filter via Monotone Lifting Function
Informal description
Let $f$ be a filter on a type $\alpha$ and $g : \mathrm{Set}\,\alpha \to \mathrm{Filter}\,\beta$ be a monotone function. For any set $s \subseteq \beta$, we have $s \in f.lift\,g$ if and only if there exists a set $t \in f$ such that $s \in g(t)$.
Filter.sInter_lift_sets theorem
(hg : Monotone g) : ⋂₀ {s | s ∈ f.lift g} = ⋂ s ∈ f, ⋂₀ {t | t ∈ g s}
Full source
theorem sInter_lift_sets (hg : Monotone g) :
    ⋂₀ { s | s ∈ f.lift g } = ⋂ s ∈ f, ⋂₀ { t | t ∈ g s } := by
  simp only [sInter_eq_biInter, mem_setOf_eq, Filter.mem_sets, mem_lift_sets hg, iInter_exists,
    iInter_and, @iInter_comm _ (Set β)]
Intersection of Lifted Filter Sets Equals Nested Intersection
Informal description
Let $f$ be a filter on a type $\alpha$ and $g : \mathrm{Set}\,\alpha \to \mathrm{Filter}\,\beta$ be a monotone function. Then the intersection of all sets in the lifted filter $f.\mathrm{lift}\, g$ is equal to the intersection over all sets $s \in f$ of the intersection of all sets in $g(s)$. That is, \[ \bigcap \{s \mid s \in f.\mathrm{lift}\, g\} = \bigcap_{s \in f} \bigcap \{t \mid t \in g(s)\}. \]
Filter.mem_lift theorem
{s : Set β} {t : Set α} (ht : t ∈ f) (hs : s ∈ g t) : s ∈ f.lift g
Full source
theorem mem_lift {s : Set β} {t : Set α} (ht : t ∈ f) (hs : s ∈ g t) : s ∈ f.lift g :=
  le_principal_iff.mp <|
    show f.lift g ≤ 𝓟 s from iInf_le_of_le t <| iInf_le_of_le ht <| le_principal_iff.mpr hs
Membership in Lifted Filter via Base Sets
Informal description
For any set $s \subseteq \beta$ and $t \subseteq \alpha$, if $t$ belongs to the filter $f$ and $s$ belongs to the filter $g(t)$, then $s$ belongs to the lifted filter $f.lift\, g$.
Filter.lift_le theorem
{f : Filter α} {g : Set α → Filter β} {h : Filter β} {s : Set α} (hs : s ∈ f) (hg : g s ≤ h) : f.lift g ≤ h
Full source
theorem lift_le {f : Filter α} {g : Set α → Filter β} {h : Filter β} {s : Set α} (hs : s ∈ f)
    (hg : g s ≤ h) : f.lift g ≤ h :=
  iInf₂_le_of_le s hs hg
Lifted Filter Inequality via Base Set: $f.\mathrm{lift}\, g \leq h$ when $g(s) \leq h$ for some $s \in f$
Informal description
For a filter $f$ on a type $\alpha$, a function $g$ mapping sets in $\alpha$ to filters on $\beta$, and a filter $h$ on $\beta$, if there exists a set $s \in f$ such that $g(s) \leq h$, then the lifted filter $f.\mathrm{lift}\, g$ is less than or equal to $h$.
Filter.le_lift theorem
{f : Filter α} {g : Set α → Filter β} {h : Filter β} : h ≤ f.lift g ↔ ∀ s ∈ f, h ≤ g s
Full source
theorem le_lift {f : Filter α} {g : Set α → Filter β} {h : Filter β} :
    h ≤ f.lift g ↔ ∀ s ∈ f, h ≤ g s :=
  le_iInf₂_iff
Characterization of Filter Lift Inequality: $h \leq f.lift\, g$ iff $\forall s \in f, h \leq g(s)$
Informal description
For a filter $f$ on a type $\alpha$, a function $g$ mapping sets in $\alpha$ to filters on $\beta$, and a filter $h$ on $\beta$, the inequality $h \leq f.lift\, g$ holds if and only if for every set $s$ in $f$, we have $h \leq g(s)$.
Filter.lift_mono theorem
(hf : f₁ ≤ f₂) (hg : g₁ ≤ g₂) : f₁.lift g₁ ≤ f₂.lift g₂
Full source
theorem lift_mono (hf : f₁ ≤ f₂) (hg : g₁ ≤ g₂) : f₁.lift g₁ ≤ f₂.lift g₂ :=
  iInf_mono fun s => iInf_mono' fun hs => ⟨hf hs, hg s⟩
Monotonicity of Filter Lift: $f_1 \leq f_2$ and $g_1 \leq g_2$ implies $f_1.\mathrm{lift}\, g_1 \leq f_2.\mathrm{lift}\, g_2$
Informal description
For any two filters $f_1$ and $f_2$ on a type $\alpha$ and two functions $g_1, g_2$ mapping sets in $\alpha$ to filters on $\beta$, if $f_1 \leq f_2$ and $g_1 \leq g_2$ pointwise, then the lifted filter $f_1.\mathrm{lift}\, g_1$ is less than or equal to the lifted filter $f_2.\mathrm{lift}\, g_2$.
Filter.lift_mono' theorem
(hg : ∀ s ∈ f, g₁ s ≤ g₂ s) : f.lift g₁ ≤ f.lift g₂
Full source
theorem lift_mono' (hg : ∀ s ∈ f, g₁ s ≤ g₂ s) : f.lift g₁ ≤ f.lift g₂ := iInf₂_mono hg
Pointwise Monotonicity Implies Filter Lift Monotonicity
Informal description
For a filter $f$ on a type $\alpha$ and two functions $g_1, g_2$ mapping sets in $\alpha$ to filters on $\beta$, if for every set $s$ in $f$ we have $g_1(s) \leq g_2(s)$, then the lifted filter $f.\mathrm{lift}\, g_1$ is less than or equal to the lifted filter $f.\mathrm{lift}\, g_2$.
Filter.tendsto_lift theorem
{m : γ → β} {l : Filter γ} : Tendsto m l (f.lift g) ↔ ∀ s ∈ f, Tendsto m l (g s)
Full source
theorem tendsto_lift {m : γ → β} {l : Filter γ} :
    TendstoTendsto m l (f.lift g) ↔ ∀ s ∈ f, Tendsto m l (g s) := by
  simp only [Filter.lift, tendsto_iInf]
Characterization of Tendsto for Lifted Filters
Informal description
For a function $m : \gamma \to \beta$ and a filter $l$ on $\gamma$, the following are equivalent: 1. The function $m$ tends to the lifted filter $f.\mathrm{lift}\, g$ along $l$. 2. For every set $s$ in the filter $f$, the function $m$ tends to $g(s)$ along $l$. In other words, $\mathrm{Tendsto}\, m\, l\, (f.\mathrm{lift}\, g) \leftrightarrow (\forall s \in f, \mathrm{Tendsto}\, m\, l\, (g\, s))$.
Filter.map_lift_eq theorem
{m : β → γ} (hg : Monotone g) : map m (f.lift g) = f.lift (map m ∘ g)
Full source
theorem map_lift_eq {m : β → γ} (hg : Monotone g) : map m (f.lift g) = f.lift (mapmap m ∘ g) :=
  have : Monotone (mapmap m ∘ g) := map_mono.comp hg
  Filter.ext fun s => by
    simp only [mem_lift_sets hg, mem_lift_sets this, exists_prop, mem_map, Function.comp_apply]
Image-Lift Commutation for Filters: $\text{map}\, m\, (f.\text{lift}\, g) = f.\text{lift}\, (\text{map}\, m \circ g)$
Informal description
Let $f$ be a filter on a type $\alpha$, $g : \mathcal{P}(\alpha) \to \text{Filter}(\beta)$ be a monotone function, and $m : \beta \to \gamma$ be a function. Then the image filter of the lifted filter $f.\text{lift}\, g$ under $m$ is equal to the lift of $f$ under the composition $\text{map}\, m \circ g$. That is, \[ \text{map}\, m\, (f.\text{lift}\, g) = f.\text{lift}\, (\text{map}\, m \circ g). \]
Filter.comap_lift_eq theorem
{m : γ → β} : comap m (f.lift g) = f.lift (comap m ∘ g)
Full source
theorem comap_lift_eq {m : γ → β} : comap m (f.lift g) = f.lift (comapcomap m ∘ g) := by
  simp only [Filter.lift, comap_iInf]; rfl
Preimage-Lift Commutation for Filters
Informal description
For any function $m : \gamma \to \beta$, the preimage filter of the lifted filter $f.\mathrm{lift}\, g$ under $m$ is equal to the lift of the composition of $g$ with the preimage filter operation under $m$. That is, \[ \mathrm{comap}\, m\, (f.\mathrm{lift}\, g) = f.\mathrm{lift}\, (\mathrm{comap}\, m \circ g). \]
Filter.comap_lift_eq2 theorem
{m : β → α} {g : Set β → Filter γ} (hg : Monotone g) : (comap m f).lift g = f.lift (g ∘ preimage m)
Full source
theorem comap_lift_eq2 {m : β → α} {g : Set β → Filter γ} (hg : Monotone g) :
    (comap m f).lift g = f.lift (g ∘ preimage m) :=
  le_antisymm (le_iInf₂ fun s hs => iInf₂_le (m ⁻¹' s) ⟨s, hs, Subset.rfl⟩)
    (le_iInf₂ fun _s ⟨s', hs', h_sub⟩ => iInf₂_le_of_le s' hs' <| hg h_sub)
Preimage-Lift Commutation for Filters: $(\text{comap}\, m\, f).\text{lift}\, g = f.\text{lift}\, (g \circ m^{-1})$
Informal description
For a monotone function $g : \mathcal{P}(\beta) \to \text{Filter}(\gamma)$ and a function $m : \beta \to \alpha$, the lift of the preimage filter $\text{comap}\, m\, f$ under $g$ is equal to the lift of $f$ under the composition $g \circ \text{preimage}\, m$. That is, \[ (\text{comap}\, m\, f).\text{lift}\, g = f.\text{lift}\, (g \circ m^{-1}). \]
Filter.lift_map_le theorem
{g : Set β → Filter γ} {m : α → β} : (map m f).lift g ≤ f.lift (g ∘ image m)
Full source
theorem lift_map_le {g : Set β → Filter γ} {m : α → β} : (map m f).lift g ≤ f.lift (g ∘ image m) :=
  le_lift.2 fun _s hs => lift_le (image_mem_map hs) le_rfl
Image-Lift Inequality for Filters: $(\text{map}\, m\, f).\text{lift}\, g \leq f.\text{lift}\, (g \circ m[\cdot])$
Informal description
For any function $m : \alpha \to \beta$ and any function $g : \mathcal{P}(\beta) \to \text{Filter}(\gamma)$, the lift of the image filter $\text{map}\, m\, f$ under $g$ is less than or equal to the lift of $f$ under the composition $g \circ \text{image}\, m$. That is, \[ (\text{map}\, m\, f).\text{lift}\, g \leq f.\text{lift}\, (g \circ m[\cdot]). \]
Filter.map_lift_eq2 theorem
{g : Set β → Filter γ} {m : α → β} (hg : Monotone g) : (map m f).lift g = f.lift (g ∘ image m)
Full source
theorem map_lift_eq2 {g : Set β → Filter γ} {m : α → β} (hg : Monotone g) :
    (map m f).lift g = f.lift (g ∘ image m) :=
  lift_map_le.antisymm <| le_lift.2 fun _s hs => lift_le hs <| hg <| image_preimage_subset _ _
Image-Lift Equality for Monotone Filter Operations
Informal description
For a monotone function $g : \mathcal{P}(\beta) \to \text{Filter}(\gamma)$ and a function $m : \alpha \to \beta$, the lift of the image filter $\text{map}\, m\, f$ under $g$ is equal to the lift of $f$ under the composition $g \circ \text{image}\, m$. That is, \[ (\text{map}\, m\, f).\text{lift}\, g = f.\text{lift}\, (g \circ m[\cdot]). \]
Filter.lift_comm theorem
{g : Filter β} {h : Set α → Set β → Filter γ} : (f.lift fun s => g.lift (h s)) = g.lift fun t => f.lift fun s => h s t
Full source
theorem lift_comm {g : Filter β} {h : Set α → Set β → Filter γ} :
    (f.lift fun s => g.lift (h s)) = g.lift fun t => f.lift fun s => h s t :=
  le_antisymm
    (le_iInf fun i => le_iInf fun hi => le_iInf fun j => le_iInf fun hj =>
      iInf_le_of_le j <| iInf_le_of_le hj <| iInf_le_of_le i <| iInf_le _ hi)
    (le_iInf fun i => le_iInf fun hi => le_iInf fun j => le_iInf fun hj =>
      iInf_le_of_le j <| iInf_le_of_le hj <| iInf_le_of_le i <| iInf_le _ hi)
Commutativity of Filter Lifts: $\text{lift}_f (\lambda s, \text{lift}_g (h(s))) = \text{lift}_g (\lambda t, \text{lift}_f (\lambda s, h(s, t)))$
Informal description
For any filter $g$ on a type $\beta$ and any function $h : \mathcal{P}(\alpha) \times \mathcal{P}(\beta) \to \text{Filter}(\gamma)$, the following equality holds: \[ \text{lift}_f \left( \lambda s, \text{lift}_g (h(s)) \right) = \text{lift}_g \left( \lambda t, \text{lift}_f \left( \lambda s, h(s, t) \right) \right) \] where $\text{lift}_f$ denotes the filter lift operation with respect to the filter $f$ on $\alpha$.
Filter.lift_assoc theorem
{h : Set β → Filter γ} (hg : Monotone g) : (f.lift g).lift h = f.lift fun s => (g s).lift h
Full source
theorem lift_assoc {h : Set β → Filter γ} (hg : Monotone g) :
    (f.lift g).lift h = f.lift fun s => (g s).lift h :=
  le_antisymm
    (le_iInf₂ fun _s hs => le_iInf₂ fun t ht =>
      iInf_le_of_le t <| iInf_le _ <| (mem_lift_sets hg).mpr ⟨_, hs, ht⟩)
    (le_iInf₂ fun t ht =>
      let ⟨s, hs, h'⟩ := (mem_lift_sets hg).mp ht
      iInf_le_of_le s <| iInf_le_of_le hs <| iInf_le_of_le t <| iInf_le _ h')
Associativity of Filter Lifts: $(f.\text{lift}\, g).\text{lift}\, h = f.\text{lift}\, (\lambda s, (g(s)).\text{lift}\, h)$
Informal description
Let $f$ be a filter on a type $\alpha$, $g : \mathcal{P}(\alpha) \to \text{Filter}(\beta)$ be a monotone function, and $h : \mathcal{P}(\beta) \to \text{Filter}(\gamma)$. Then the double-lifted filter $(f.\text{lift}\, g).\text{lift}\, h$ is equal to the filter obtained by lifting $f$ with the function $\lambda s, (g(s)).\text{lift}\, h$. In other words, the following equality holds: \[ (f.\text{lift}\, g).\text{lift}\, h = f.\text{lift}\, (\lambda s, (g(s)).\text{lift}\, h). \]
Filter.lift_lift_same_le_lift theorem
{g : Set α → Set α → Filter β} : (f.lift fun s => f.lift (g s)) ≤ f.lift fun s => g s s
Full source
theorem lift_lift_same_le_lift {g : Set α → Set α → Filter β} :
    (f.lift fun s => f.lift (g s)) ≤ f.lift fun s => g s s :=
  le_lift.2 fun _s hs => lift_le hs <| lift_le hs le_rfl
Double Lift Filter Inequality: $\text{lift}_f (\lambda s, \text{lift}_f (g(s))) \leq \text{lift}_f (\lambda s, g(s, s))$
Informal description
For any function $g : \mathcal{P}(\alpha) \times \mathcal{P}(\alpha) \to \text{Filter}(\beta)$, the filter obtained by first lifting $f$ to $\lambda s, f.\text{lift}\, (g(s))$ is less than or equal to the filter obtained by lifting $f$ to $\lambda s, g(s, s)$. In other words, the double-lifted filter $\text{lift}_f (\lambda s, \text{lift}_f (g(s)))$ is contained in the single-lifted filter $\text{lift}_f (\lambda s, g(s, s))$.
Filter.lift_lift_same_eq_lift theorem
{g : Set α → Set α → Filter β} (hg₁ : ∀ s, Monotone fun t => g s t) (hg₂ : ∀ t, Monotone fun s => g s t) : (f.lift fun s => f.lift (g s)) = f.lift fun s => g s s
Full source
theorem lift_lift_same_eq_lift {g : Set α → Set α → Filter β} (hg₁ : ∀ s, Monotone fun t => g s t)
    (hg₂ : ∀ t, Monotone fun s => g s t) : (f.lift fun s => f.lift (g s)) = f.lift fun s => g s s :=
  lift_lift_same_le_lift.antisymm <|
    le_lift.2 fun s hs => le_lift.2 fun t ht => lift_le (inter_mem hs ht) <|
      calc
        g (s ∩ t) (s ∩ t) ≤ g s (s ∩ t) := hg₂ (s ∩ t) inter_subset_left
        _ ≤ g s t := hg₁ s inter_subset_right
Double Lift Filter Equality under Monotonicity Conditions
Informal description
For any function $g : \mathcal{P}(\alpha) \times \mathcal{P}(\alpha) \to \text{Filter}(\beta)$ such that for each set $s$, the function $t \mapsto g(s, t)$ is monotone, and for each set $t$, the function $s \mapsto g(s, t)$ is monotone, the double-lifted filter $\text{lift}_f (\lambda s, \text{lift}_f (g(s, \cdot)))$ is equal to the single-lifted filter $\text{lift}_f (\lambda s, g(s, s))$.
Filter.lift_principal theorem
{s : Set α} (hg : Monotone g) : (𝓟 s).lift g = g s
Full source
theorem lift_principal {s : Set α} (hg : Monotone g) : (𝓟 s).lift g = g s :=
  (lift_le (mem_principal_self _) le_rfl).antisymm (le_lift.2 fun _t ht => hg ht)
Lift of Principal Filter Equals Image Under Monotone Function
Informal description
For any set $s$ in type $\alpha$ and a monotone function $g$ from sets in $\alpha$ to filters on $\beta$, the lift of the principal filter $\mathcal{P}(s)$ under $g$ equals $g(s)$, i.e., $(\mathcal{P}(s)).\mathrm{lift}\, g = g(s)$.
Filter.monotone_lift theorem
[Preorder γ] {f : γ → Filter α} {g : γ → Set α → Filter β} (hf : Monotone f) (hg : Monotone g) : Monotone fun c => (f c).lift (g c)
Full source
theorem monotone_lift [Preorder γ] {f : γ → Filter α} {g : γ → Set α → Filter β} (hf : Monotone f)
    (hg : Monotone g) : Monotone fun c => (f c).lift (g c) := fun _ _ h => lift_mono (hf h) (hg h)
Monotonicity of Filter Lift with Respect to Parameters
Informal description
Let $\gamma$ be a type with a preorder, and let $f : \gamma \to \text{Filter } \alpha$ and $g : \gamma \to \text{Set } \alpha \to \text{Filter } \beta$ be functions. If $f$ is monotone and $g$ is monotone (in the sense that for each $s \in \text{Set } \alpha$, the function $g(\cdot)(s)$ is monotone), then the function $c \mapsto (f(c)).\text{lift}(g(c))$ is also monotone.
Filter.lift_neBot_iff theorem
(hm : Monotone g) : (NeBot (f.lift g)) ↔ ∀ s ∈ f, NeBot (g s)
Full source
theorem lift_neBot_iff (hm : Monotone g) : (NeBot (f.lift g)) ↔ ∀ s ∈ f, NeBot (g s) := by
  simp only [neBot_iff, Ne, ← empty_mem_iff_bot, mem_lift_sets hm, not_exists, not_and]
Non-triviality of Filter Lift via Monotone Function
Informal description
Let $f$ be a filter on a type $\alpha$ and $g : \mathcal{P}(\alpha) \to \text{Filter}(\beta)$ be a monotone function. Then the lift of $f$ under $g$ is non-trivial (i.e., $\text{NeBot}(f.\text{lift}\, g)$) if and only if for every set $s \in f$, the filter $g(s)$ is non-trivial (i.e., $\text{NeBot}(g(s))$).
Filter.lift_const theorem
{f : Filter α} {g : Filter β} : (f.lift fun _ => g) = g
Full source
@[simp]
theorem lift_const {f : Filter α} {g : Filter β} : (f.lift fun _ => g) = g :=
  iInf_subtype'.trans iInf_const
Lift of Filter with Constant Function Yields the Constant Filter
Informal description
For any filter $f$ on a type $\alpha$ and any filter $g$ on a type $\beta$, the lift of $f$ with respect to the constant function mapping every set to $g$ is equal to $g$, i.e., $f.\text{lift}\, (\lambda \_. g) = g$.
Filter.lift_inf theorem
{f : Filter α} {g h : Set α → Filter β} : (f.lift fun x => g x ⊓ h x) = f.lift g ⊓ f.lift h
Full source
@[simp]
theorem lift_inf {f : Filter α} {g h : Set α → Filter β} :
    (f.lift fun x => g x ⊓ h x) = f.lift g ⊓ f.lift h := by simp only [Filter.lift, iInf_inf_eq]
Lift of Filter Preserves Pointwise Infima
Informal description
For any filter $f$ on a type $\alpha$ and any two functions $g, h : \mathcal{P}(\alpha) \to \text{Filter}(\beta)$, the lift of $f$ with respect to the pointwise infimum of $g$ and $h$ is equal to the infimum of the lifts of $f$ with respect to $g$ and $h$ separately. In other words, \[ f.\text{lift}\, (x \mapsto g(x) \sqcap h(x)) = f.\text{lift}\, g \sqcap f.\text{lift}\, h. \]
Filter.lift_principal2 theorem
{f : Filter α} : f.lift 𝓟 = f
Full source
@[simp]
theorem lift_principal2 {f : Filter α} : f.lift 𝓟 = f :=
  le_antisymm (fun s hs => mem_lift hs (mem_principal_self s))
    (le_iInf fun s => le_iInf fun hs => by simp only [hs, le_principal_iff])
Lift of Filter with Principal Map is Identity
Informal description
For any filter $f$ on a type $\alpha$, the lift of $f$ with respect to the principal filter map $\mathcal{P}$ is equal to $f$ itself, i.e., $f.\mathrm{lift}\, \mathcal{P} = f$.
Filter.lift_iInf_le theorem
{f : ι → Filter α} {g : Set α → Filter β} : (iInf f).lift g ≤ ⨅ i, (f i).lift g
Full source
theorem lift_iInf_le {f : ι → Filter α} {g : Set α → Filter β} :
    (iInf f).lift g ≤ ⨅ i, (f i).lift g :=
  le_iInf fun _ => lift_mono (iInf_le _ _) le_rfl
Infimum Lift Inequality: $(\bigsqcap_i f_i).\mathrm{lift}\, g \leq \bigsqcap_i (f_i.\mathrm{lift}\, g)$
Informal description
For any family of filters $\{f_i\}_{i \in \iota}$ on a type $\alpha$ and any function $g$ mapping sets in $\alpha$ to filters on $\beta$, the lift of the infimum filter $\bigsqcap_i f_i$ under $g$ is less than or equal to the infimum of the lifts of each $f_i$ under $g$, i.e., $$(\bigsqcap_i f_i).\mathrm{lift}\, g \leq \bigsqcap_i (f_i.\mathrm{lift}\, g).$$
Filter.lift_iInf theorem
[Nonempty ι] {f : ι → Filter α} {g : Set α → Filter β} (hg : ∀ s t, g (s ∩ t) = g s ⊓ g t) : (iInf f).lift g = ⨅ i, (f i).lift g
Full source
theorem lift_iInf [Nonempty ι] {f : ι → Filter α} {g : Set α → Filter β}
    (hg : ∀ s t, g (s ∩ t) = g s ⊓ g t) : (iInf f).lift g = ⨅ i, (f i).lift g := by
  refine lift_iInf_le.antisymm fun s => ?_
  have H : ∀ t ∈ iInf f, ⨅ i, (f i).lift g ≤ g t := by
    intro t ht
    refine iInf_sets_induct ht ?_ fun hs ht => ?_
    · inhabit ι
      exact iInf₂_le_of_le default univ (iInf_le _ univ_mem)
    · rw [hg]
      exact le_inf (iInf₂_le_of_le _ _ <| iInf_le _ hs) ht
  simp only [mem_lift_sets (Monotone.of_map_inf hg), exists_imp, and_imp]
  exact fun t ht hs => H t ht hs
Equality of Infimum Lifts for Intersection-Preserving Filter Mappings
Informal description
Let $\iota$ be a nonempty index set, $\{f_i\}_{i \in \iota}$ be a family of filters on a type $\alpha$, and $g : \mathrm{Set}\,\alpha \to \mathrm{Filter}\,\beta$ be a function such that for any sets $s, t \subseteq \alpha$, we have $g(s \cap t) = g(s) \sqcap g(t)$. Then the lift of the infimum filter $\bigsqcap_i f_i$ under $g$ equals the infimum of the lifts of each $f_i$ under $g$, i.e., $$(\bigsqcap_i f_i).\mathrm{lift}\, g = \bigsqcap_i (f_i.\mathrm{lift}\, g).$$
Filter.lift_iInf_of_directed theorem
[Nonempty ι] {f : ι → Filter α} {g : Set α → Filter β} (hf : Directed (· ≥ ·) f) (hg : Monotone g) : (iInf f).lift g = ⨅ i, (f i).lift g
Full source
theorem lift_iInf_of_directed [Nonempty ι] {f : ι → Filter α} {g : Set α → Filter β}
    (hf : Directed (· ≥ ·) f) (hg : Monotone g) : (iInf f).lift g = ⨅ i, (f i).lift g :=
  lift_iInf_le.antisymm fun s => by
    simp only [mem_lift_sets hg, exists_imp, and_imp, mem_iInf_of_directed hf]
    exact fun t i ht hs => mem_iInf_of_mem i <| mem_lift ht hs
Equality of Infimum Lift for Directed Families of Filters
Informal description
Let $\{f_i\}_{i \in \iota}$ be a directed family of filters on a type $\alpha$ with respect to the reverse inclusion order $\supseteq$, and let $g : \mathcal{P}(\alpha) \to \mathrm{Filter}(\beta)$ be a monotone function. If $\iota$ is nonempty, then the lift of the infimum filter $\bigsqcap_i f_i$ under $g$ is equal to the infimum of the lifts of each $f_i$ under $g$, i.e., $$(\bigsqcap_i f_i).\mathrm{lift}\, g = \bigsqcap_i (f_i.\mathrm{lift}\, g).$$
Filter.lift_iInf_of_map_univ theorem
{f : ι → Filter α} {g : Set α → Filter β} (hg : ∀ s t, g (s ∩ t) = g s ⊓ g t) (hg' : g univ = ⊤) : (iInf f).lift g = ⨅ i, (f i).lift g
Full source
theorem lift_iInf_of_map_univ {f : ι → Filter α} {g : Set α → Filter β}
    (hg : ∀ s t, g (s ∩ t) = g s ⊓ g t) (hg' : g univ = ) :
    (iInf f).lift g = ⨅ i, (f i).lift g := by
  cases isEmpty_or_nonempty ι
  · simp [iInf_of_empty, hg']
  · exact lift_iInf hg
Infimum Lift Equality for Intersection-Preserving Filter Mappings with Universal Condition
Informal description
Let $\{f_i\}_{i \in \iota}$ be a family of filters on a type $\alpha$, and let $g : \mathcal{P}(\alpha) \to \mathrm{Filter}(\beta)$ be a function such that: 1. For any sets $s, t \subseteq \alpha$, $g(s \cap t) = g(s) \sqcap g(t)$. 2. $g(\mathrm{univ}) = \top$ (the top filter on $\beta$). Then the lift of the infimum filter $\bigsqcap_i f_i$ under $g$ equals the infimum of the lifts of each $f_i$ under $g$, i.e., $$(\bigsqcap_i f_i).\mathrm{lift}\, g = \bigsqcap_i (f_i.\mathrm{lift}\, g).$$
Filter.lift'_top theorem
(h : Set α → Set β) : (⊤ : Filter α).lift' h = 𝓟 (h univ)
Full source
@[simp]
theorem lift'_top (h : Set α → Set β) : ( : Filter α).lift' h = 𝓟 (h univ) :=
  lift_top _
Lift of Top Filter via Set Function Equals Principal Filter of Universal Image
Informal description
For any function $h$ mapping sets of type $\alpha$ to sets of type $\beta$, the lift of the top filter on $\alpha$ through $h$ equals the principal filter generated by the image of the universal set under $h$, i.e., $\mathrm{lift}'(\top, h) = \mathcal{P}(h(\mathrm{univ}))$.
Filter.tendsto_lift' theorem
{m : γ → β} {l : Filter γ} : Tendsto m l (f.lift' h) ↔ ∀ s ∈ f, ∀ᶠ a in l, m a ∈ h s
Full source
theorem tendsto_lift' {m : γ → β} {l : Filter γ} :
    TendstoTendsto m l (f.lift' h) ↔ ∀ s ∈ f, ∀ᶠ a in l, m a ∈ h s := by
  simp only [Filter.lift', tendsto_lift, tendsto_principal, comp]
Characterization of Tendency to Lifted Filter via Preimage Condition
Informal description
For a function $m : \gamma \to \beta$ and a filter $l$ on $\gamma$, the function $m$ tends to the filter $f.\text{lift}'\, h$ along $l$ if and only if for every set $s$ in the filter $f$, the set of elements $a \in \gamma$ such that $m(a) \in h(s)$ is eventually in $l$.
Filter.HasBasis.lift' theorem
{ι} {p : ι → Prop} {s} (hf : f.HasBasis p s) (hh : Monotone h) : (f.lift' h).HasBasis p (h ∘ s)
Full source
theorem HasBasis.lift' {ι} {p : ι → Prop} {s} (hf : f.HasBasis p s) (hh : Monotone h) :
    (f.lift' h).HasBasis p (h ∘ s) :=
  ⟨fun t => (hf.mem_lift_iff (fun i => hasBasis_principal (h (s i)))
    (monotone_principal.comp hh)).trans <| by simp only [exists_const, true_and, comp]⟩
Basis Preservation under Monotone Lift of Filters
Informal description
Let $f$ be a filter on a type $\alpha$ with a basis consisting of sets $s(i)$ indexed by a predicate $p(i)$, and let $h : \mathrm{Set}\,\alpha \to \mathrm{Set}\,\beta$ be a monotone function. Then the lifted filter $f.\mathrm{lift}'\,h$ has a basis consisting of the sets $h(s(i))$ indexed by the same predicate $p(i)$.
Filter.mem_lift'_sets theorem
(hh : Monotone h) {s : Set β} : s ∈ f.lift' h ↔ ∃ t ∈ f, h t ⊆ s
Full source
theorem mem_lift'_sets (hh : Monotone h) {s : Set β} : s ∈ f.lift' hs ∈ f.lift' h ↔ ∃ t ∈ f, h t ⊆ s :=
  mem_lift_sets <| monotone_principal.comp hh
Membership in Monotonically Lifted Filter via Subset Condition
Informal description
Let $f$ be a filter on a type $\alpha$ and $h : \mathrm{Set}\,\alpha \to \mathrm{Set}\,\beta$ be a monotone function. For any set $s \subseteq \beta$, we have $s \in f.\mathrm{lift}'\,h$ if and only if there exists a set $t \in f$ such that $h(t) \subseteq s$.
Filter.eventually_lift'_iff theorem
(hh : Monotone h) {p : β → Prop} : (∀ᶠ y in f.lift' h, p y) ↔ ∃ t ∈ f, ∀ y ∈ h t, p y
Full source
theorem eventually_lift'_iff (hh : Monotone h) {p : β → Prop} :
    (∀ᶠ y in f.lift' h, p y) ↔ ∃ t ∈ f, ∀ y ∈ h t, p y :=
  mem_lift'_sets hh
Eventual Property in Monotonically Lifted Filter via Predicate Condition
Informal description
Let $f$ be a filter on a type $\alpha$ and $h : \mathcal{P}(\alpha) \to \mathcal{P}(\beta)$ be a monotone function. For any predicate $p : \beta \to \mathrm{Prop}$, the statement $\forall^\ast y \text{ in } f.\mathrm{lift}'\,h, p(y)$ holds if and only if there exists a set $t \in f$ such that for all $y \in h(t)$, $p(y)$ holds.
Filter.sInter_lift'_sets theorem
(hh : Monotone h) : ⋂₀ {s | s ∈ f.lift' h} = ⋂ s ∈ f, h s
Full source
theorem sInter_lift'_sets (hh : Monotone h) : ⋂₀ { s | s ∈ f.lift' h } = ⋂ s ∈ f, h s :=
  (sInter_lift_sets (monotone_principal.comp hh)).trans <| iInter₂_congr fun _ _ => csInf_Ici
Intersection of Lifted Filter Sets via Monotone Function
Informal description
Let $f$ be a filter on a type $\alpha$ and $h : \mathcal{P}(\alpha) \to \mathcal{P}(\beta)$ be a monotone function. Then the intersection of all sets in the lifted filter $f.\mathrm{lift}'\, h$ is equal to the intersection over all sets $s \in f$ of $h(s)$. That is, \[ \bigcap \{s \mid s \in f.\mathrm{lift}'\, h\} = \bigcap_{s \in f} h(s). \]
Filter.lift'_le theorem
{f : Filter α} {g : Set α → Set β} {h : Filter β} {s : Set α} (hs : s ∈ f) (hg : 𝓟 (g s) ≤ h) : f.lift' g ≤ h
Full source
theorem lift'_le {f : Filter α} {g : Set α → Set β} {h : Filter β} {s : Set α} (hs : s ∈ f)
    (hg : 𝓟 (g s) ≤ h) : f.lift' g ≤ h :=
  lift_le hs hg
Lifted Filter Containment via Principal Filter Condition
Informal description
Let $f$ be a filter on a type $\alpha$, $g : \mathcal{P}(\alpha) \to \mathcal{P}(\beta)$ be a set-valued function, $h$ a filter on $\beta$, and $s \in f$ a set in the filter. If the principal filter generated by $g(s)$ is contained in $h$ (i.e., $\mathcal{P}(g(s)) \leq h$), then the lifted filter $f.\mathrm{lift}'\, g$ is contained in $h$.
Filter.lift'_mono theorem
(hf : f₁ ≤ f₂) (hh : h₁ ≤ h₂) : f₁.lift' h₁ ≤ f₂.lift' h₂
Full source
theorem lift'_mono (hf : f₁ ≤ f₂) (hh : h₁ ≤ h₂) : f₁.lift' h₁ ≤ f₂.lift' h₂ :=
  lift_mono hf fun s => principal_mono.mpr <| hh s
Monotonicity of Filter Lift': $f_1 \leq f_2$ and $h_1 \leq h_2$ implies $f_1.\mathrm{lift'}\, h_1 \leq f_2.\mathrm{lift'}\, h_2$
Informal description
For any two filters $f_1$ and $f_2$ on a type $\alpha$ and two functions $h_1, h_2$ mapping sets in $\alpha$ to sets in $\beta$, if $f_1 \leq f_2$ and $h_1 \leq h_2$ pointwise, then the lifted filter $f_1.\mathrm{lift'}\, h_1$ is less than or equal to the lifted filter $f_2.\mathrm{lift'}\, h_2$.
Filter.lift'_mono' theorem
(hh : ∀ s ∈ f, h₁ s ⊆ h₂ s) : f.lift' h₁ ≤ f.lift' h₂
Full source
theorem lift'_mono' (hh : ∀ s ∈ f, h₁ s ⊆ h₂ s) : f.lift' h₁ ≤ f.lift' h₂ :=
  iInf₂_mono fun s hs => principal_mono.mpr <| hh s hs
Monotonicity of Filter Lifting with Respect to Set Inclusion
Informal description
For any filter $f$ on a type $\alpha$ and set-valued functions $h_1, h_2 : \text{Set } \alpha \to \text{Set } \beta$, if for every set $s \in f$ we have $h_1(s) \subseteq h_2(s)$, then the lifted filter satisfies $f.\text{lift}' h_1 \leq f.\text{lift}' h_2$.
Filter.lift'_cong theorem
(hh : ∀ s ∈ f, h₁ s = h₂ s) : f.lift' h₁ = f.lift' h₂
Full source
theorem lift'_cong (hh : ∀ s ∈ f, h₁ s = h₂ s) : f.lift' h₁ = f.lift' h₂ :=
  le_antisymm (lift'_mono' fun s hs => le_of_eq <| hh s hs)
    (lift'_mono' fun s hs => le_of_eq <| (hh s hs).symm)
Equality of Lifted Filters under Pointwise Equal Set Functions
Informal description
For any filter $f$ on a type $\alpha$ and set-valued functions $h_1, h_2 : \text{Set } \alpha \to \text{Set } \beta$, if for every set $s \in f$ we have $h_1(s) = h_2(s)$, then the lifted filters satisfy $f.\text{lift}' h_1 = f.\text{lift}' h_2$.
Filter.map_lift'_eq theorem
{m : β → γ} (hh : Monotone h) : map m (f.lift' h) = f.lift' (image m ∘ h)
Full source
theorem map_lift'_eq {m : β → γ} (hh : Monotone h) : map m (f.lift' h) = f.lift' (imageimage m ∘ h) :=
  calc
    map m (f.lift' h) = f.lift (mapmap m ∘ 𝓟 ∘ h) := map_lift_eq <| monotone_principal.comp hh
    _ = f.lift' (imageimage m ∘ h) := by simp only [comp_def, Filter.lift', map_principal]
Image-Lift' Equality for Monotone Set Functions: $\text{map}\, m\, (f.\text{lift}'\, h) = f.\text{lift}'\, (m[\cdot] \circ h)$
Informal description
For a filter $f$ on a type $\alpha$, a monotone function $h : \mathcal{P}(\alpha) \to \mathcal{P}(\beta)$, and a function $m : \beta \to \gamma$, the image filter of the lifted set filter $f.\text{lift}'\, h$ under $m$ is equal to the lift of $f$ under the composition $\text{image}\, m \circ h$. That is, \[ \text{map}\, m\, (f.\text{lift}'\, h) = f.\text{lift}'\, (\text{image}\, m \circ h). \]
Filter.lift'_map_le theorem
{g : Set β → Set γ} {m : α → β} : (map m f).lift' g ≤ f.lift' (g ∘ image m)
Full source
theorem lift'_map_le {g : Set β → Set γ} {m : α → β} : (map m f).lift' g ≤ f.lift' (g ∘ image m) :=
  lift_map_le
Image-Lift' Inequality for Filters: $(\text{map}\, m\, f).\text{lift}'\, g \leq f.\text{lift}'\, (g \circ m[\cdot])$
Informal description
For any function $g : \mathcal{P}(\beta) \to \mathcal{P}(\gamma)$ and any function $m : \alpha \to \beta$, the lift of the image filter $\text{map}\, m\, f$ under $g$ is less than or equal to the lift of $f$ under the composition $g \circ \text{image}\, m$. That is, \[ (\text{map}\, m\, f).\text{lift}'\, g \leq f.\text{lift}'\, (g \circ m[\cdot]). \]
Filter.map_lift'_eq2 theorem
{g : Set β → Set γ} {m : α → β} (hg : Monotone g) : (map m f).lift' g = f.lift' (g ∘ image m)
Full source
theorem map_lift'_eq2 {g : Set β → Set γ} {m : α → β} (hg : Monotone g) :
    (map m f).lift' g = f.lift' (g ∘ image m) :=
  map_lift_eq2 <| monotone_principal.comp hg
Image-Lift' Equality for Monotone Set Functions
Informal description
For a monotone function $g : \mathcal{P}(\beta) \to \mathcal{P}(\gamma)$ and a function $m : \alpha \to \beta$, the lift of the image filter $\text{map}\, m\, f$ under $g$ is equal to the lift of $f$ under the composition $g \circ \text{image}\, m$. That is, \[ (\text{map}\, m\, f).\text{lift}'\, g = f.\text{lift}'\, (g \circ m[\cdot]). \]
Filter.comap_lift'_eq theorem
{m : γ → β} : comap m (f.lift' h) = f.lift' (preimage m ∘ h)
Full source
theorem comap_lift'_eq {m : γ → β} : comap m (f.lift' h) = f.lift' (preimagepreimage m ∘ h) := by
  simp only [Filter.lift', comap_lift_eq, comp_def, comap_principal]
Preimage-Lift' Commutation for Filters
Informal description
For any function $m : \gamma \to \beta$, the preimage filter of the lifted filter $f.\mathrm{lift}'\, h$ under $m$ is equal to the lift of the composition of $h$ with the preimage operation under $m$. That is, \[ \mathrm{comap}\, m\, (f.\mathrm{lift}'\, h) = f.\mathrm{lift}'\, (m^{-1} \circ h). \]
Filter.comap_lift'_eq2 theorem
{m : β → α} {g : Set β → Set γ} (hg : Monotone g) : (comap m f).lift' g = f.lift' (g ∘ preimage m)
Full source
theorem comap_lift'_eq2 {m : β → α} {g : Set β → Set γ} (hg : Monotone g) :
    (comap m f).lift' g = f.lift' (g ∘ preimage m) :=
  comap_lift_eq2 <| monotone_principal.comp hg
Preimage-Lift' Commutation for Filters: $(\text{comap}\, m\, f).\text{lift}'\, g = f.\text{lift}'\, (g \circ m^{-1})$
Informal description
For a monotone function $g : \mathcal{P}(\beta) \to \mathcal{P}(\gamma)$ and a function $m : \beta \to \alpha$, the lift of the preimage filter $\text{comap}\, m\, f$ under $g$ is equal to the lift of $f$ under the composition $g \circ \text{preimage}\, m$. That is, \[ (\text{comap}\, m\, f).\text{lift}'\, g = f.\text{lift}'\, (g \circ m^{-1}). \]
Filter.lift'_principal theorem
{s : Set α} (hh : Monotone h) : (𝓟 s).lift' h = 𝓟 (h s)
Full source
theorem lift'_principal {s : Set α} (hh : Monotone h) : (𝓟 s).lift' h = 𝓟 (h s) :=
  lift_principal <| monotone_principal.comp hh
Lift of Principal Filter under Monotone Function Equals Principal Filter of Image
Informal description
For any set $s$ in type $\alpha$ and a monotone function $h$ from sets in $\alpha$ to sets in $\beta$, the lift of the principal filter $\mathcal{P}(s)$ under $h$ equals the principal filter generated by $h(s)$, i.e., $(\mathcal{P}(s)).\mathrm{lift}'\, h = \mathcal{P}(h(s))$.
Filter.lift'_pure theorem
{a : α} (hh : Monotone h) : (pure a : Filter α).lift' h = 𝓟 (h { a })
Full source
theorem lift'_pure {a : α} (hh : Monotone h) : (pure a : Filter α).lift' h = 𝓟 (h {a}) := by
  rw [← principal_singleton, lift'_principal hh]
Lift of Pure Filter under Monotone Function Equals Principal Filter of Singleton Image
Informal description
For any element $a$ of type $\alpha$ and a monotone function $h$ from sets in $\alpha$ to sets in $\beta$, the lift of the pure filter $\mathrm{pure}\,a$ under $h$ equals the principal filter generated by the image of the singleton set $\{a\}$ under $h$, i.e., \[ (\mathrm{pure}\,a).\mathrm{lift}'\, h = \mathcal{P}(h(\{a\})). \]
Filter.lift'_bot theorem
(hh : Monotone h) : (⊥ : Filter α).lift' h = 𝓟 (h ∅)
Full source
theorem lift'_bot (hh : Monotone h) : ( : Filter α).lift' h = 𝓟 (h ) := by
  rw [← principal_empty, lift'_principal hh]
Lift of Bottom Filter under Monotone Function Equals Principal Filter of Empty Set Image
Informal description
For any monotone function $h$ from sets in $\alpha$ to sets in $\beta$, the lift of the bottom filter $\bot$ (the filter containing all sets) under $h$ equals the principal filter generated by $h(\emptyset)$, i.e., $\bot.\mathrm{lift}'\, h = \mathcal{P}(h(\emptyset))$.
Filter.le_lift' theorem
{f : Filter α} {h : Set α → Set β} {g : Filter β} : g ≤ f.lift' h ↔ ∀ s ∈ f, h s ∈ g
Full source
theorem le_lift' {f : Filter α} {h : Set α → Set β} {g : Filter β} :
    g ≤ f.lift' h ↔ ∀ s ∈ f, h s ∈ g :=
  le_lift.trans <| forall₂_congr fun _ _ => le_principal_iff
Characterization of Filter Lift' Inequality: $g \leq f.\text{lift}'\, h$ iff $\forall s \in f, h(s) \in g$
Informal description
For a filter $f$ on a type $\alpha$, a function $h$ mapping sets in $\alpha$ to sets in $\beta$, and a filter $g$ on $\beta$, the inequality $g \leq f.\text{lift}'\, h$ holds if and only if for every set $s$ in $f$, the image $h(s)$ belongs to $g$.
Filter.principal_le_lift' theorem
{t : Set β} : 𝓟 t ≤ f.lift' h ↔ ∀ s ∈ f, t ⊆ h s
Full source
theorem principal_le_lift' {t : Set β} : 𝓟𝓟 t ≤ f.lift' h ↔ ∀ s ∈ f, t ⊆ h s :=
  le_lift'
Principal Filter Inequality under Lift: $\mathcal{P}(t) \leq f.\text{lift}'\, h$ iff $\forall s \in f, t \subseteq h(s)$
Informal description
For any set $t$ in $\beta$ and any function $h$ mapping sets in $\alpha$ to sets in $\beta$, the principal filter $\mathcal{P}(t)$ is less than or equal to the lifted filter $f.\text{lift}'\, h$ if and only if for every set $s$ in the filter $f$, the set $t$ is a subset of $h(s)$.
Filter.monotone_lift' theorem
[Preorder γ] {f : γ → Filter α} {g : γ → Set α → Set β} (hf : Monotone f) (hg : Monotone g) : Monotone fun c => (f c).lift' (g c)
Full source
theorem monotone_lift' [Preorder γ] {f : γ → Filter α} {g : γ → Set α → Set β} (hf : Monotone f)
    (hg : Monotone g) : Monotone fun c => (f c).lift' (g c) := fun _ _ h => lift'_mono (hf h) (hg h)
Monotonicity of Filter Lift' under Monotone Functions
Informal description
Let $\gamma$ be a preorder, and let $f : \gamma \to \text{Filter } \alpha$ and $g : \gamma \to \mathcal{P}(\alpha) \to \mathcal{P}(\beta)$ be monotone functions. Then the function $c \mapsto (f\, c).\text{lift}' (g\, c)$ is also monotone.
Filter.lift_lift'_assoc theorem
{g : Set α → Set β} {h : Set β → Filter γ} (hg : Monotone g) (hh : Monotone h) : (f.lift' g).lift h = f.lift fun s => h (g s)
Full source
theorem lift_lift'_assoc {g : Set α → Set β} {h : Set β → Filter γ} (hg : Monotone g)
    (hh : Monotone h) : (f.lift' g).lift h = f.lift fun s => h (g s) :=
  calc
    (f.lift' g).lift h = f.lift fun s => (𝓟 (g s)).lift h := lift_assoc (monotone_principal.comp hg)
    _ = f.lift fun s => h (g s) := by simp only [lift_principal, hh, eq_self_iff_true]
Associativity of filter lifts: $(f.\text{lift}'\, g).\text{lift}\, h = f.\text{lift}\, (h \circ g)$
Informal description
Let $f$ be a filter on a type $\alpha$, $g : \mathcal{P}(\alpha) \to \mathcal{P}(\beta)$ be a monotone function, and $h : \mathcal{P}(\beta) \to \text{Filter}(\gamma)$ be a monotone function. Then the following equality holds: \[ (f.\text{lift}'\, g).\text{lift}\, h = f.\text{lift}\, (\lambda s, h(g(s))). \]
Filter.lift'_lift'_assoc theorem
{g : Set α → Set β} {h : Set β → Set γ} (hg : Monotone g) (hh : Monotone h) : (f.lift' g).lift' h = f.lift' fun s => h (g s)
Full source
theorem lift'_lift'_assoc {g : Set α → Set β} {h : Set β → Set γ} (hg : Monotone g)
    (hh : Monotone h) : (f.lift' g).lift' h = f.lift' fun s => h (g s) :=
  lift_lift'_assoc hg (monotone_principal.comp hh)
Associativity of double filter lifts: $(f.\text{lift}'\, g).\text{lift}'\, h = f.\text{lift}'\, (h \circ g)$
Informal description
Let $f$ be a filter on a type $\alpha$, and let $g : \mathcal{P}(\alpha) \to \mathcal{P}(\beta)$ and $h : \mathcal{P}(\beta) \to \mathcal{P}(\gamma)$ be monotone functions. Then the following equality holds: \[ (f.\text{lift}'\, g).\text{lift}'\, h = f.\text{lift}'\, (\lambda s, h(g(s))). \]
Filter.lift'_lift_assoc theorem
{g : Set α → Filter β} {h : Set β → Set γ} (hg : Monotone g) : (f.lift g).lift' h = f.lift fun s => (g s).lift' h
Full source
theorem lift'_lift_assoc {g : Set α → Filter β} {h : Set β → Set γ} (hg : Monotone g) :
    (f.lift g).lift' h = f.lift fun s => (g s).lift' h :=
  lift_assoc hg
Associativity of Mixed Filter Lifts: $(f.\text{lift}\, g).\text{lift}'\, h = f.\text{lift}\, (\lambda s, (g(s)).\text{lift}'\, h)$
Informal description
Let $f$ be a filter on a type $\alpha$, $g : \mathcal{P}(\alpha) \to \text{Filter}(\beta)$ be a monotone function, and $h : \mathcal{P}(\beta) \to \mathcal{P}(\gamma)$. Then the filter obtained by first lifting $f$ with $g$ and then lifting the result with $h$ is equal to the filter obtained by lifting $f$ with the function $\lambda s, (g(s)).\text{lift}'\, h$. In other words, the following equality holds: \[ (f.\text{lift}\, g).\text{lift}'\, h = f.\text{lift}\, (\lambda s, (g(s)).\text{lift}'\, h). \]
Filter.lift_lift'_same_le_lift' theorem
{g : Set α → Set α → Set β} : (f.lift fun s => f.lift' (g s)) ≤ f.lift' fun s => g s s
Full source
theorem lift_lift'_same_le_lift' {g : Set α → Set α → Set β} :
    (f.lift fun s => f.lift' (g s)) ≤ f.lift' fun s => g s s :=
  lift_lift_same_le_lift
Double Lift Filter Inequality: $\text{lift}_f (\lambda s, \text{lift}'_f (g(s))) \leq \text{lift}'_f (\lambda s, g(s, s))$
Informal description
For any function $g : \mathcal{P}(\alpha) \times \mathcal{P}(\alpha) \to \mathcal{P}(\beta)$, the filter obtained by first lifting $f$ to $\lambda s, f.\text{lift}'\, (g(s))$ is less than or equal to the filter obtained by lifting $f$ to $\lambda s, g(s, s)$. In other words, the double-lifted filter $\text{lift}_f (\lambda s, \text{lift}'_f (g(s)))$ is contained in the single-lifted filter $\text{lift}'_f (\lambda s, g(s, s))$.
Filter.lift_lift'_same_eq_lift' theorem
{g : Set α → Set α → Set β} (hg₁ : ∀ s, Monotone fun t => g s t) (hg₂ : ∀ t, Monotone fun s => g s t) : (f.lift fun s => f.lift' (g s)) = f.lift' fun s => g s s
Full source
theorem lift_lift'_same_eq_lift' {g : Set α → Set α → Set β} (hg₁ : ∀ s, Monotone fun t => g s t)
    (hg₂ : ∀ t, Monotone fun s => g s t) :
    (f.lift fun s => f.lift' (g s)) = f.lift' fun s => g s s :=
  lift_lift_same_eq_lift (fun s => monotone_principal.comp (hg₁ s)) fun t =>
    monotone_principal.comp (hg₂ t)
Double Lift Filter Equality under Monotonicity Conditions: $\text{lift}_f (\lambda s, \text{lift}'_f (g(s))) = \text{lift}'_f (\lambda s, g(s, s))$
Informal description
For any function $g : \mathcal{P}(\alpha) \times \mathcal{P}(\alpha) \to \mathcal{P}(\beta)$ such that for each set $s$, the function $t \mapsto g(s, t)$ is monotone, and for each set $t$, the function $s \mapsto g(s, t)$ is monotone, the double-lifted filter $\text{lift}_f (\lambda s, \text{lift}'_f (g(s)))$ is equal to the single-lifted filter $\text{lift}'_f (\lambda s, g(s, s))$.
Filter.lift'_inf_principal_eq theorem
{h : Set α → Set β} {s : Set β} : f.lift' h ⊓ 𝓟 s = f.lift' fun t => h t ∩ s
Full source
theorem lift'_inf_principal_eq {h : Set α → Set β} {s : Set β} :
    f.lift' h ⊓ 𝓟 s = f.lift' fun t => h t ∩ s := by
  simp only [Filter.lift', Filter.lift, (· ∘ ·), ← inf_principal, iInf_subtype', ← iInf_inf]
Lifted Filter Intersection with Principal Filter Equals Lifted Intersection Filter
Informal description
For any function $h : \mathcal{P}(\alpha) \to \mathcal{P}(\beta)$ and any subset $s \subseteq \beta$, the infimum of the lifted filter $f.\mathrm{lift}'\, h$ and the principal filter $\mathfrak{P}(s)$ is equal to the lifted filter of the function $\lambda t, h(t) \cap s$, i.e., \[ f.\mathrm{lift}'\, h \sqcap \mathfrak{P}(s) = f.\mathrm{lift}'\, (\lambda t, h(t) \cap s). \]
Filter.lift'_neBot_iff theorem
(hh : Monotone h) : NeBot (f.lift' h) ↔ ∀ s ∈ f, (h s).Nonempty
Full source
theorem lift'_neBot_iff (hh : Monotone h) : NeBotNeBot (f.lift' h) ↔ ∀ s ∈ f, (h s).Nonempty :=
  calc
    NeBot (f.lift' h) ↔ ∀ s ∈ f, NeBot (𝓟 (h s)) := lift_neBot_iff (monotone_principal.comp hh)
    _ ↔ ∀ s ∈ f, (h s).Nonempty := by simp only [principal_neBot_iff]
Non-triviality of Lifted Filter via Monotone Function
Informal description
Let $f$ be a filter on a type $\alpha$ and $h : \mathcal{P}(\alpha) \to \mathcal{P}(\beta)$ be a monotone function. Then the lifted filter $f.\mathrm{lift}'\, h$ is non-trivial if and only if for every set $s \in f$, the image $h(s)$ is nonempty.
Filter.lift'_id theorem
{f : Filter α} : f.lift' id = f
Full source
@[simp]
theorem lift'_id {f : Filter α} : f.lift' id = f :=
  lift_principal2
Identity Lift of Filter Preserves Filter
Informal description
For any filter $f$ on a type $\alpha$, the lift of $f$ with respect to the identity function is equal to $f$ itself, i.e., $f.\mathrm{lift}'\, \mathrm{id} = f$.
Filter.lift'_iInf theorem
[Nonempty ι] {f : ι → Filter α} {g : Set α → Set β} (hg : ∀ s t, g (s ∩ t) = g s ∩ g t) : (iInf f).lift' g = ⨅ i, (f i).lift' g
Full source
theorem lift'_iInf [Nonempty ι] {f : ι → Filter α} {g : Set α → Set β}
    (hg : ∀ s t, g (s ∩ t) = g s ∩ g t) : (iInf f).lift' g = ⨅ i, (f i).lift' g :=
  lift_iInf fun s t => by simp only [inf_principal, comp, hg]
Infimum Lift Equality for Intersection-Preserving Set Mappings
Informal description
Let $\iota$ be a nonempty index set, $\{f_i\}_{i \in \iota}$ be a family of filters on a type $\alpha$, and $g : \mathrm{Set}\,\alpha \to \mathrm{Set}\,\beta$ be a function such that for any sets $s, t \subseteq \alpha$, we have $g(s \cap t) = g(s) \cap g(t)$. Then the lift of the infimum filter $\bigsqcap_i f_i$ under $g$ equals the infimum of the lifts of each $f_i$ under $g$, i.e., $$(\bigsqcap_i f_i).\mathrm{lift}'\, g = \bigsqcap_i (f_i.\mathrm{lift}'\, g).$$
Filter.lift'_iInf_of_map_univ theorem
{f : ι → Filter α} {g : Set α → Set β} (hg : ∀ {s t}, g (s ∩ t) = g s ∩ g t) (hg' : g univ = univ) : (iInf f).lift' g = ⨅ i, (f i).lift' g
Full source
theorem lift'_iInf_of_map_univ {f : ι → Filter α} {g : Set α → Set β}
    (hg : ∀ {s t}, g (s ∩ t) = g s ∩ g t) (hg' : g univ = univ) :
    (iInf f).lift' g = ⨅ i, (f i).lift' g :=
  lift_iInf_of_map_univ (fun s t => by simp only [inf_principal, comp, hg])
    (by rw [Function.comp_apply, hg', principal_univ])
Infimum Lift Equality for Intersection-Preserving Set Mappings with Universal Condition
Informal description
Let $\{f_i\}_{i \in \iota}$ be a family of filters on a type $\alpha$, and let $g : \mathcal{P}(\alpha) \to \mathcal{P}(\beta)$ be a function such that: 1. For any sets $s, t \subseteq \alpha$, $g(s \cap t) = g(s) \cap g(t)$. 2. $g(\mathrm{univ}) = \mathrm{univ}$ (where $\mathrm{univ}$ denotes the universal set). Then the lift of the infimum filter $\bigsqcap_i f_i$ under $g$ equals the infimum of the lifts of each $f_i$ under $g$, i.e., $$(\bigsqcap_i f_i).\mathrm{lift}'\, g = \bigsqcap_i (f_i.\mathrm{lift}'\, g).$$
Filter.lift'_inf theorem
(f g : Filter α) {s : Set α → Set β} (hs : ∀ t₁ t₂, s (t₁ ∩ t₂) = s t₁ ∩ s t₂) : (f ⊓ g).lift' s = f.lift' s ⊓ g.lift' s
Full source
theorem lift'_inf (f g : Filter α) {s : Set α → Set β} (hs : ∀ t₁ t₂, s (t₁ ∩ t₂) = s t₁ ∩ s t₂) :
    (f ⊓ g).lift' s = f.lift' s ⊓ g.lift' s := by
  rw [inf_eq_iInf, inf_eq_iInf, lift'_iInf hs]
  refine iInf_congr ?_
  rintro (_|_) <;> rfl
Infimum Lift Equality for Intersection-Preserving Set Mappings on Two Filters
Informal description
For any two filters $f$ and $g$ on a type $\alpha$, and any function $s \colon \mathcal{P}(\alpha) \to \mathcal{P}(\beta)$ that preserves intersections (i.e., $s(t_1 \cap t_2) = s(t_1) \cap s(t_2)$ for all $t_1, t_2 \subseteq \alpha$), the lift of the infimum filter $f \sqcap g$ under $s$ is equal to the infimum of the lifted filters $f.\mathrm{lift}'\,s$ and $g.\mathrm{lift}'\,s$, i.e., $$(f \sqcap g).\mathrm{lift}'\,s = f.\mathrm{lift}'\,s \sqcap g.\mathrm{lift}'\,s.$$
Filter.lift'_inf_le theorem
(f g : Filter α) (s : Set α → Set β) : (f ⊓ g).lift' s ≤ f.lift' s ⊓ g.lift' s
Full source
theorem lift'_inf_le (f g : Filter α) (s : Set α → Set β) :
    (f ⊓ g).lift' s ≤ f.lift' s ⊓ g.lift' s :=
  le_inf (lift'_mono inf_le_left le_rfl) (lift'_mono inf_le_right le_rfl)
Lifted Filter Infimum Inequality: $(f \sqcap g).\mathrm{lift'}\, s \leq f.\mathrm{lift'}\, s \sqcap g.\mathrm{lift'}\, s$
Informal description
For any two filters $f$ and $g$ on a type $\alpha$ and any function $s$ mapping sets in $\alpha$ to sets in $\beta$, the lifted filter $(f \sqcap g).\mathrm{lift'}\, s$ is less than or equal to the infimum of the lifted filters $f.\mathrm{lift'}\, s$ and $g.\mathrm{lift'}\, s$.
Filter.comap_eq_lift' theorem
{f : Filter β} {m : α → β} : comap m f = f.lift' (preimage m)
Full source
theorem comap_eq_lift' {f : Filter β} {m : α → β} : comap m f = f.lift' (preimage m) :=
  Filter.ext fun _ => (mem_lift'_sets monotone_preimage).symm
Preimage Filter as Lifted Filter via Preimage Operation
Informal description
For any filter $f$ on a type $\beta$ and any function $m \colon \alpha \to \beta$, the preimage filter $\mathrm{comap}\,m\,f$ is equal to the filter obtained by lifting $f$ via the preimage operation $m^{-1} \colon \mathcal{P}(\beta) \to \mathcal{P}(\alpha)$. That is, $\mathrm{comap}\,m\,f = f.\mathrm{lift}'\,m^{-1}$.
Filter.prod_def theorem
{f : Filter α} {g : Filter β} : f ×ˢ g = f.lift fun s => g.lift' fun t => s ×ˢ t
Full source
theorem prod_def {f : Filter α} {g : Filter β} :
    f ×ˢ g = f.lift fun s => g.lift' fun t => s ×ˢ t := by
  simpa only [Filter.lift', Filter.lift, (f.basis_sets.prod g.basis_sets).eq_biInf,
    iInf_prod, iInf_and] using iInf_congr fun i => iInf_comm
Definition of Product Filter via Lifting
Informal description
For any filters $f$ on a type $\alpha$ and $g$ on a type $\beta$, the product filter $f \timesˢ g$ is equal to the filter obtained by lifting $f$ with respect to the function that takes a set $s \subseteq \alpha$ and returns the filter generated by the sets $s \timesˢ t$ for all $t \in g$. More precisely, $f \timesˢ g$ is defined as the infimum over all $s \in f$ of the filters generated by the sets $\{s \timesˢ t \mid t \in g\}$.
Filter.prod_same_eq theorem
: f ×ˢ f = f.lift' fun t : Set α => t ×ˢ t
Full source
theorem prod_same_eq : f ×ˢ f = f.lift' fun t : Set α => t ×ˢ t :=
  f.basis_sets.prod_self.eq_biInf
Product Filter Equals Lift of Cartesian Squares
Informal description
For any filter $f$ on a type $\alpha$, the product filter $f \timesˢ f$ is equal to the filter obtained by lifting $f$ with the function that maps each set $t \subseteq \alpha$ to its Cartesian square $t \times t \subseteq \alpha \times \alpha$.
Filter.tendsto_prod_self_iff theorem
{f : α × α → β} {x : Filter α} {y : Filter β} : Filter.Tendsto f (x ×ˢ x) y ↔ ∀ W ∈ y, ∃ U ∈ x, ∀ x x' : α, x ∈ U → x' ∈ U → f (x, x') ∈ W
Full source
theorem tendsto_prod_self_iff {f : α × α → β} {x : Filter α} {y : Filter β} :
    Filter.TendstoFilter.Tendsto f (x ×ˢ x) y ↔ ∀ W ∈ y, ∃ U ∈ x, ∀ x x' : α, x ∈ U → x' ∈ U → f (x, x') ∈ W := by
  simp only [tendsto_def, mem_prod_same_iff, prod_sub_preimage_iff, exists_prop]
Characterization of Tendsto for Product Filter $x \timesˢ x$
Informal description
For a function $f : \alpha \times \alpha \to \beta$, a filter $x$ on $\alpha$, and a filter $y$ on $\beta$, the following are equivalent: 1. The function $f$ tends to $y$ along the product filter $x \timesˢ x$. 2. For every set $W \in y$, there exists a set $U \in x$ such that for all $x, x' \in \alpha$, if $x \in U$ and $x' \in U$, then $f(x, x') \in W$.
Filter.prod_lift_lift theorem
{f₁ : Filter α₁} {f₂ : Filter α₂} {g₁ : Set α₁ → Filter β₁} {g₂ : Set α₂ → Filter β₂} (hg₁ : Monotone g₁) (hg₂ : Monotone g₂) : f₁.lift g₁ ×ˢ f₂.lift g₂ = f₁.lift fun s => f₂.lift fun t => g₁ s ×ˢ g₂ t
Full source
theorem prod_lift_lift {f₁ : Filter α₁} {f₂ : Filter α₂} {g₁ : Set α₁ → Filter β₁}
    {g₂ : Set α₂ → Filter β₂} (hg₁ : Monotone g₁) (hg₂ : Monotone g₂) :
    f₁.lift g₁ ×ˢ f₂.lift g₂ = f₁.lift fun s => f₂.lift fun t => g₁ s ×ˢ g₂ t := by
  simp only [prod_def, lift_assoc hg₁]
  apply congr_arg; funext x
  rw [lift_comm]
  apply congr_arg; funext y
  apply lift'_lift_assoc hg₂
Product of Lifted Filters Equals Lifted Product
Informal description
Let $f_1$ and $f_2$ be filters on types $\alpha_1$ and $\alpha_2$ respectively, and let $g_1 : \mathcal{P}(\alpha_1) \to \text{Filter}(\beta_1)$ and $g_2 : \mathcal{P}(\alpha_2) \to \text{Filter}(\beta_2)$ be monotone functions. Then the product filter of the lifted filters $f_1.\text{lift}\, g_1$ and $f_2.\text{lift}\, g_2$ is equal to the filter obtained by lifting $f_1$ with the function $\lambda s, f_2.\text{lift}\, (\lambda t, g_1(s) \timesˢ g_2(t))$. In other words, the following equality holds: \[ f_1.\text{lift}\, g_1 \timesˢ f_2.\text{lift}\, g_2 = f_1.\text{lift}\, \left( \lambda s, f_2.\text{lift}\, \left( \lambda t, g_1(s) \timesˢ g_2(t) \right) \right). \]
Filter.prod_lift'_lift' theorem
{f₁ : Filter α₁} {f₂ : Filter α₂} {g₁ : Set α₁ → Set β₁} {g₂ : Set α₂ → Set β₂} (hg₁ : Monotone g₁) (hg₂ : Monotone g₂) : f₁.lift' g₁ ×ˢ f₂.lift' g₂ = f₁.lift fun s => f₂.lift' fun t => g₁ s ×ˢ g₂ t
Full source
theorem prod_lift'_lift' {f₁ : Filter α₁} {f₂ : Filter α₂} {g₁ : Set α₁ → Set β₁}
    {g₂ : Set α₂ → Set β₂} (hg₁ : Monotone g₁) (hg₂ : Monotone g₂) :
    f₁.lift' g₁ ×ˢ f₂.lift' g₂ = f₁.lift fun s => f₂.lift' fun t => g₁ s ×ˢ g₂ t :=
  calc
    f₁.lift' g₁ ×ˢ f₂.lift' g₂ = f₁.lift fun s => f₂.lift fun t => 𝓟 (g₁ s) ×ˢ 𝓟 (g₂ t) :=
      prod_lift_lift (monotone_principal.comp hg₁) (monotone_principal.comp hg₂)
    _ = f₁.lift fun s => f₂.lift fun t => 𝓟 (g₁ s ×ˢ g₂ t) := by
      { simp only [prod_principal_principal] }
Product of Principal Lifted Filters Equals Lifted Product of Principal Filters
Informal description
Let $f_1$ and $f_2$ be filters on types $\alpha_1$ and $\alpha_2$ respectively, and let $g_1 : \mathcal{P}(\alpha_1) \to \mathcal{P}(\beta_1)$ and $g_2 : \mathcal{P}(\alpha_2) \to \mathcal{P}(\beta_2)$ be monotone functions. Then the product filter of the principal filters generated by $f_1.\text{lift}'\, g_1$ and $f_2.\text{lift}'\, g_2$ is equal to the filter obtained by lifting $f_1$ with the function $\lambda s, f_2.\text{lift}'\, (\lambda t, g_1(s) \timesˢ g_2(t))$. In other words, the following equality holds: \[ f_1.\text{lift}'\, g_1 \timesˢ f_2.\text{lift}'\, g_2 = f_1.\text{lift}\, \left( \lambda s, f_2.\text{lift}'\, \left( \lambda t, g_1(s) \timesˢ g_2(t) \right) \right). \]