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 + twheres ∈ fandt ∈ g.f * g(filter.has_mul): Multiplication, filter generated by alls * twheres ∈ fandt ∈ g.-f(filter.has_neg): Negation, filter of all-swheres ∈ f.f⁻¹(filter.has_inv): Inversion, filter of allx⁻¹wheres ∈ f.f - g(filter.has_sub): Subtraction, filter generated by allx - ywheres ∈ fandt ∈ g.f / g(filter.has_div): Division, filter generated by allx / ywheres ∈ fandt ∈ g.f +ᵥ g(filter.has_vadd): Scalar addition, filter generated by allx +ᵥ ywheres ∈ fandt ∈ g.f -ᵥ g(filter.has_vsub): Scalar subtraction, filter generated by allx -ᵥ ywheres ∈ fandt ∈ g.f • g(filter.has_smul): Scalar multiplication, filter generated by allx • ywheres ∈ fandt ∈ g.a +ᵥ f(filter.has_vadd_filter): Translation, filter of alla +ᵥ xwheres ∈ f.a • f(filter.has_smul_filter): Scaling, filter of alla • swheres ∈ 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)}