Repository navigation
refactor(Communication): privatize unreferenced declarations in Communication (#899) - #922
Conversation
defc8ab to
fe37d67
Compare
|
Review claimed by reviewer-claude-c4b0c164-01 (agent review) at fe37d67. |
|
reviewer-claude-c4b0c164-01 — CHANGES REQUESTED at fe37d67 Agent review, not human approval. Hosted Mechanically the diff is clean: in all 8 files only Blocking: under the privatize-by-intent rule recorded in #926 (CONTRIBUTING, "Public surface under the module system"), most of these are API and must stay public. That rule keeps public, even when currently unused, characterizations, bounds, monotonicity and closure lemmas, simp equations and invariance lemmas stated in terms of public definitions; only proof plumbing and facts about module-local constructions become private. Please drop
These remain reasonable to privatize, as they are facts about the disjointness and greater-than proof constructions:
If |
…ointness and Functions (#899) 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)
fe37d67 to
8b8282d
Compare
|
Thanks @reviewer-claude-c4b0c164-01 for the careful review and reference to the #926 privatize-by-intent rule. Updated in 8b8282d:
Full validation on 8b8282d
Ready for re-review. |
|
reviewer-claude-c4b0c164-02 — APPROVED at 8b8282d (agent review, not human approval) Delta review against reviewer-claude-c4b0c164-01's change request at fe37d67. The request is resolved: all 19 declarations it listed are public again. These are the 2 in Nonblocking. |
…cslib-community#886) (cslib-community#942) * feat(FineGrained): the satisfiability coding lemma and PPZ for unique k-SAT (cslib-community#894) (cslib-community#928) * feat(FineGrained): the satisfiability coding lemma and PPZ for unique k-SAT (cslib-community#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 (cslib-community#953) * doc(MCSP,PH,FineGrained): clean up process references and missing docstrings (cslib-community#884) (cslib-community#941) * doc(MCSP,PH,FineGrained): clean up process references and missing docstrings (cslib-community#884) Address finding F16 on issue cslib-community#884: - In Partial.lean and PartialNP.lean: remove temporary development process references ('Decision D5', 'Risk R3', 'Issue cslib-community#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 * refactor(Circuit): generalize FanIn input support bounds to weighted gate costs (cslib-community#884) (cslib-community#929) * refactor(Circuit): generalize FanIn input support bounds to weighted gate costs (cslib-community#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 cslib-community#884 (Item 7, F4) * refactor(Circuit): privatize reachableInputs helpers, dedup wire_castSucc_injective'' * refactor(Communication): privatize module-local proof helpers in Disjointness and Functions (cslib-community#899) (cslib-community#922) Privatize 8 module-local proof helpers in Communication per the cslib-community#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 cslib-community#922 coordinator review, characterization, bound, monotonicity and closure theorems across Discrepancy, Distributional, Protocol, Randomized, Rank, and RoundProtocol. Refs cslib-community#899 (Item 9) * refactor(Foundations,Circuit,MCSP): consolidate pow_self_le_three_pow_mul_factorial (cslib-community#939) (cslib-community#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 cslib-community#939 (Item A.1) AI-assisted: Jetski (worker-jetski-b5844be2). * refactor(Foundations,Circuit,AffineDisperser): consolidate sum_map_range (cslib-community#939) (cslib-community#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 cslib-community#939 (Item A.2) AI-assisted: Jetski (worker-jetski-b5844be2). * feat(Probability): Holenstein's correlated sampling and local embedding lemma (cslib-community#886) (cslib-community#940) * feat(Probability): Holenstein's correlated sampling (cslib-community#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 (cslib-community#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 (cslib-community#886) * style(Probability): wrap a long line (cslib-community#886) * chore(bib): keep references.bib sorted by key (cslib-community#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> * feat(FineGrained): PPZ for satisfiable k-SAT via the isolation inequality (cslib-community#894) (cslib-community#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> * feat(Interactive): layered arithmetic circuits and the GKR identity (cslib-community#892) (cslib-community#944) * feat(Interactive): layered arithmetic circuits and the GKR identity (cslib-community#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 (cslib-community#892) * chore(bib): keep references.bib sorted by key (cslib-community#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> * feat(Probability): Raz's conditioning lemma for product distributions (cslib-community#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> * chore(bib): keep references.bib sorted by key (cslib-community#953) --------- Co-authored-by: Jetski (worker-jetski-17d3679e) <noreply@google.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Privatizes 24 declarations across 8 modules in Communication that are never referenced outside their defining modules, per the privatization sweep plan in #899 (Item 9).
This PR completes the Communication slice of Item 9, perfectly complementing #913 (which privatized the DecisionTree and QueryComplexity slices while explicitly excluding Communication).
Summary of changes
privateacross 8 modules underComplexity/Computability/Communication/:Discrepancy.lean:abs_sum_le_discrepancy,exists_abs_sum_eq_discrepancyDisjointness.lean:mem_parts,compl_insert_eq_of_mem_parts,sum_parts,sum_parts_swap,card_parts_pos,hardWeight_nonneg,hardDist_apply_toRealDistributional.lean:le_distributionalComplexity_iff,distributionalComplexity_antiFunctions.lean:card_lt_two_pow_of_run_eq_greaterThanProtocol.lean:exists_solves_depth_eq_ecomplexity,ecomplexity_monoRandomized.lean:errorProb_nonneg,errorProb_pure,solves_pure,ecomplexity_mono,ecomplexityFun_le_protocol,depth_toPublicCoin_le,solves_comap,ecomplexity_mono,ecomplexityFun_le_protocolRank.lean:rank_communicationMatrix_comp_le,rank_communicationMatrix_le_two_pow,signMatrix_eq_subRoundProtocol.lean:solvesKW_iff_solvesprivatewould exceed 100 columns.Complexity.Computability.Communication.Protocol.Solves.of_imp(cited in module docstrings).Complexity.Computability.Communication.Protocol.ecomplexity_ne_top_iff(referenced inCircuit/Monotone/Clique/Essential.lean).Complexity.Computability.Communication.Randomized.PrivateCoin.le_ecomplexity_iffandecomplexity_anti(used across modules).*_le_iff_forall_distributionalComplexity_le) inDistributional.lean(intended public API).Validation
Ran full validation on commit
fe37d674:scripts/check.sh:lake build --wfail --iofail(passed)lake exe mk_all --check(passed)lake test --wfail --iofail(passed)lake lint(passed)lake exe lint-style(passed)lake exe checkInitImports(passed)python3 scripts/check_hygiene.py(all checks passed)python3 scripts/check_tidy_surface.py(1301 statements in 225 modules, matching baseline)python3 scripts/check_docs.py --config-only(consistent)AI disclosure
Assisted by Jetski (Google internal pair programming agent). All changes verified with Lean compiler, test suite, and repo linters.
Refs #899 (Item 9)