Skip to main content
YaelDillies/APAP
Source indexedlemma · leanprover/lean4:v4.32.0

global_dichotomy

APAP.FiniteField · APAP/FiniteField.lean:121 to 167

Mathematical statement

Exact Lean statement

public lemma global_dichotomy [DecidableEq G] [MeasurableSpace G] [DiscreteMeasurableSpace G]
    (hA : A.Nonempty) (hγC : γ ≤ C.dens) (hγ : 0 < γ)
    (hAC : ε ≤ |card G * ⟪μ_[ℝ] A ∗ᵈ μ A, μ C⟫_[ℝ] - 1|) :
    ε / (2 * card G) ≤ ‖balance (μ_[ℝ] A) ○ᵈ balance (μ A)‖_[↑(2 * ⌈𝓛 γ⌉₊), μ univ]

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
public lemma global_dichotomy [DecidableEq G] [MeasurableSpace G] [DiscreteMeasurableSpace G]    (hA : A.Nonempty) (hγC : γ  C.dens) (hγ : 0 < γ)    (hAC : ε  |card G * ⟪μ_[] A ∗ᵈ μ A, μ C⟫_[] - 1|) :    ε / (2 * card G)  ‖balance (μ_[] A) ○ᵈ balance (μ A)‖_[↑(2 * ⌈𝓛 γ⌉₊), μ univ] := by  have hC : C.Nonempty := by simpa using hγ.trans_le hγC  have hγ₁ : γ  1 := hγC.trans (by norm_cast; exact dens_le_one)  set p := 2 * ⌈𝓛 γ⌉₊  have hp : 1 < p :=    Nat.succ_le_iff.1 (le_mul_of_one_le_right zero_le <| Nat.ceil_pos.2 <| curlog_pos hγ.le hγ₁)  have hp' : (p⁻¹ : 0) < 1 := inv_lt_one_of_one_lt₀ <| mod_cast hp  have hp'' : (p : 0).HolderConjugate _ := .conjExponent <| mod_cast hp  have : (p : 0∞).HolderConjugate _ := hp''.coe_ennreal  rw [mul_comm,  div_div, div_le_iff₀ (zero_lt_two' )]  calc    _  _ := div_le_div_of_nonneg_right hAC (card G).cast_nonneg    _ = |⟪balance (μ A) ∗ᵈ balance (μ A), μ C⟫_[]| := ?_    _  ‖balance (μ_[] A) ∗ᵈ balance (μ A)‖_[p] * ‖μ_[] C‖_[NNReal.conjExponent p] :=        abs_wInner_one_le_dLpNorm_mul_dLpNorm _ _    _  ‖balance (μ_[] A) ○ᵈ balance (μ A)‖_[p] * (card G ^ (-(p : )⁻¹) * γ ^ (-(p : )⁻¹)) :=        mul_le_mul (dLpNorm_ddconv_le_dLpNorm_dddconv' (by positivity) (even_two_mul _) _) ?_          (by positivity) (by positivity)    _ = ‖balance (μ_[] A) ○ᵈ balance (μ A)‖_[↑(2 * ⌈𝓛 γ⌉₊), μ univ] * γ ^ (-(p : )⁻¹) := ?_    _  _ := mul_le_mul_of_nonneg_left ?_ <| by positivity  · rw [ balance_ddconv, balance, wInner_sub_left, wInner_one_const_left, expect_ddconv,      sum_mu  hA, expect_mu  hA, sum_mu  hC, conj_trivial, one_mul, one_mul,  mul_inv_cancel₀,       mul_sub, abs_mul, abs_of_nonneg, mul_div_cancel_left₀] <;> positivity  · rw [dLpNorm_mu hp''.symm.lt.le hC, hp''.symm.coe.inv_sub_one, NNReal.coe_natCast,  mul_rpow]    any_goals positivity    rw [nnratCast_dens, le_div_iff₀, mul_comm] at hγC    any_goals positivity    refine rpow_le_rpow_of_nonpos ?_ hγC (neg_nonpos.2 ?_) <;> positivity  · rw [mul_comm, mu_univ_eq_const, wLpNorm_const_right, mul_right_comm, rpow_neg,  inv_rpow]    any_goals positivity    · congr    · exact ENNReal.natCast_ne_top _  · have : 1  γ⁻¹ := (one_le_inv₀ hγ).2 hγ₁    have : 0  log γ⁻¹ := by bound    calc      γ ^ (-(↑p)⁻¹ : ) = √(γ⁻¹ ^ ((↑⌈1 + log γ⁻¹⌉₊)⁻¹ : )) := by        rw [rpow_neg hγ.le, inv_rpow hγ.le]        unfold p        push_cast        rw [mul_inv_rev, rpow_mul, sqrt_eq_rpow, one_div, inv_rpow] <;> positivity      _  √(γ⁻¹ ^ ((1 + log γ⁻¹)⁻¹ : )) := by grw [ Nat.le_ceil]      _  √ (exp 1) := by gcongr; exact rpow_inv_neg_curlog_le hγ.le hγ₁      _ 2.7182818286 := by gcongr; exact exp_one_lt_d9.le      _  2 := by rw [sqrt_le_iff]; norm_num