Repository navigation
feat(Probability): Raz's conditioning lemma for product distributions (#886) - #942
Conversation
|
One-time rebase needed ( |
|
Review claimed by reviewer-claude-c4b0c164-01 (agent review) at 960405c. |
|
reviewer-claude-c4b0c164-01 — CHANGES REQUESTED at 960405c Agent review, not human approval. I reviewed this PR's own payload ( Blocking (inherited, not this PR's mathematics). Hosted Mathematics. It is correct.
The tests are concrete: a certain event, and two fair bits conditioned on the first being Nonblocking:
|
74b70a2 to
f00f458
Compare
86c60f7 to
8ab69f2
Compare
|
|
|
Review claimed by reviewer-claude-c4b0c164-01 (agent review) at 8ab69f2. |
|
reviewer-claude-c4b0c164-01 — APPROVED at 8ab69f2 Agent review, not human approval. This is a delta from
|
… k-SAT (#894) (#928) * feat(FineGrained): the satisfiability coding lemma and PPZ for unique k-SAT (#894) Define the PPZ algorithm (random variable order, unit-clause forcing, random bits otherwise), prove that a run in a fixed order produces the unique solution with probability 2^{-u}, construct critical clauses, show a variable is last among m variables in a 1/m fraction of orders, and conclude by AM-GM that one round succeeds with probability at least 2^{-(1-1/k)n}. AI-assisted: Jetski (worker-jetski-17d3679e). * chore(bib): keep references.bib sorted by key (#953)
abb4654 to
315713f
Compare
…strings (#884) (#941) * doc(MCSP,PH,FineGrained): clean up process references and missing docstrings (#884) Address finding F16 on issue #884: - In Partial.lean and PartialNP.lean: remove temporary development process references ('Decision D5', 'Risk R3', 'Issue #798 comment 3'), retaining canonical literature citations to Ilango and Hirahara. - In Kannan.lean: cite Arora-Barak Theorem 6.22 explicitly in the module header and theorem docstring. - In FineGrained/PermutationIndependentSet.lean: add docstring to BipartitePermutationIndependentSet.mem_iff_exists_satisfiesUndirected. - In Promise/Reduction.lean: add docstrings to ofSet_mem_PromiseBPP, ofSet_mem_PromiseRP, and ofSet_mem_PromiseCoRP. AI-assisted: Jetski (worker-jetski-b5844be2). * doc(MCSP,PH,FineGrained): address reviewer feedback on citations and process references
…gate costs (#884) (#929) * refactor(Circuit): generalize FanIn input support bounds to weighted gate costs (#884) Generalize Program.card_reachableInputs_le in Complexity.Computability.Circuit.FanIn to arbitrary per-operation weights w satisfying ∀ op, σ.Arity op ≤ 1 + w op, exposing Program.card_reachableInputs_le_cost and Program.card_biUnion_wireSupport_le_cost. Deduce Program.card_biUnion_wireSupport_le_cost_binaryCost in Complexity.Computability.Circuit.Boolean.BinaryCost as a one-line specialization, eliminating 90 lines of duplicate induction and helper theorems. Refs #884 (Item 7, F4) * refactor(Circuit): privatize reachableInputs helpers, dedup wire_castSucc_injective''
…ointness and Functions (#899) (#922) Privatize 8 module-local proof helpers in Communication per the #926 privatize-by-intent rule: - Disjointness.lean: 7 proof-construction helpers for parts and hardDist (mem_parts, compl_insert_eq_of_mem_parts, sum_parts, sum_parts_swap, card_parts_pos, hardWeight_nonneg, hardDist_apply_toReal). - Functions.lean: card_lt_two_pow_of_run_eq_greaterThan. Keeping public, per #922 coordinator review, characterization, bound, monotonicity and closure theorems across Discrepancy, Distributional, Protocol, Randomized, Rank, and RoundProtocol. Refs #899 (Item 9)
…_mul_factorial (#939) (#945) Move the elementary factorial-power comparison bound `Nat.pow_self_le_three_pow_mul_factorial` (n ^ n ≤ 3 ^ n * n!) to `Complexity.Foundations.Data.Nat.Factorial`. Eliminate the duplicate private copies in: - `Complexity/Computability/Circuit/Boolean/ShallowSymmetric/Covering.lean` - `Complexity/Computability/MCSP/Shannon.lean` and drop their now-unused ExponentialBounds imports. Refs #939 (Item A.1) AI-assisted: Jetski (worker-jetski-b5844be2).
…nge (#939) (#947) Move `List.sum_map_range` (`((List.range n).map f).sum = ∑ i : Fin n, f i`) to `Complexity.Foundations.Data.List.OfFn`. Eliminate the duplicate private copies: - `sum_range_eq_sum_fin` in `Complexity/Computability/Circuit/Rational/Runtime/Lift/Defs.lean` - `sum_map_range` in `Complexity/Computability/Complexity/AffineDisperser/Coordinates.lean` Refs #939 (Item A.2) AI-assisted: Jetski (worker-jetski-b5844be2).
…ng lemma (#886) (#940) * feat(Probability): Holenstein's correlated sampling (#886) Shared randomness is a weighted order of finitely many cells under the graphs of a finite family of distributions. Each party outputs the first cell under its own graph: its marginal is exact (map_sample) and two parties agree with probability at least (1 - δ)/(1 + δ) (agree_ge), disagreeing with probability at most 2δ (disagree_le). Co-authored-by: Jetski (worker-jetski-17d3679e) <noreply@google.com> * feat(Probability): Holenstein's local embedding lemma and the coupling inequality (#886) Alice and Bob sample from their own kernels with correlated sampling; the result is within 2ε₁ + 2ε₂ of a common sample from the target kernel (dist_embed_le, Holenstein's Lemma 8). Add the coupling inequality dist (p.map f) (p.map g) ≤ Pr[f ≠ g] (dist_map_map_le). Co-authored-by: Jetski (worker-jetski-17d3679e) <noreply@google.com> * fix(Probability): use simp only for non-terminal simp calls (#886) * style(Probability): wrap a long line (#886) * chore(bib): keep references.bib sorted by key (#953) * fix(bib): remove entries duplicated by a faulty restack; keep only this PR's additions, sorted Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB --------- Co-authored-by: Jetski (worker-jetski-17d3679e) <noreply@google.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…lity (#894) (#930) Generalize the PPZ analysis from uniquely satisfiable to arbitrary satisfiable k-CNF formulas. Add Cslib.BitString.isolation with the isolation inequality 2^n ≤ ∑_{σ∈S} 2^{isolation S σ}, a critical clause for every variable whose flip falsifies the formula, the per-assignment bound round_apply_ge, and round_success_of_satisfiable. Co-authored-by: Jetski (worker-jetski-17d3679e) <noreply@google.com>
…892) (#944) * feat(Interactive): layered arithmetic circuits and the GKR identity (#892) Add Cslib.Interactive.GKR.LayeredCircuit with layer-by-layer evaluation, the wiring predicates add_i and mult_i, closed forms of their multilinear extensions, and the GKR identity (Thaler, Lemma 4.7) expressing the multilinear extension of a layer through the layer below. Co-authored-by: Jetski (worker-jetski-17d3679e) <noreply@google.com> * refactor(Interactive): reuse indicatorPoly; move bitPoint and eval_multilinearExtension_eq_sum to MultilinearExtension (#892) * chore(bib): keep references.bib sorted by key (#953) * fix(bib): remove entries duplicated by a faulty restack; keep only this PR's additions, sorted Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB * docs(GKR): name the existing wiring-predicate lemma in the module doc The Main results list named eval_multilinearExtension_addPred and eval_multilinearExtension_multPred, which do not exist; the closed form is eval_multilinearExtension_wiringPred, of which addPred and multPred are instances. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB --------- Co-authored-by: Jetski (worker-jetski-17d3679e) <noreply@google.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…#886) Conditioning independent coordinates on an event W moves their marginals by ∑ⱼ ‖P_{Uⱼ|W} − P_{Uⱼ}‖² ≤ ln(1/Pr[W])/2, with Holenstein's forms Pr[W] ≤ 2^(−∑ⱼ‖·‖²) and ∑ⱼ‖·‖ ≤ √(k ln(1/Pr[W])). The proof uses the divergence of conditioning, superadditivity of divergence from a product, and Pinsker. Co-authored-by: Jetski (worker-jetski-17d3679e) <noreply@google.com>
8ab69f2 to
5122f72
Compare
|
Restack ( coordinator-claude-c4b0c164-20261023 — APPROVED at 5122f72 (restack; reviewer-claude-c4b0c164-01's approval at |
Part of #886 (M2a). Stacked on #940; retarget to
mainonce #940 lands.This PR adds Raz's conditioning lemma ([Raz1998, Claim 5.1], [Holenstein2009, Lemma 5]). Condition a product distribution
pi pon an eventW. Then the coordinate marginals barely move:sum_sq_dist_map_filter_pi_le:∑ⱼ ‖P_{Uⱼ|W} − P_{Uⱼ}‖² ≤ ln(1/Pr[W]) / 2.toOuterMeasure_toReal_le_two_rpow: Holenstein's statement (7),Pr[W] ≤ 2^(−∑ⱼ ‖P_{Uⱼ|W} − P_{Uⱼ}‖²). It follows becauseln x / 2 ≤ log₂ xforx ≥ 1.sq_sum_dist_map_filter_pi_leandsum_dist_map_filter_pi_le: the Cauchy–Schwarz forms. The second is Holenstein's (8),∑ⱼ ‖·‖ ≤ √(k · ln(1/Pr[W])).Proof. It follows Raz and Holenstein in nats:
sum_mul_log_div_filter: conditioning onWhas divergence exactlyln(1/Pr[W]).sum_sum_mul_log_div_map_le: divergence from a product distribution is superadditive over coordinates. This is Holenstein's Appendix B. The gap equals the divergence of the joint distribution from the product of its own marginals, which is nonnegative by Gibbs' inequality.two_mul_dist_sq_le_sum_mul_log_div), applied to each coordinate.Limitations. This is one ingredient of #886 M2. Lemma 14/15 (coordinate selection) and the parallel repetition theorem are not here. The lemma assumes the unconditioned coordinates are independent (
pi p), as in the source.Files and tests. New module
Complexity/Probability/ProductConditioning.lean. Tests inComplexityTests/ProductConditioning.lean:true, an instance of both the squared and the exponential forms;Also added: a
Raz1998bibliography entry and a ROADMAP clause next to #940's.Validation.
scripts/check.shpasses all six gates locally at 960405c.AI disclosure: written by Jetski, Google's AI coding agent (session
worker-jetski-17d3679e). Samuel has not reviewed it yet.