Pointwise action on sets #
This file proves that several kinds of actions of a type α on another type β transfer to actions
of α/Set α on Set β.
Implementation notes #
- We put all instances in the locale
Pointwise, so that these instances are not available by default. Note that we do not mark them as reducible (as argued by note [reducible non-instances]) since we expect the locale to be open whenever the instances are actually used (and making the instances reducible changes the behavior ofsimp.
Translation/scaling of sets #
A multiplicative action of a monoid on a type β gives a multiplicative action on Set β.
Equations
Instances For
If scalar multiplication by elements of α sends (0 : β) to zero,
then the same is true for (0 : Set β).
Equations
Instances For
If the scalar multiplication (· • ·) : α → β → β is distributive,
then so is (· • ·) : α → Set β → Set β.
Equations
Instances For
A distributive multiplicative action of a monoid on an additive monoid β gives a distributive
multiplicative action on Set β.
Equations
Instances For
A multiplicative action of a monoid on a monoid β gives a multiplicative action on Set β.
Equations
Instances For
Note that we have neither SMulWithZero α (Set β) nor SMulWithZero (Set α) (Set β)
because 0 * ∅ ≠ 0.
A nonempty set is scaled by zero to the singleton set containing 0.
Any intersection of translates of two sets s and t can be covered by a single translate of
(s⁻¹ * s) ∩ (t⁻¹ * t).
This is useful to show that the intersection of approximate subgroups is an approximate subgroup.
Any intersection of translates of two sets s and t can be covered by a single translate of
(-s + s) ∩ (-t + t).
This is useful to show that the intersection of approximate subgroups is an approximate subgroup.