Pointwise scalar operations of sets #
This file defines pointwise scalar-flavored algebraic operations on sets.
Main declarations #
For sets s
and t
and scalar a
:
s • t
: Scalar multiplication, set of allx • y
wherex ∈ s
andy ∈ t
.s +ᵥ t
: Scalar addition, set of allx +ᵥ y
wherex ∈ s
andy ∈ t
.s -ᵥ t
: Scalar subtraction, set of allx -ᵥ y
wherex ∈ s
andy ∈ t
.a • s
: Scaling, set of alla • x
wherex ∈ s
.a +ᵥ s
: Translation, set of alla +ᵥ x
wherex ∈ s
.
For α
a semigroup/monoid, Set α
is a semigroup/monoid.
As an unfortunate side effect, this means that n • s
, where n : ℕ
, is ambiguous between
pointwise scaling and repeated pointwise addition; the former has (2 : ℕ) • {1, 2} = {2, 4}
, while
the latter has (2 : ℕ) • {1, 2} = {2, 3, 4}
. See note [pointwise nat action].
Appropriate definitions and results are also transported to the additive theory via to_additive
.
Implementation notes #
- The following expressions are considered in simp-normal form in a group:
(fun h ↦ h * g) ⁻¹' s
,(fun h ↦ g * h) ⁻¹' s
,(fun h ↦ h * g⁻¹) ⁻¹' s
,(fun h ↦ g⁻¹ * h) ⁻¹' s
,s * t
,s⁻¹
,(1 : Set _)
(and similarly for additive variants). Expressions equal to one of these will be simplified. - 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
.
Tags #
set multiplication, set addition, pointwise addition, pointwise multiplication, pointwise subtraction