Pointwise operations on filters #
This file defines pointwise operations on filters. This is useful because usual algebraic operations distribute over pointwise operations. For example,
(f₁ * f₂).map m = f₁.map m * f₂.map m
𝓝 (x * y) = 𝓝 x * 𝓝 y
Main declarations #
0
(filter.has_zero
): Principal filter at0 : α
.1
(filter.has_one
): Principal filter at1 : α
.f + g
(filter.has_add
): Addition, filter generated by alls + t
wheres ∈ f
andt ∈ g
.f * g
(filter.has_mul
): Multiplication, filter generated by alls * t
wheres ∈ f
andt ∈ g
.-f
(filter.has_neg
): Negation, filter of all-s
wheres ∈ f
.f⁻¹
(filter.has_inv
): Inversion, filter of allx⁻¹
wheres ∈ f
.f - g
(filter.has_sub
): Subtraction, filter generated by allx - y
wheres ∈ f
andt ∈ g
.f / g
(filter.has_div
): Division, filter generated by allx / y
wheres ∈ f
andt ∈ g
.f +ᵥ g
(filter.has_vadd
): Scalar addition, filter generated by allx +ᵥ y
wheres ∈ f
andt ∈ g
.f -ᵥ g
(filter.has_vsub
): Scalar subtraction, filter generated by allx -ᵥ y
wheres ∈ f
andt ∈ g
.f • g
(filter.has_smul
): Scalar multiplication, filter generated by allx • y
wheres ∈ f
andt ∈ g
.a +ᵥ f
(filter.has_vadd_filter
): Translation, filter of alla +ᵥ x
wheres ∈ f
.a • f
(filter.has_smul_filter
): Scaling, filter of alla • s
wheres ∈ f
.
Tags #
filter multiplication, filter addition, pointwise addition, pointwise multiplication,
0
/1
as filters #
Filter addition/multiplication #
Equations
Equations
Equations
- filter.semigroup = {mul := has_mul.mul filter.has_mul, mul_assoc := _}
Equations
- filter.add_semigroup = {add := has_add.add filter.has_add, add_assoc := _}
Equations
- filter.comm_semigroup = {mul := semigroup.mul filter.semigroup, mul_assoc := _, mul_comm := _}
Equations
- filter.add_comm_semigroup = {add := add_semigroup.add filter.add_semigroup, add_assoc := _, add_comm := _}
Equations
- filter.add_zero_class = {zero := 0, add := has_add.add filter.has_add, zero_add := _, add_zero := _}
Equations
- filter.mul_one_class = {one := 1, mul := has_mul.mul filter.has_mul, one_mul := _, mul_one := _}
Equations
- filter.add_monoid = {add := add_zero_class.add filter.add_zero_class, add_assoc := _, zero := add_zero_class.zero filter.add_zero_class, zero_add := _, add_zero := _, nsmul := nsmul_rec (add_zero_class.to_has_add (filter α)), nsmul_zero' := _, nsmul_succ' := _}
Equations
- filter.monoid = {mul := mul_one_class.mul filter.mul_one_class, mul_assoc := _, one := mul_one_class.one filter.mul_one_class, one_mul := _, mul_one := _, npow := npow_rec (mul_one_class.to_has_mul (filter α)), npow_zero' := _, npow_succ' := _}
Equations
- filter.comm_monoid = {mul := mul_one_class.mul filter.mul_one_class, mul_assoc := _, one := mul_one_class.one filter.mul_one_class, one_mul := _, mul_one := _, npow := monoid.npow._default mul_one_class.one mul_one_class.mul filter.comm_monoid._proof_4 filter.comm_monoid._proof_5, npow_zero' := _, npow_succ' := _, mul_comm := _}
Equations
- filter.add_comm_monoid = {add := add_zero_class.add filter.add_zero_class, add_assoc := _, zero := add_zero_class.zero filter.add_zero_class, zero_add := _, add_zero := _, nsmul := add_monoid.nsmul._default add_zero_class.zero add_zero_class.add filter.add_comm_monoid._proof_4 filter.add_comm_monoid._proof_5, nsmul_zero' := _, nsmul_succ' := _, add_comm := _}
If φ : α →+ β
then map_add_monoid_hom φ
is the monoid homomorphism
filter α →+ filter β
induced by map φ
.
Equations
- filter.map_add_monoid_hom φ = {to_fun := filter.map ⇑φ, map_zero' := _, map_add' := _}
If φ : α →* β
then map_monoid_hom φ
is the monoid homomorphism
filter α →* filter β
induced by map φ
.
Equations
- filter.map_monoid_hom φ = {to_fun := filter.map ⇑φ, map_one' := _, map_mul' := _}
Filter negation/inversion #
The inverse of a filter is the pointwise preimage under ⁻¹
of its sets.
Equations
The negation of a filter is the pointwise preimage under -
of its sets.
Equations
Equations
Filter subtraction/division #
Equations
Equations
f - g = f + -g
for all f g : filter α
if a - b = a + -b
for all a b : α
.
Equations
- filter.sub_neg_add_monoid = {add := add_monoid.add filter.add_monoid, add_assoc := _, zero := add_monoid.zero filter.add_monoid, zero_add := _, add_zero := _, nsmul := add_monoid.nsmul filter.add_monoid, nsmul_zero' := _, nsmul_succ' := _, neg := has_neg.neg filter.has_neg, sub := has_sub.sub filter.has_sub, sub_eq_add_neg := _, zsmul := zsmul_rec {neg := has_neg.neg filter.has_neg}, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _}
f / g = f * g⁻¹
for all f g : filter α
if a / b = a * b⁻¹
for all a b : α
.
Equations
- filter.div_inv_monoid = {mul := monoid.mul filter.monoid, mul_assoc := _, one := monoid.one filter.monoid, one_mul := _, mul_one := _, npow := monoid.npow filter.monoid, npow_zero' := _, npow_succ' := _, inv := has_inv.inv filter.has_inv, div := has_div.div filter.has_div, div_eq_mul_inv := _, zpow := zpow_rec {inv := has_inv.inv filter.has_inv}, zpow_zero' := _, zpow_succ' := _, zpow_neg' := _}
f / g = f * g⁻¹
for all f g : filter α
if a / b = a * b⁻¹
for all a b : α
.
Equations
- filter.div_inv_monoid' = {mul := monoid.mul filter.monoid, mul_assoc := _, one := monoid.one filter.monoid, one_mul := _, mul_one := _, npow := monoid.npow filter.monoid, npow_zero' := _, npow_succ' := _, inv := has_inv.inv filter.has_inv, div := has_div.div filter.has_div, div_eq_mul_inv := _, zpow := zpow_rec {inv := has_inv.inv filter.has_inv}, zpow_zero' := _, zpow_succ' := _, zpow_neg' := _}
Scalar addition/multiplication of filters #
Equations
Equations
Equations
- filter.add_action = {to_has_vadd := filter.has_vadd add_action.to_has_vadd, zero_vadd := _, add_vadd := _}
Equations
Scalar subtraction of filters #
Equations
Translation/scaling of filters #
Equations
- filter.has_vadd_filter = {vadd := λ (a : α), filter.map (has_vadd.vadd a)}
Equations
- filter.has_scalar_filter = {smul := λ (a : α), filter.map (has_scalar.smul a)}