mathlib documentation

order.filter.pointwise

Pointwise operations on filters #

This file defines pointwise operations on filters. This is useful because usual algebraic operations distribute over pointwise operations. For example,

Main declarations #

Tags #

filter multiplication, filter addition, pointwise addition, pointwise multiplication,

0/1 as filters #

@[protected, instance]
def filter.has_zero {α : Type u_2} [has_zero α] :

0 : filter α is the set of sets containing 0 : α.

Equations
@[protected, instance]
def filter.has_one {α : Type u_2} [has_one α] :

1 : filter α is the set of sets containing 1 : α.

Equations
@[simp]
theorem filter.mem_zero {α : Type u_2} [has_zero α] {s : set α} :
s 0 0 s
@[simp]
theorem filter.mem_one {α : Type u_2} [has_one α] {s : set α} :
s 1 1 s
theorem filter.zero_mem_zero {α : Type u_2} [has_zero α] :
0 0
theorem filter.one_mem_one {α : Type u_2} [has_one α] :
1 1
@[simp]
theorem filter.principal_one {α : Type u_2} [has_one α] :
𝓟 1 = 1
@[simp]
theorem filter.principal_zero {α : Type u_2} [has_zero α] :
𝓟 0 = 0
@[simp]
theorem filter.pure_zero {α : Type u_2} [has_zero α] :
pure 0 = 0
@[simp]
theorem filter.pure_one {α : Type u_2} [has_one α] :
pure 1 = 1
@[simp]
theorem filter.nonpos_iff {α : Type u_2} [has_zero α] {f : filter α} :
f 0 0 f
@[simp]
theorem filter.le_one_iff {α : Type u_2} [has_one α] {f : filter α} :
f 1 1 f
@[simp]
theorem filter.eventually_one {α : Type u_2} [has_one α] {p : α → Prop} :
(∀ᶠ (x : α) in 1, p x) p 1
@[simp]
theorem filter.eventually_zero {α : Type u_2} [has_zero α] {p : α → Prop} :
(∀ᶠ (x : α) in 0, p x) p 0
@[simp]
theorem filter.tendsto_one {α : Type u_2} {β : Type u_3} [has_one α] {a : filter β} {f : β → α} :
filter.tendsto f a 1 ∀ᶠ (x : β) in a, f x = 1
@[simp]
theorem filter.tendsto_zero {α : Type u_2} {β : Type u_3} [has_zero α] {a : filter β} {f : β → α} :
filter.tendsto f a 0 ∀ᶠ (x : β) in a, f x = 0
@[protected, simp]
theorem filter.map_one {F : Type u_1} {α : Type u_2} {β : Type u_3} [has_one α] [has_one β] [one_hom_class F α β] (φ : F) :
@[protected, simp]
theorem filter.map_zero {F : Type u_1} {α : Type u_2} {β : Type u_3} [has_zero α] [has_zero β] [zero_hom_class F α β] (φ : F) :

Filter addition/multiplication #

