Sets with very small doubling #
For a finset A in a group, its doubling is #(A * A) / #A. This file characterises sets with
- no doubling as the sets which are either empty or translates of a subgroup.
For the converse, use the existing facts from the pointwise API:
∅ ^ 2 = ∅(Finset.empty_pow),(a • H) ^ 2 = a ^ 2 • H ^ 2 = a ^ 2 • H(smul_pow,coe_set_pow). - doubling strictly less than
3 / 2as the sets that are contained in a coset of a subgroup of size strictly less than3 / 2 * #A.
TODO #
- Do we need versions stated using the doubling constant (
Finset.mulConst)? - Add characterisation of sets with doubling < φ. See https://terrytao.wordpress.com/2009/11/10/an-elementary-non-commutative-freiman-theorem.
- Add characterisation of sets with doubling ≤ 2 - ε. See https://terrytao.wordpress.com/2011/03/12/hamidounes-freiman-kneser-theorem-for-nonabelian-groups.
References #
- An elementary non-commutative Freiman theorem, Terence Tao
- [Introduction to approximate groups, Matthew Tointon][tointon2020]
Doubling exactly 1 #
A non-empty set with no doubling is the left translate of its stabilizer.
A non-empty set with no doubling is the left-translate of its stabilizer.
A non-empty set with no doubling is the right translate of its stabilizer.
A non-empty set with no doubling is the right translate of its stabilizer.
Doubling strictly less than 3 / 2 #
If A has doubling strictly less than 3 / 2, then A⁻¹ * A is a subgroup.
Note that this is sharp: A = {0, 1} in ℤ has doubling 3 / 2 and A⁻¹ * A isn't a subgroup.
Instances For
Equations
If A has doubling strictly less than 3 / 2, then there exists a subgroup H of the
normaliser of A of size strictly less than 3 / 2 * #A such that A is a subset of a coset of
H (in fact a subset of a • H for every a ∈ A).
Note that this is sharp: A = {0, 1} in ℤ has doubling 3 / 2 and can't be covered by a subgroup
of size at most 2.
This is Theorem 2.2.1 in [tointon2020].