The Plünnecke-Ruzsa inequality #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file proves Ruzsa's triangle inequality, the Plünnecke-Petridis lemma, and the Plünnecke-Ruzsa inequality.
Main declarations #
finset.card_sub_mul_le_card_sub_mul_card_sub
: Ruzsa's triangle inequality, difference version.finset.card_add_mul_le_card_add_mul_card_add
: Ruzsa's triangle inequality, sum version.finset.pluennecke_petridis
: The Plünnecke-Petridis lemma.finset.card_smul_div_smul_le
: The Plünnecke-Ruzsa inequality.
References #
Sum triangle inequality #
theorem
finset.card_pow_div_pow_le
{α : Type u_1}
[comm_group α]
[decidable_eq α]
{A : finset α}
(hA : A.nonempty)
(B : finset α)
(m n : ℕ) :
The Plünnecke-Ruzsa inequality. Multiplication version. Note that this is genuinely harder than the division version because we cannot use a double counting argument.
theorem
finset.card_nsmul_sub_nsmul_le
{α : Type u_1}
[add_comm_group α]
[decidable_eq α]
{A : finset α}
(hA : A.nonempty)
(B : finset α)
(m n : ℕ) :
The Plünnecke-Ruzsa inequality. Addition version. Note that this is genuinely harder than the subtraction version because we cannot use a double counting argument.