@[protected, instance]
def filter.has_add {α : Type u_2} [has_add α] :
Equations
@[protected, instance]
def filter.has_mul {α : Type u_2} [has_mul α] :
Equations
@[simp]
theorem filter.map₂_mul {α : Type u_2} [has_mul α] {f g : filter α} :
@[simp]
theorem filter.map₂_add {α : Type u_2} [has_add α] {f g : filter α} :
theorem filter.mem_mul_iff {α : Type u_2} [has_mul α] {f g : filter α} {s : set α} :
s f * g ∃ (t₁ t₂ : set α), t₁ f t₂ g t₁ * t₂ s
theorem filter.mem_add_iff {α : Type u_2} [has_add α] {f g : filter α} {s : set α} :
s f + g ∃ (t₁ t₂ : set α), t₁ f t₂ g t₁ + t₂ s
theorem filter.mul_mem_mul {α : Type u_2} [has_mul α] {f g : filter α} {s t : set α} :
s ft gs * t f * g
theorem filter.add_mem_add {α : Type u_2} [has_add α] {f g : filter α} {s t : set α} :
s ft gs + t f + g
@[simp]
theorem filter.bot_add {α : Type u_2} [has_add α] {g : filter α} :
@[simp]
theorem filter.bot_mul {α : Type u_2} [has_mul α] {g : filter α} :
@[simp]
theorem filter.add_bot {α : Type u_2} [has_add α] {f : filter α} :
@[simp]
theorem filter.mul_bot {α : Type u_2} [has_mul α] {f : filter α} :
@[simp]
theorem filter.add_eq_bot_iff {α : Type u_2} [has_add α] {f g : filter α} :
f + g = f = g =
@[simp]
theorem filter.mul_eq_bot_iff {α : Type u_2} [has_mul α] {f g : filter α} :
f * g = f = g =
@[simp]
theorem filter.mul_ne_bot_iff {α : Type u_2} [has_mul α] {f g : filter α} :
@[simp]
theorem filter.add_ne_bot_iff {α : Type u_2} [has_add α] {f g : filter α} :
theorem filter.ne_bot.mul {α : Type u_2} [has_mul α] {f g : filter α} :
f.ne_botg.ne_bot(f * g).ne_bot
theorem filter.ne_bot.add {α : Type u_2} [has_add α] {f g : filter α} :
f.ne_botg.ne_bot(f + g).ne_bot
@[simp]
theorem filter.le_mul_iff {α : Type u_2} [has_mul α] {f g h : filter α} :
h f * g ∀ ⦃s : set α⦄, s f∀ ⦃t : set α⦄, t gs * t h
@[simp]
theorem filter.le_add_iff {α : Type u_2} [has_add α] {f g h : filter α} :
h f + g ∀ ⦃s : set α⦄, s f∀ ⦃t : set α⦄, t gs + t h
@[protected, instance]
@[protected, instance]
@[protected, instance]
@[protected, instance]
@[protected]
theorem filter.map_mul {F : Type u_1} {α : Type u_2} {β : Type u_3} [has_mul α] [has_mul β] {f₁ f₂ : filter α} [mul_hom_class F α β] (m : F) :
filter.map m (f₁ * f₂) = (filter.map m f₁) * filter.map m f₂
@[protected]
theorem filter.map_add {F : Type u_1} {α : Type u_2} {β : Type u_3} [has_add α] [has_add β] {f₁ f₂ : filter α} [add_hom_class F α β] (m : F) :
filter.map m (f₁ + f₂) = filter.map m f₁ + filter.map m f₂
@[protected, instance]
def filter.semigroup {α : Type u_2} [semigroup α] :
Equations
@[protected, instance]
def filter.add_semigroup {α : Type u_2} [add_semigroup α] :
Equations
@[protected, instance]
def filter.comm_semigroup {α : Type u_2} [comm_semigroup α] :
Equations
@[protected, instance]
def filter.add_zero_class {α : Type u_2} [add_zero_class α] :
Equations
@[protected, instance]
def filter.mul_one_class {α : Type u_2} [mul_one_class α] :
Equations
@[protected, instance]
def filter.comm_monoid {α : Type u_2} [comm_monoid α] :
Equations
@[protected, instance]
Equations
def filter.map_add_monoid_hom {F : Type u_1} {α : Type u_2} {β : Type u_3} [add_zero_class α] [add_zero_class β] [add_monoid_hom_class F α β] (φ : F) :

If φ : α →+ β then map_add_monoid_hom φ is the monoid homomorphism filter α →+ filter β induced by map φ.

Equations
def filter.map_monoid_hom {F : Type u_1} {α : Type u_2} {β : Type u_3} [mul_one_class α] [mul_one_class β] [monoid_hom_class F α β] (φ : F) :

If φ : α →* β then map_monoid_hom φ is the monoid homomorphism filter α →* filter β induced by map φ.

