Approximate subgroups #
This file defines approximate subgroups of a group, namely symmetric sets A such that A * A can
be covered by a small number of translates of A.
Main results #
Approximate subgroups are a central concept in additive combinatorics, as a natural weakening and flexible substitute of genuine subgroups. As such, they share numerous properties with subgroups:
IsApproximateSubgroup.image: Group homomorphisms send approximate subgroups to approximate subgroupsIsApproximateSubgroup.pow_inter_pow: The intersection of (non-trivial powers of) two approximate subgroups is an approximate subgroup. Warning: The intersection of two approximate subgroups isn't an approximate subgroup in general.
Approximate subgroups are close qualitatively and quantitatively to other concepts in additive combinatorics:
IsApproximateSubgroup.card_pow_le: An approximate subgroup has small powers.IsApproximateSubgroup.of_small_tripling: A set of small tripling can be made an approximate subgroup by squaring.
It can be readily confirmed that approximate subgroups are a weakening of subgroups:
isApproximateSubgroup_one: A 1-approximate subgroup is the same thing as a subgroup.
theorem
IsApproximateSubgroup.nonempty
{G : Type u_1}
[Group G]
{A : Set G}
{K : ℝ}
(hA : IsApproximateSubgroup K A)
:
A.Nonempty
theorem
IsApproximateAddSubgroup.nonempty
{G : Type u_1}
[AddGroup G]
{A : Set G}
{K : ℝ}
(hA : IsApproximateAddSubgroup K A)
:
A.Nonempty
theorem
IsApproximateSubgroup.one_le
{G : Type u_1}
[Group G]
{A : Set G}
{K : ℝ}
(hA : IsApproximateSubgroup K A)
:
theorem
IsApproximateAddSubgroup.one_le
{G : Type u_1}
[AddGroup G]
{A : Set G}
{K : ℝ}
(hA : IsApproximateAddSubgroup K A)
:
theorem
IsApproximateSubgroup.mono
{G : Type u_1}
[Group G]
{A : Set G}
{K L : ℝ}
(hKL : K ≤ L)
(hA : IsApproximateSubgroup K A)
:
theorem
IsApproximateAddSubgroup.mono
{G : Type u_1}
[AddGroup G]
{A : Set G}
{K L : ℝ}
(hKL : K ≤ L)
(hA : IsApproximateAddSubgroup K A)
:
theorem
IsApproximateSubgroup.card_mul_self_le
{G : Type u_1}
[Group G]
{K : ℝ}
[DecidableEq G]
{A : Finset G}
(hA : IsApproximateSubgroup K ↑A)
:
theorem
IsApproximateAddSubgroup.card_add_self_le
{G : Type u_1}
[AddGroup G]
{K : ℝ}
[DecidableEq G]
{A : Finset G}
(hA : IsApproximateAddSubgroup K ↑A)
:
theorem
IsApproximateSubgroup.image
{G : Type u_1}
[Group G]
{A : Set G}
{K : ℝ}
{F : Type u_2}
{H : Type u_3}
[Group H]
[FunLike F G H]
[MonoidHomClass F G H]
(f : F)
(hA : IsApproximateSubgroup K A)
:
IsApproximateSubgroup K (⇑f '' A)
theorem
IsApproximateAddSubgroup.image
{G : Type u_1}
[AddGroup G]
{A : Set G}
{K : ℝ}
{F : Type u_2}
{H : Type u_3}
[AddGroup H]
[FunLike F G H]
[AddMonoidHomClass F G H]
(f : F)
(hA : IsApproximateAddSubgroup K A)
:
IsApproximateAddSubgroup K (⇑f '' A)
theorem
IsApproximateSubgroup.subgroup
{G : Type u_1}
[Group G]
{S : Type u_2}
[SetLike S G]
[SubgroupClass S G]
{H : S}
:
theorem
IsApproximateAddSubgroup.addSubgroup
{G : Type u_1}
[AddGroup G]
{S : Type u_2}
[SetLike S G]
[AddSubgroupClass S G]
{H : S}
:
theorem
IsApproximateAddSubgroup.nsmul_inter_nsmul_covByVAdd_sq_inter_sq
{G : Type u_1}
[AddGroup G]
{A B : Set G}
{K L : ℝ}
{m n : ℕ}
(hA : IsApproximateAddSubgroup K A)
(hB : IsApproximateAddSubgroup L B)
(hm : 2 ≤ m)
(hn : 2 ≤ n)
:
@[simp]
A 1-approximate subgroup is the same thing as a subgroup.
@[simp]
A 1-approximate subgroup is the same thing as a subgroup.