Pointwise operations of finsets #
This file defines pointwise algebraic operations on finsets.
Main declarations #
For finsets s and t:
0(Finset.zero): The singleton{0}.1(Finset.one): The singleton{1}.-s(Finset.neg): Negation, finset of all-xwherex ∈ s.s⁻¹(Finset.inv): Inversion, finset of allx⁻¹wherex ∈ s.s + t(Finset.add): Addition, finset of allx + ywherex ∈ sandy ∈ t.s * t(Finset.mul): Multiplication, finset of allx * ywherex ∈ sandy ∈ t.s - t(Finset.sub): Subtraction, finset of allx - ywherex ∈ sandy ∈ t.s / t(Finset.div): Division, finset of allx / ywherex ∈ sandy ∈ t.
For α a semigroup/monoid, Finset α 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].
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 of simp.
Tags #
finset multiplication, finset addition, pointwise addition, pointwise multiplication, pointwise subtraction
0/1 as finsets #
Lift a OneHom to Finset via image.
Equations
Instances For
Lift a ZeroHom to Finset via image
Equations
Instances For
Finset negation/inversion #
The pointwise inversion of finset s⁻¹ is defined as {x⁻¹ | x ∈ s} in locale Pointwise.
Equations
Instances For
The pointwise negation of finset -s is defined as {-x | x ∈ s} in locale Pointwise.
Equations
Instances For
Alias of the reverse direction of Finset.inv_nonempty_iff.
Alias of the forward direction of Finset.inv_nonempty_iff.
Finset addition/multiplication #
The pointwise multiplication of finsets s * t and t is defined as {x * y | x ∈ s, y ∈ t}
in locale Pointwise.
Equations
Instances For
The pointwise addition of finsets s + t is defined as {x + y | x ∈ s, y ∈ t} in
locale Pointwise.
Equations
Instances For
If a finset u is contained in the product of two sets s * t, we can find two finsets s',
t' such that s' ⊆ s, t' ⊆ t and u ⊆ s' * t'.
If a finset u is contained in the sum of two sets s + t, we can find two finsets
s', t' such that s' ⊆ s, t' ⊆ t and u ⊆ s' + t'.
Lift a MulHom to Finset via image.
Equations
Instances For
Lift an AddHom to Finset via image
Equations
Instances For
See card_le_card_mul_left for a more convenient but less general version for types with a
left-cancellative multiplication.
See card_le_card_add_left for a more convenient but less general version for types with a
left-cancellative addition.
See card_le_card_mul_right for a more convenient but less general version for types with a
right-cancellative multiplication.
See card_le_card_add_right for a more convenient but less general version for types with a
right-cancellative addition.
Finset subtraction/division #
The pointwise division of finsets s / t is defined as {x / y | x ∈ s, y ∈ t} in locale
Pointwise.
Equations
Instances For
The pointwise subtraction of finsets s - t is defined as {x - y | x ∈ s, y ∈ t}
in locale Pointwise.
Equations
Instances For
Alias of Finset.card_div_le.
If a finset u is contained in the product of two sets s / t, we can find two finsets s',
t' such that s' ⊆ s, t' ⊆ t and u ⊆ s' / t'.
If a finset u is contained in the sum of two sets s - t, we can find two finsets
s', t' such that s' ⊆ s, t' ⊆ t and u ⊆ s' - t'.
Instances #
Repeated pointwise addition (not the same as pointwise repeated addition!) of a Finset. See
note [pointwise nat action].
Equations
Instances For
Repeated pointwise multiplication (not the same as pointwise repeated multiplication!) of a
Finset. See note [pointwise nat action].
Equations
Instances For
Finset α is an AddCommSemigroup under pointwise operations if α is.
Equations
Instances For
Lift a MonoidHom to Finset via image.
Equations
Instances For
Lift an add_monoid_hom to Finset via image
Equations
Instances For
Finset α is a division monoid under pointwise operations if α is.
Equations
Instances For
Finset α is a subtraction monoid under pointwise operations if α is.
Equations
Instances For
Finset α is a commutative division monoid under pointwise operations if α is.
Equations
Instances For
Finset α is a commutative subtraction monoid under pointwise operations if α is.
Equations
Instances For
Alias of Finset.zero_notMem_sub_iff.
Alias of Finset.one_notMem_div_iff.
Alias of Finset.zero_notMem_neg_add_iff.
Alias of Finset.one_notMem_inv_mul_iff.
The size of s * s is at least the size of s, version with left-cancellative multiplication.
See card_le_card_mul_self' for the version with right-cancellative multiplication.
The size of s + s is at least the size of s, version with left-cancellative addition.
See card_le_card_add_self' for the version with right-cancellative addition.
The size of s * s is at least the size of s, version with right-cancellative multiplication.
See card_le_card_mul_self for the version with left-cancellative multiplication.
The size of s + s is at least the size of s, version with right-cancellative addition.
See card_le_card_add_self for the version with left-cancellative addition.
See Finset.card_pow_mono for a version that works for the empty set.
See Finset.card_nsmul_mono for a version that works for the empty set.
See Finset.Nonempty.card_pow_mono for a version that works for zero powers.
See Finset.Nonempty.card_nsmul_mono for a version that works for zero scalars.