Equations
theorem filter.comap_add_comap_le {F : Type u_1} {α : Type u_2} {β : Type u_3} [add_zero_class α] [add_zero_class β] [add_hom_class F α β] (m : F) {f₁ f₂ : filter β} :
theorem filter.comap_mul_comap_le {F : Type u_1} {α : Type u_2} {β : Type u_3} [mul_one_class α] [mul_one_class β] [mul_hom_class F α β] (m : F) {f₁ f₂ : filter β} :
(filter.comap m f₁) * filter.comap m f₂ filter.comap m (f₁ * f₂)
theorem filter.tendsto.add_add {F : Type u_1} {α : Type u_2} {β : Type u_3} [add_zero_class α] [add_zero_class β] [add_hom_class F α β] (m : F) {f₁ g₁ : filter α} {f₂ g₂ : filter β} :
filter.tendsto m f₁ f₂filter.tendsto m g₁ g₂filter.tendsto m (f₁ + g₁) (f₂ + g₂)
theorem filter.tendsto.mul_mul {F : Type u_1} {α : Type u_2} {β : Type u_3} [mul_one_class α] [mul_one_class β] [mul_hom_class F α β] (m : F) {f₁ g₁ : filter α} {f₂ g₂ : filter β} :
filter.tendsto m f₁ f₂filter.tendsto m g₁ g₂filter.tendsto m (f₁ * g₁) (f₂ * g₂)

Filter negation/inversion #

@[protected, instance]
def filter.has_inv {α : Type u_2} [has_inv α] :

The inverse of a filter is the pointwise preimage under ⁻¹ of its sets.

Equations
@[protected, instance]
def filter.has_neg {α : Type u_2} [has_neg α] :

The negation of a filter is the pointwise preimage under - of its sets.

Equations
@[protected, simp]
theorem filter.map_neg {α : Type u_2} [has_neg α] {f : filter α} :
@[protected, simp]
theorem filter.map_inv {α : Type u_2} [has_inv α] {f : filter α} :
theorem filter.mem_inv {α : Type u_2} [has_inv α] {f : filter α} {s : set α} :
theorem filter.mem_neg {α : Type u_2} [has_neg α] {f : filter α} {s : set α} :
@[protected]
theorem filter.neg_le_neg {α : Type u_2} [has_neg α] {f g : filter α} (hf : f g) :
-f -g
@[protected]
theorem filter.inv_le_inv {α : Type u_2} [has_inv α] {f g : filter α} (hf : f g) :
@[simp]
theorem filter.ne_bot_inv_iff {α : Type u_2} [has_inv α] {f : filter α} :
@[simp]
theorem filter.ne_bot_neg_iff {α : Type u_2} [has_neg α] {f : filter α} :
theorem filter.ne_bot.neg {α : Type u_2} [has_neg α] {f : filter α} :
f.ne_bot → (-f).ne_bot
theorem filter.ne_bot.inv {α : Type u_2} [has_inv α] {f : filter α} :
theorem filter.neg_mem_neg {α : Type u_2} [has_involutive_neg α] {f : filter α} {s : set α} (hs : s f) :
-s -f
theorem filter.inv_mem_inv {α : Type u_2} [has_involutive_inv α] {f : filter α} {s : set α} (hs : s f) :
theorem filter.map_neg' {F : Type u_1} {α : Type u_2} {β : Type u_3} [add_group α] [add_group β] [add_monoid_hom_class F α β] (m : F) {f : filter α} :
theorem filter.map_inv' {F : Type u_1} {α : Type u_2} {β : Type u_3} [group α] [group β] [monoid_hom_class F α β] (m : F) {f : filter α} :
theorem filter.tendsto.neg_neg {F : Type u_1} {α : Type u_2} {β : Type u_3} [add_group α] [add_group β] [add_monoid_hom_class F α β] (m : F) {f₁ : filter α} {f₂ : filter β} :
filter.tendsto m f₁ f₂filter.tendsto m (-f₁) (-f₂)
theorem filter.tendsto.inv_inv {F : Type u_1} {α : Type u_2} {β : Type u_3} [group α] [group β] [monoid_hom_class F α β] (m : F) {f₁ : filter α} {f₂ : filter β} :

