Pointwise operations of sets #
This file defines pointwise algebraic operations on sets.
Main declarations #
For sets s and t and scalar a:
s • t: Scalar multiplication, set of allx • ywherex ∈ sandy ∈ t.s +ᵥ t: Scalar addition, set of allx +ᵥ ywherex ∈ sandy ∈ t.s -ᵥ t: Scalar subtraction, set of allx -ᵥ ywherex ∈ sandy ∈ t.a • s: Scaling, set of alla • xwherex ∈ s.a +ᵥ s: Translation, set of alla +ᵥ xwherex ∈ s.
For α a semigroup/monoid, Set α is a semigroup/monoid.
Appropriate definitions and results are also transported to the additive theory via to_additive.
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 #
Equations
- (_ : VAddCommClass α β (Set γ)) = (_ : VAddCommClass α β (Set γ))
Equations
- (_ : SMulCommClass α β (Set γ)) = (_ : SMulCommClass α β (Set γ))
Equations
- (_ : VAddCommClass α (Set β) (Set γ)) = (_ : VAddCommClass α (Set β) (Set γ))
Equations
- (_ : SMulCommClass α (Set β) (Set γ)) = (_ : SMulCommClass α (Set β) (Set γ))
Equations
- (_ : VAddCommClass (Set α) β (Set γ)) = (_ : VAddCommClass (Set α) β (Set γ))
Equations
- (_ : SMulCommClass (Set α) β (Set γ)) = (_ : SMulCommClass (Set α) β (Set γ))
Equations
- (_ : VAddCommClass (Set α) (Set β) (Set γ)) = (_ : VAddCommClass (Set α) (Set β) (Set γ))
Equations
- (_ : SMulCommClass (Set α) (Set β) (Set γ)) = (_ : SMulCommClass (Set α) (Set β) (Set γ))
Equations
- (_ : VAddAssocClass α β (Set γ)) = (_ : VAddAssocClass α β (Set γ))
Equations
- (_ : IsScalarTower α β (Set γ)) = (_ : IsScalarTower α β (Set γ))
Equations
- (_ : VAddAssocClass α (Set β) (Set γ)) = (_ : VAddAssocClass α (Set β) (Set γ))
Equations
- (_ : IsScalarTower α (Set β) (Set γ)) = (_ : IsScalarTower α (Set β) (Set γ))
Equations
- (_ : VAddAssocClass (Set α) (Set β) (Set γ)) = (_ : VAddAssocClass (Set α) (Set β) (Set γ))
Equations
- (_ : IsScalarTower (Set α) (Set β) (Set γ)) = (_ : IsScalarTower (Set α) (Set β) (Set γ))
Equations
- (_ : IsCentralVAdd α (Set β)) = (_ : IsCentralVAdd α (Set β))
Equations
- (_ : IsCentralScalar α (Set β)) = (_ : IsCentralScalar α (Set β))
If scalar multiplication by elements of α sends (0 : β) to zero,
then the same is true for (0 : Set β).
Equations
- Set.smulZeroClassSet = SMulZeroClass.mk (_ : ∀ (x : α), (fun (x_1 : β) => x • x_1) '' {0} = 0)
Instances For
If the scalar multiplication (· • ·) : α → β → β is distributive,
then so is (· • ·) : α → Set β → Set β.
Equations
- One or more equations did not get rendered due to their size.
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
- One or more equations did not get rendered due to their size.
Instances For
Equations
- (_ : NoZeroSMulDivisors (Set α) (Set β)) = (_ : NoZeroSMulDivisors (Set α) (Set β))
Equations
- (_ : NoZeroSMulDivisors α (Set β)) = (_ : NoZeroSMulDivisors α (Set β))
Equations
- (_ : NoZeroDivisors (Set α)) = (_ : NoZeroDivisors (Set α))
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.
Equations
- (_ : motive hs) = (_ : motive hs)