(Co)product of a family of filters #
In this file we define two filters on Π i, α i
and prove some basic properties of these filters.
-
filter.pi (f : Π i, filter (α i))
to be the maximal filter onΠ i, α i
such that∀ i, filter.tendsto (function.eval i) (filter.pi f) (f i)
. It is defined asΠ i, filter.comap (function.eval i) (f i)
. This is a generalization offilter.prod
to indexed products. -
filter.Coprod (f : Π i, filter (α i))
: a generalization offilter.coprod
; it is the supremum ofcomap (eval i) (f i)
.
def
filter.pi
{ι : Type u_1}
{α : ι → Type u_2}
(f : Π (i : ι), filter (α i)) :
filter (Π (i : ι), α i)
The product of an indexed family of filters.
Equations
- filter.pi f = ⨅ (i : ι), filter.comap (function.eval i) (f i)
theorem
filter.tendsto_eval_pi
{ι : Type u_1}
{α : ι → Type u_2}
(f : Π (i : ι), filter (α i))
(i : ι) :
filter.tendsto (function.eval i) (filter.pi f) (f i)
theorem
filter.tendsto_pi
{ι : Type u_1}
{α : ι → Type u_2}
{f : Π (i : ι), filter (α i)}
{β : Type u_3}
{m : β → Π (i : ι), α i}
{l : filter β} :
filter.tendsto m l (filter.pi f) ↔ ∀ (i : ι), filter.tendsto (λ (x : β), m x i) l (f i)
theorem
filter.le_pi
{ι : Type u_1}
{α : ι → Type u_2}
{f : Π (i : ι), filter (α i)}
{g : filter (Π (i : ι), α i)} :
g ≤ filter.pi f ↔ ∀ (i : ι), filter.tendsto (function.eval i) g (f i)
theorem
filter.mem_pi_of_mem
{ι : Type u_1}
{α : ι → Type u_2}
{f : Π (i : ι), filter (α i)}
(i : ι)
{s : set (α i)}
(hs : s ∈ f i) :
function.eval i ⁻¹' s ∈ filter.pi f
theorem
filter.has_basis_pi
{ι : Type u_1}
{α : ι → Type u_2}
{f : Π (i : ι), filter (α i)}
{ι' : ι → Type}
{s : Π (i : ι), ι' i → set (α i)}
{p : Π (i : ι), ι' i → Prop}
(h : ∀ (i : ι), (f i).has_basis (p i) (s i)) :
n
-ary coproducts of filters #
@[protected]
def
filter.Coprod
{ι : Type u_1}
{α : ι → Type u_2}
(f : Π (i : ι), filter (α i)) :
filter (Π (i : ι), α i)
Coproduct of filters.
Equations
- filter.Coprod f = ⨆ (i : ι), filter.comap (function.eval i) (f i)
theorem
filter.mem_Coprod_iff
{ι : Type u_1}
{α : ι → Type u_2}
{f : Π (i : ι), filter (α i)}
{s : set (Π (i : ι), α i)} :
s ∈ filter.Coprod f ↔ ∀ (i : ι), ∃ (t₁ : set (α i)) (H : t₁ ∈ f i), function.eval i ⁻¹' t₁ ⊆ s
@[simp]
theorem
filter.Coprod_ne_bot_iff
{ι : Type u_1}
{α : ι → Type u_2}
{f : Π (i : ι), filter (α i)}
[∀ (i : ι), nonempty (α i)] :
(filter.Coprod f).ne_bot ↔ ∃ (d : ι), (f d).ne_bot
theorem
filter.ne_bot.Coprod
{ι : Type u_1}
{α : ι → Type u_2}
{f : Π (i : ι), filter (α i)}
[∀ (i : ι), nonempty (α i)]
{i : ι}
(h : (f i).ne_bot) :
(filter.Coprod f).ne_bot
@[instance]
theorem
filter.Coprod_ne_bot
{ι : Type u_1}
{α : ι → Type u_2}
[∀ (i : ι), nonempty (α i)]
[nonempty ι]
(f : Π (i : ι), filter (α i))
[H : ∀ (i : ι), (f i).ne_bot] :
(filter.Coprod f).ne_bot
theorem
filter.Coprod_mono
{ι : Type u_1}
{α : ι → Type u_2}
{f₁ f₂ : Π (i : ι), filter (α i)}
(hf : ∀ (i : ι), f₁ i ≤ f₂ i) :
filter.Coprod f₁ ≤ filter.Coprod f₂
theorem
filter.map_pi_map_Coprod_le
{ι : Type u_1}
{α : ι → Type u_2}
{f : Π (i : ι), filter (α i)}
{β : ι → Type u_3}
{m : Π (i : ι), α i → β i} :
filter.map (λ (k : Π (i : ι), α i) (i : ι), m i (k i)) (filter.Coprod f) ≤ filter.Coprod (λ (i : ι), filter.map (m i) (f i))
theorem
filter.tendsto.pi_map_Coprod
{ι : Type u_1}
{α : ι → Type u_2}
{f : Π (i : ι), filter (α i)}
{β : ι → Type u_3}
{m : Π (i : ι), α i → β i}
{g : Π (i : ι), filter (β i)}
(h : ∀ (i : ι), filter.tendsto (m i) (f i) (g i)) :
filter.tendsto (λ (k : Π (i : ι), α i) (i : ι), m i (k i)) (filter.Coprod f) (filter.Coprod g)