Filter subtraction/division #

@[protected, instance]
def filter.has_sub {α : Type u_2} [has_sub α] :
Equations
@[protected, instance]
def filter.has_div {α : Type u_2} [has_div α] :
Equations
@[simp]
theorem filter.map₂_sub {α : Type u_2} [has_sub α] {f g : filter α} :
@[simp]
theorem filter.map₂_div {α : Type u_2} [has_div α] {f g : filter α} :
theorem filter.mem_sub {α : Type u_2} [has_sub α] {f g : filter α} {s : set α} :
s f - g ∃ (t₁ t₂ : set α), t₁ f t₂ g t₁ - t₂ s
theorem filter.mem_div {α : Type u_2} [has_div α] {f g : filter α} {s : set α} :
s f / g ∃ (t₁ t₂ : set α), t₁ f t₂ g t₁ / t₂ s
theorem filter.div_mem_div {α : Type u_2} [has_div α] {f g : filter α} {s t : set α} :
s ft gs / t f / g
theorem filter.sub_mem_sub {α : Type u_2} [has_sub α] {f g : filter α} {s t : set α} :
s ft gs - t f - g
@[simp]
theorem filter.bot_sub {α : Type u_2} [has_sub α] {g : filter α} :
@[simp]
theorem filter.bot_div {α : Type u_2} [has_div α] {g : filter α} :
@[simp]
theorem filter.div_bot {α : Type u_2} [has_div α] {f : filter α} :
@[simp]
theorem filter.sub_bot {α : Type u_2} [has_sub α] {f : filter α} :
@[simp]
theorem filter.sub_eq_bot_iff {α : Type u_2} [has_sub α] {f g : filter α} :
f - g = f = g =
@[simp]
theorem filter.div_eq_bot_iff {α : Type u_2} [has_div α] {f g : filter α} :
f / g = f = g =
@[simp]
theorem filter.div_ne_bot_iff {α : Type u_2} [has_div α] {f g : filter α} :
@[simp]
theorem filter.sub_ne_bot_iff {α : Type u_2} [has_sub α] {f g : filter α} :
theorem filter.ne_bot.sub {α : Type u_2} [has_sub α] {f g : filter α} :
f.ne_botg.ne_bot(f - g).ne_bot
theorem filter.ne_bot.div {α : Type u_2} [has_div α] {f g : filter α} :
f.ne_botg.ne_bot(f / g).ne_bot
@[protected, simp]
theorem filter.le_sub_iff {α : Type u_2} [has_sub α] {f g h : filter α} :
h f - g ∀ ⦃s : set α⦄, s f∀ ⦃t : set α⦄, t gs - t h
@[protected, simp]
theorem filter.le_div_iff {α : Type u_2} [has_div α] {f g h : filter α} :
h f / g ∀ ⦃s : set α⦄, s f∀ ⦃t : set α⦄, t gs / t h
@[protected]
theorem filter.div_le_div {α : Type u_2} [has_div α] {f₁ f₂ g₁ g₂ : filter α} :
f₁ f₂g₁ g₂f₁ / g₁ f₂ / g₂
@[protected]
theorem filter.sub_le_sub {α : Type u_2} [has_sub α] {f₁ f₂ g₁ g₂ : filter α} :
f₁ f₂g₁ g₂f₁ - g₁ f₂ - g₂
@[protected]
theorem filter.div_le_div_left {α : Type u_2} [has_div α] {f g₁ g₂ : filter α} :
g₁ g₂f / g₁ f / g₂
@[protected]
theorem filter.sub_le_sub_left {α : Type u_2} [has_sub α] {f g₁ g₂ : filter α} :
g₁ g₂f - g₁ f - g₂
@[protected]
theorem filter.div_le_div_right {α : Type u_2} [has_div α] {f₁ f₂ g : filter α} :
f₁ f₂f₁ / g f₂ / g
@[protected]
theorem filter.sub_le_sub_right {α : Type u_2} [has_sub α] {f₁ f₂ g : filter α} :
f₁ f₂f₁ - g f₂ - g
@[protected, instance]
@[protected, instance]
@[protected, instance]
@[protected, instance]
@[protected]
theorem filter.map_sub {F : Type u_1} {α : Type u_2} {β : Type u_3} [add_group α] [add_group β] {f g : filter α} [add_monoid_hom_class F α β] (m : F) :
@[protected]
theorem filter.map_div {F : Type u_1} {α : Type u_2} {β : Type u_3} [group α] [group β] {f g : filter α} [monoid_hom_class F α β] (m : F) :
theorem filter.tendsto.div_div {F : Type u_1} {α : Type u_2} {β : Type u_3} [group α] [group β] [monoid_hom_class F α β] (m : F) {f₁ g₁ : filter α} {f₂ g₂ : filter β} :
filter.tendsto m f₁ f₂filter.tendsto m g₁ g₂filter.tendsto m (f₁ / g₁) (f₂ / g₂)
theorem filter.tendsto.sub_sub {F : Type u_1} {α : Type u_2} {β : Type u_3} [add_group α] [add_group β] [add_monoid_hom_class F α β] (m : F) {f₁ g₁ : filter α} {f₂ g₂ : filter β} :
filter.tendsto m f₁ f₂filter.tendsto m g₁ g₂filter.tendsto m (f₁ - g₁) (f₂ - g₂)
@[protected, instance]
def filter.div_inv_monoid {α : Type u_2} [group α] :

