e-transforms #
e-transforms are a family of transformations of pairs of finite sets that aim to reduce the size of the sumset while keeping some invariant the same. This file defines a few of them, to be used as internals of other proofs.
Main declarations #
Finset.mulDysonETransform
: The Dyson e-transform. Replaces(s, t)
by(s ∪ e • t, t ∩ e⁻¹ • s)
. The additive version preserves|s ∩ [1, m]| + |t ∩ [1, m - e]|
.Finset.mulETransformLeft
/Finset.mulETransformRight
: Replace(s, t)
by(s ∩ s • e, t ∪ e⁻¹ • t)
and(s ∪ s • e, t ∩ e⁻¹ • t)
. Preserve (together) the sum of the cardinalities (seeFinset.MulETransform.card
). In particular, one of the two transforms increases the sum of the cardinalities and the other one decreases it. Seele_or_lt_of_add_le_add
and around.
TODO #
Prove the invariance property of the Dyson e-transform.
Dyson e-transform #
The Dyson e-transform. Turns (s, t)
into (s ∪ e • t, t ∩ e⁻¹ • s)
. This reduces the
product of the two sets.
Instances For
The Dyson e-transform.
Turns (s, t)
into (s ∪ e +ᵥ t, t ∩ -e +ᵥ s)
. This reduces the sum of the two sets.
Instances For
Two unnamed e-transforms #
The following two transforms both reduce the product/sum of the two sets. Further, one of them must decrease the sum of the size of the sets (and then the other increases it).
This pair of transforms doesn't seem to be named in the literature. It is used by Sanders in his bound on Roth numbers, and by DeVos in his proof of Cauchy-Davenport.
An e-transform. Turns (s, t)
into (s ∩ s • e, t ∪ e⁻¹ • t)
. This reduces the
product of the two sets.
Equations
- Finset.mulETransformLeft e x = (x.1 ∩ MulOpposite.op e • x.1, x.2 ∪ e⁻¹ • x.2)
Instances For
An e-transform.
Turns (s, t)
into (s ∩ s +ᵥ e, t ∪ -e +ᵥ t)
. This reduces the sum of the two sets.
Equations
- Finset.addETransformLeft e x = (x.1 ∩ (AddOpposite.op e +ᵥ x.1), x.2 ∪ (-e +ᵥ x.2))
Instances For
An e-transform. Turns (s, t)
into (s ∪ s • e, t ∩ e⁻¹ • t)
. This reduces the
product of the two sets.
Equations
- Finset.mulETransformRight e x = (x.1 ∪ MulOpposite.op e • x.1, x.2 ∩ e⁻¹ • x.2)
Instances For
An e-transform.
Turns (s, t)
into (s ∪ s +ᵥ e, t ∩ -e +ᵥ t)
. This reduces the sum of the two sets.
Equations
- Finset.addETransformRight e x = (x.1 ∪ (AddOpposite.op e +ᵥ x.1), x.2 ∩ (-e +ᵥ x.2))
Instances For
This statement is meant to be combined with le_or_lt_of_add_le_add
and similar lemmas.
This statement is meant to be combined with
le_or_lt_of_add_le_add
and similar lemmas.