teorth/PFR
Source indexedlemma · leanprover/lean4:v4.33.0-rc1
ProbabilityTheory.setRuzsaDist_of_inj
PFR.ForMathlib.Entropy.RuzsaSetDist · PFR/ForMathlib/Entropy/RuzsaSetDist.lean:90 to 107
Source documentation
Ruzsa distance between sets is preserved by injective homomorphisms.
Exact Lean statement
lemma setRuzsaDist_of_inj (A B : Set G) [hA : Finite A] [hB : Finite B] [Nonempty A] [Nonempty B]
{H : Type*} [hH : MeasurableSpace H] [MeasurableSingletonClass H] [AddCommGroup H]
[Countable H] {φ : G →+ H} (hφ : Function.Injective φ) :
dᵤ[φ '' A # φ '' B] = dᵤ[A # B]Complete declaration
Lean source
Full Lean sourceLean 4
lemma setRuzsaDist_of_inj (A B : Set G) [hA : Finite A] [hB : Finite B] [Nonempty A] [Nonempty B] {H : Type*} [hH : MeasurableSpace H] [MeasurableSingletonClass H] [AddCommGroup H] [Countable H] {φ : G →+ H} (hφ : Function.Injective φ) : dᵤ[φ '' A # φ '' B] = dᵤ[A # B] := by obtain ⟨Ω, mΩ, UA, hμ, hUA_mes, hUA_unif, -, - ⟩ := exists_isUniform_measureSpace' A hA .of_subtype obtain ⟨Ω', mΩ', UB, hμ', hUB_mes, hUB_unif, -, - ⟩ := exists_isUniform_measureSpace' B hB .of_subtype rw [setRuzsaDist_eq_rdist hUA_unif hUB_unif hUA_mes hUB_mes, ← rdist_of_inj hUA_mes hUB_mes φ hφ] classical convert setRuzsaDist_eq_rdist (A := φ '' A) (B := φ '' B) (μ := (volume : Measure Ω)) (μ' := (volume : Measure Ω')) ?_ ?_ ?_ ?_ · convert IsUniform.comp (A.toFinite.coe_toFinset.symm ▸ hUA_unif) hφ using 1 ext x; simp · convert IsUniform.comp (B.toFinite.coe_toFinset.symm ▸ hUB_unif) hφ using 1 ext x; simp · fun_prop · fun_prop