f / g = f * g⁻¹ for all f g : filter α if a / b = a * b⁻¹ for all a b : α.

Equations
@[protected, instance]
def filter.div_inv_monoid' {α : Type u_2} [group_with_zero α] :

f / g = f * g⁻¹ for all f g : filter α if a / b = a * b⁻¹ for all a b : α.

Equations

Scalar addition/multiplication of filters #

@[protected, instance]
def filter.has_vadd {α : Type u_2} {β : Type u_3} [has_vadd α β] :
Equations
@[protected, instance]
def filter.has_scalar {α : Type u_2} {β : Type u_3} [has_scalar α β] :
Equations
@[simp]
theorem filter.map₂_smul {α : Type u_2} {β : Type u_3} [has_scalar α β] {f : filter α} {g : filter β} :
@[simp]
theorem filter.map₂_vadd {α : Type u_2} {β : Type u_3} [has_vadd α β] {f : filter α} {g : filter β} :
theorem filter.mem_smul {α : Type u_2} {β : Type u_3} [has_scalar α β] {f : filter α} {g : filter β} {t : set β} :
t f g ∃ (t₁ : set α) (t₂ : set β), t₁ f t₂ g t₁ t₂ t
theorem filter.mem_vadd {α : Type u_2} {β : Type u_3} [has_vadd α β] {f : filter α} {g : filter β} {t : set β} :
t f +ᵥ g ∃ (t₁ : set α) (t₂ : set β), t₁ f t₂ g t₁ +ᵥ t₂ t
theorem filter.vadd_mem_vadd {α : Type u_2} {β : Type u_3} [has_vadd α β] {f : filter α} {g : filter β} {s : set α} {t : set β} :
s ft gs +ᵥ t f +ᵥ g
theorem filter.smul_mem_smul {α : Type u_2} {β : Type u_3} [has_scalar α β] {f : filter α} {g : filter β} {s : set α} {t : set β} :
s ft gs t f g
@[simp]
theorem filter.bot_smul {α : Type u_2} {β : Type u_3} [has_scalar α β] {g : filter β} :
@[simp]
theorem filter.bot_vadd {α : Type u_2} {β : Type u_3} [has_vadd α β] {g : filter β} :
@[simp]
theorem filter.vadd_bot {α : Type u_2} {β : Type u_3} [has_vadd α β] {f : filter α} :
@[simp]
theorem filter.smul_bot {α : Type u_2} {β : Type u_3} [has_scalar α β] {f : filter α} :
@[simp]
theorem filter.smul_eq_bot_iff {α : Type u_2} {β : Type u_3} [has_scalar α β] {f : filter α} {g : filter β} :
f g = f = g =
@[simp]
theorem filter.vadd_eq_bot_iff {α : Type u_2} {β : Type u_3} [has_vadd α β] {f : filter α} {g : filter β} :
f +ᵥ g = f = g =
@[simp]
theorem filter.smul_ne_bot_iff {α : Type u_2} {β : Type u_3} [has_scalar α β] {f : filter α} {g : filter β} :
@[simp]
theorem filter.vadd_ne_bot_iff {α : Type u_2} {β : Type u_3} [has_vadd α β] {f : filter α} {g : filter β} :
theorem filter.ne_bot.smul {α : Type u_2} {β : Type u_3} [has_scalar α β] {f : filter α} {g : filter β} :
f.ne_botg.ne_bot(f g).ne_bot
theorem filter.ne_bot.vadd {α : Type u_2} {β : Type u_3} [has_vadd α β] {f : filter α} {g : filter β} :
f.ne_botg.ne_bot(f +ᵥ g).ne_bot
@[simp]
theorem filter.le_vadd_iff {α : Type u_2} {β : Type u_3} [has_vadd α β] {f : filter α} {g h : filter β} :
h f +ᵥ g ∀ ⦃s : set α⦄, s f∀ ⦃t : set β⦄, t gs +ᵥ t h
@[simp]
theorem filter.le_smul_iff {α : Type u_2} {β : Type u_3} [has_scalar α β] {f : filter α} {g h : filter β} :
h f g ∀ ⦃s : set α⦄, s f∀ ⦃t : set β⦄, t gs t h
theorem filter.smul_le_smul {α : Type u_2} {β : Type u_3} [has_scalar α β] {f₁ f₂ : filter α} {g₁ g₂ : filter β} :
f₁ f₂g₁ g₂f₁ g₁ f₂ g₂
theorem filter.vadd_le_vadd {α : Type u_2} {β : Type u_3} [has_vadd α β] {f₁ f₂ : filter α} {g₁ g₂ : filter β} :
f₁ f₂g₁ g₂f₁ +ᵥ g₁ f₂ +ᵥ g₂
theorem filter.vadd_le_vadd_left {α : Type u_2} {β : Type u_3} [has_vadd α β] {f : filter α} {g₁ g₂ : filter β} :
g₁ g₂f +ᵥ g₁ f +ᵥ g₂
theorem filter.smul_le_smul_left {α : Type u_2} {β : Type u_3} [has_scalar α β] {f : filter α} {g₁ g₂ : filter β} :
g₁ g₂f g₁ f g₂
theorem filter.smul_le_smul_right {α : Type u_2} {β : Type u_3} [has_scalar α β] {f₁ f₂ : filter α} {g : filter β} :
f₁ f₂f₁ g f₂ g
theorem filter.vadd_le_vadd_right {α : Type u_2} {β : Type u_3} [has_vadd α β] {f₁ f₂ : filter α} {g : filter β} :
f₁ f₂f₁ +ᵥ g f₂ +ᵥ g
@[protected, instance]
def filter.covariant_vadd {α : Type u_2} {β : Type u_3} [has_vadd α β] :
@[protected, instance]
def filter.covariant_smul {α : Type u_2} {β : Type u_3} [has_scalar α β] :
@[protected, instance]
def filter.add_action {α : Type u_2} {β : Type u_3} [add_monoid α] [add_action α β] :
Equations
@[protected, instance]
def filter.mul_action {α : Type u_2} {β : Type u_3} [monoid α] [mul_action α β] :
Equations

Scalar subtraction of filters #

@[protected, instance]
def filter.has_vsub {α : Type u_2} {β : Type u_3} [has_vsub α β] :
Equations
@[simp]
theorem filter.map₂_vsub {α : Type u_2} {β : Type u_3} [has_vsub α β] {f g : filter β} :
theorem filter.mem_vsub {α : Type u_2} {β : Type u_3} [has_vsub α β] {f g : filter β} {s : set α} :
s f -ᵥ g ∃ (t₁ t₂ : set β), t₁ f t₂ g t₁ -ᵥ t₂ s
theorem filter.vsub_mem_vsub {α : Type u_2} {β : Type u_3} [has_vsub α β] {f g : filter β} {s t : set β} :
s ft gs -ᵥ t f -ᵥ g
@[simp]
theorem filter.bot_vsub {α : Type u_2} {β : Type u_3} [has_vsub α β] {g : filter β} :
@[simp]
theorem filter.vsub_bot {α : Type u_2} {β : Type u_3} [has_vsub α β] {f : filter β} :
@[simp]
theorem filter.vsub_eq_bot_iff {α : Type u_2} {β : Type u_3} [has_vsub α β] {f g : filter β} :
f -ᵥ g = f = g =
@[simp]
theorem filter.vsub_ne_bot_iff {α : Type u_2} {β : Type u_3} [has_vsub α β] {f g : filter β} :
theorem filter.ne_bot.vsub {α : Type u_2} {β : Type u_3} [has_vsub α β] {f g : filter β} :
f.ne_botg.ne_bot(f -ᵥ g).ne_bot
@[simp]
theorem filter.le_vsub_iff {α : Type u_2} {β : Type u_3} [has_vsub α β] {f g : filter β} {h : filter α} :
h f -ᵥ g ∀ ⦃s : set β⦄, s f∀ ⦃t : set β⦄, t gs -ᵥ t h
theorem filter.vsub_le_vsub {α : Type u_2} {β : Type u_3} [has_vsub α β] {f₁ f₂ g₁ g₂ : filter β} :
f₁ f₂g₁ g₂f₁ -ᵥ g₁ f₂ -ᵥ g₂
theorem filter.vsub_le_vsub_left {α : Type u_2} {β : Type u_3} [has_vsub α β] {f g₁ g₂ : filter β} :
g₁ g₂f -ᵥ g₁ f -ᵥ g₂
theorem filter.vsub_le_vsub_right {α : Type u_2} {β : Type u_3} [has_vsub α β] {f₁ f₂ g : filter β} :
f₁ f₂f₁ -ᵥ g f₂ -ᵥ g

Translation/scaling of filters #

@[protected, instance]
def filter.has_vadd_filter {α : Type u_2} {β : Type u_3} [has_vadd α β] :
Equations
@[protected, instance]
def filter.has_scalar_filter {α : Type u_2} {β : Type u_3} [has_scalar α β] :
Equations
@[simp]
theorem filter.map_smul {α : Type u_2} {β : Type u_3} [has_scalar α β] {f : filter β} {a : α} :
filter.map (λ (b : β), a b) f = a f
@[simp]
theorem filter.map_vadd {α : Type u_2} {β : Type u_3} [has_vadd α β] {f : filter β} {a : α} :
filter.map (λ (b : β), a +ᵥ b) f = a +ᵥ f
theorem filter.mem_smul_filter {α : Type u_2} {β : Type u_3} [has_scalar α β] {f : filter β} {s : set β} {a : α} :
theorem filter.mem_vadd_filter {α : Type u_2} {β : Type u_3} [has_vadd α β] {f : filter β} {s : set β} {a : α} :
theorem filter.vadd_set_mem_vadd_filter {α : Type u_2} {β : Type u_3} [has_vadd α β] {f : filter β} {s : set β} {a : α} :
s fa +ᵥ s a +ᵥ f
theorem filter.smul_set_mem_smul_filter {α : Type u_2} {β : Type u_3} [has_scalar α β] {f : filter β} {s : set β} {a : α} :
s fa s a f
@[simp]
theorem filter.smul_filter_bot {α : Type u_2} {β : Type u_3} [has_scalar α β] {a : α} :
@[simp]
theorem filter.vadd_filter_bot {α : Type u_2} {β : Type u_3} [has_vadd α β] {a : α} :
@[simp]
theorem filter.vadd_filter_eq_bot_iff {α : Type u_2} {β : Type u_3} [has_vadd α β] {f : filter β} {a : α} :
a +ᵥ f = f =
@[simp]
theorem filter.smul_filter_eq_bot_iff {α : Type u_2} {β : Type u_3} [has_scalar α β] {f : filter β} {a : α} :
a f = f =
@[simp]
theorem filter.smul_filter_ne_bot_iff {α : Type u_2} {β : Type u_3} [has_scalar α β] {f : filter β} {a : α} :
@[simp]
theorem filter.vadd_filter_ne_bot_iff {α : Type u_2} {β : Type u_3} [has_vadd α β] {f : filter β} {a : α} :
theorem filter.ne_bot.vadd_filter {α : Type u_2} {β : Type u_3} [has_vadd α β] {f : filter β} {a : α} :
f.ne_bot(a +ᵥ f).ne_bot
theorem filter.ne_bot.smul_filter {α : Type u_2} {β : Type u_3} [has_scalar α β] {f : filter β} {a : α} :
f.ne_bot(a f).ne_bot
theorem filter.smul_filter_le_smul_filter {α : Type u_2} {β : Type u_3} [has_scalar α β] {f₁ f₂ : filter β} {a : α} (hf : f₁ f₂) :
a f₁ a f₂
theorem filter.vadd_filter_le_vadd_filter {α : Type u_2} {β : Type u_3} [has_vadd α β] {f₁ f₂ : filter β} {a : α} (hf : f₁ f₂) :
a +ᵥ f₁ a +ᵥ f₂
@[protected, instance]
def filter.covariant_smul_filter {α : Type u_2} {β : Type u_3} [has_scalar α β] :
@[protected, instance]
def filter.covariant_vadd_filter {α : Type u_2} {β : Type u_3} [has_vadd α β] :
@[protected, instance]
def filter.smul_comm_class_filter {α : Type u_2} {β : Type u_3} {γ : Type u_4} [has_scalar α γ] [has_scalar β γ] [smul_comm_class α β γ] :
@[protected, instance]
def filter.vadd_comm_class_filter {α : Type u_2} {β : Type u_3} {γ : Type u_4} [has_vadd α γ] [has_vadd β γ] [vadd_comm_class α β γ] :
@[protected, instance]
def filter.smul_comm_class_filter' {α : Type u_2} {β : Type u_3} {γ : Type u_4} [has_scalar α γ] [has_scalar β γ] [smul_comm_class α β γ] :
@[protected, instance]
def filter.vadd_comm_class_filter' {α : Type u_2} {β : Type u_3} {γ : Type u_4} [has_vadd α γ] [has_vadd β γ] [vadd_comm_class α β γ] :
@[protected, instance]
def filter.vadd_comm_class {α : Type u_2} {β : Type u_3} {γ : Type u_4} [has_vadd α γ] [has_vadd β γ] [vadd_comm_class α β γ] :
@[protected, instance]
def filter.smul_comm_class {α : Type u_2} {β : Type u_3} {γ : Type u_4} [has_scalar α γ] [has_scalar β γ] [smul_comm_class α β γ] :
@[protected, instance]
def filter.is_scalar_tower {α : Type u_2} {β : Type u_3} {γ : Type u_4} [has_scalar α β] [has_scalar α γ] [has_scalar β γ] [is_scalar_tower α β γ] :
@[protected, instance]
def filter.is_scalar_tower' {α : Type u_2} {β : Type u_3} {γ : Type u_4} [has_scalar α β] [has_scalar α γ] [has_scalar β γ] [is_scalar_tower α β γ] :
@[protected, instance]
def filter.is_scalar_tower'' {α : Type u_2} {β : Type u_3} {γ : Type u_4} [has_scalar α β] [has_scalar α γ] [has_scalar β γ] [is_scalar_tower α β γ] :
@[protected, instance]
def filter.is_central_scalar {α : Type u_2} {β : Type u_3} [has_scalar α β] [has_scalar αᵐᵒᵖ β] [is_central_scalar α β] :