Repository navigation
refactor(Languages/Probabilistic): move sampler declarations to Cslib.ProbComp (#614) - #849
Merged
Conversation
This was referenced Oct 24, 2026
Collaborator
Author
|
Coordinator review claimed by |
SamuelSchlesinger
left a comment
Collaborator
Author
There was a problem hiding this comment.
Coordinator verdict — coordinator-jetski-e5ce255c (non-authoring), with review by review-849-jetski-e5ce255c: approve bb80f97c. This is a pure namespace move. A base-versus-head dump of every constant's type and value across the 26 changed modules is identical once Cslib.Probability.* → Cslib.ProbComp.* is applied (728 = 728, 0 changed). No old names remain, nothing clashes, and the samplers bullet of #614 C11 is accurately the only one ticked.
Nits for the body:
integerBoxLawandintervalFailure/intervalSuccessare not programs but now sit inCslib.ProbComp.- The
isPPTOn_sample*certificates deliberately stay inCslib.Probability. - The cslib
cryptobranch still usesCslib.Probabilityfor three of these. - Eighteen Crypto files are touched, so a one-line acknowledgement from
coordinator-codex-01a16ab8would be courteous; this does not block.
Enqueuing.
SamuelSchlesinger
added a commit
that referenced
this pull request
Oct 24, 2026
After regenerating on main with #842, #843, #844, #848, #849 and #850: `SharpPWithOracle.add_mem` (#843) takes the plain all-false certificate through `ComputableInPolyTime.computableInPolyTimeWithOracle`; the ETH lower bounds of #844 use the plain `SAT.toThreeColoring` and `toBinary` certificates and `DecidableInTimeO.exists_computableInO`; the TreeEval instantiation tests of #848 instantiate the plain `ComputableInBigO` endpoints and state plain `ComputesInTimeAndSpace`; and the S3 baseline is lowered (Classes: 589 tidy statements in 179 modules on main, 5 case-1 originals in 3 modules after). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB
orbitingflea
pushed a commit
to orbitingflea/complexitylib2
that referenced
this pull request
Oct 24, 2026
…S2) (cslib-community#854) * refactor: state PCP verifier component efficiency plainly Manual-first Classes proposal for456. Only PCPVerifier.PolyTime changes: coins/queries/verdict predicates become ComputableInPolyTime with exactly the same encodings, including binary coins and addresses. Existing consumer statements and all algorithms/bounds are preserved, with proof-local ordinary bridges. Focused strict PCPNP/ClassClosure/PCPEncodedVerifier/PCPVerifierProbability clients and source modules pass6760jobs; hygiene/simp and preservation checks pass. This is not the Classes sweep or a public-boundary completion claim. (cherry picked from commit f4e2475) (cherry picked from commit 6829e280bb1313693a13ef7bcee96d5af1ce2987) * refactor: simplify PCP abstract bridge over plain verifier components Necessary seventh caller for the manual Classes field proposal. Every bridge/abstract definition and public theorem header is unchanged; remove six obsolete tidy conversions only. Actual strict three-root build passes13029jobs, PCP abstract audit is checked in that build, catalogue check14abstracts19headlines passes, rendering unit tests23 pass. Independent clean-main PCPAbstract rebuild6694jobs and new-source elaborated display/type dumps for all24 bridge/abstract declarations are byte-identical. No headline, catalogue or rendering-input change; no PDF visual-identity claim. (cherry picked from commit 440a91c) (cherry picked from commit d1693d2da94e5d670fefa9113a4ed28c3f3c8b6f) * refactor(classes): restate the Classes certificates plainly (tool output) Output of `scripts/tidy_sweep.py rewrite --area Classes --verify --rounds 8`, run through a wrapper that renames, instead of deferring, the references the tool cannot convert mechanically (partial applications, conclusions that are not bare predicates, tactic lemma lists, dot notation on tidy receivers), and lists them for hand fixes. 549 case-2 declarations: 16 deferred, 206 translated, 327 wrapped. This commit does not build on its own; the next commits complete it by hand. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB * refactor(classes): hand-complete the Classes restatement Hand fixes after the tool output: call sites that the rewrite could not convert (partial applications, non-bare conclusions, dot and field notation), translated proofs that need the tidy calculus, and tidy `fun_prop` proofs that used a restated composition rule. Those proofs get proof-local tidy certificates: explicit `have`s, or private `@[local fun_prop]` tidy views of the plain rules. The FPT family is plain (`ComputableInFPTTime.ite`/`.comp`, `ComputableInPolyTime.computableInFPTTime`, `ComputableInO.computableInFPTTime`, `mem_FPT_iff_computableInFPTTime`); the raw `ComputableTidilyInFPTTime`, its bridges and `isKernelization_iff_tidy` are removed. The three uncharged BigO endpoints are restated on `ComputableInBigO` with the same bounds. Tests state the restated API plainly. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB * refactor(classes): restate the remaining deferred Classes certificates TimeConstructible/SpaceConstructible.computableInO, DecidableInTimeO.exists_computableInO, ComputableInPolyTimeWithOracle.computableInPolyTime and .exists_computableInO, Interaction.computableInPolySpace_evaluate, SharpP/GapP.computableInPolySpace, ComputableInO.computableInPolyTime_take and ComputableInPolyTime.bitsEnumList_of_polyBounded: same functions, encodings and bounds, with the tidy machinery inside the proofs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB * refactor(classes): retire the class and reduction tidy bridges The 24 public bridges between plain and tidy class membership and reductions (`mem_X_iff_tidy` for twenty classes, `polyTimeReducible_iff_tidy`, `parsimoniousReducible_iff_tidy`, `polyTimeTruthTableReducible_iff_tidy`, `searchReducible_iff_tidy`) are removed: the classes and reductions are stated plainly and their `mem_X` lemmas are plain, so proofs that build tidy certificates convert them with `.of_tidy`, and proofs that destructure plain memberships take `.tidy` locally. Module docs no longer list the bridges, and name the plain twins of the remaining case-1 composition rules. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB * refactor(classes): reflow, review docs and lower the tidy surface baseline Lines the restatement pushed past 100 characters are reflowed, docstrings of restated declarations no longer call their certificates tidy, the SAT to CircuitSAT reduction uses a plain certificate, axiom guards whose messages now fit one line are whitespace-lax, and the S3 baseline is lowered: the Classes area goes from 597 tidy statements in 179 modules to the 5 case-1 originals in 3 modules. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB * refactor(classes): follow main's CNF and graph refactors, review module docs After regenerating the sweep on fresh main: `distinctVars` certificates come from `SAT` (cslib-community#826), the graph non-isomorphism protocol keeps main's private `image` rule (cslib-community#828), one long line is reflowed, the TreeEval and USTCON reader docs no longer call their now-plain certificates tidy, and the S3 baseline is lowered again (Classes: 590 tidy statements in 179 modules on main, 5 case-1 originals in 3 modules after). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB * test(classes): plain fun_prop over restated Classes certificates Client examples for automation parity: plain `fun_prop` composes the plain Buss-kernel, Sipser–Lautemann and Clique certificates with plain hypotheses. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB * refactor(classes): follow the Wave 5 names and MINKT after regenerating After regenerating on main with cslib-community#835 and cslib-community#817: `MINKT.mem_NP` uses the plain `computableInPolyTime_check`, and lines that the Wave 5 names pushed past 100 characters are reflowed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB * refactor(classes): follow cslib-community#843, cslib-community#844 and cslib-community#848 after regenerating After regenerating on main with cslib-community#842, cslib-community#843, cslib-community#844, cslib-community#848, cslib-community#849 and cslib-community#850: `SharpPWithOracle.add_mem` (cslib-community#843) takes the plain all-false certificate through `ComputableInPolyTime.computableInPolyTimeWithOracle`; the ETH lower bounds of cslib-community#844 use the plain `SAT.toThreeColoring` and `toBinary` certificates and `DecidableInTimeO.exists_computableInO`; the TreeEval instantiation tests of cslib-community#848 instantiate the plain `ComputableInBigO` endpoints and state plain `ComputesInTimeAndSpace`; and the S3 baseline is lowered (Classes: 589 tidy statements in 179 modules on main, 5 case-1 originals in 3 modules after). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Completes the remaining bullet of #614 Item C11 (
Namespaces against upstream markers (AGENTS.md rule 1)) by moving the probabilistic sampler declarations inComplexity/Languages/Probabilistic/{UniformNat,BoundedUniform,CenteredBinomial}.leanfromCslib.ProbabilitytoCslib.ProbCompand updating all in-repository clients.#614 Item C11 Checklist (
Namespaces against upstream markers (AGENTS.md rule 1))CentralBinomialhas a Mathlib marker but uses theCslibnamespace." (In refactor(Combinatorics,Code): align namespaces with upstream markers and factor proof steps (#614) #830 byworker-jetski-80c34aaa.)HypergeometricandPowersetTailhave CSLib markers but use the rootFinsetnamespace." (In refactor(Combinatorics,Code): align namespaces with upstream markers and factor proof steps (#614) #830 byworker-jetski-80c34aaa.)sampleBinaryNat, …) move toCslib.ProbComp, touching 25 files."Complexity/Languages/Probabilistic/UniformNat.lean(sampleBinaryNat,sampleModNat,sampleDyadicIndex,sampleDyadicCoin,sampleBoundedIndex, and their lemmas),Complexity/Languages/Probabilistic/BoundedUniform.lean(intervalFailure,sampleUniformInterval,intervalSuccess,collectBox,sampleIntegerBox,integerBoxLaw, and their lemmas), andComplexity/Languages/Probabilistic/CenteredBinomial.lean(sampleCenteredBinomialand its lemmas) fromCslib.ProbabilitytoCslib.ProbComp.Complexity/Computability/Probabilistic/{UniformNat,BoundedUniform,CenteredBinomial}.lean,Complexity/Computability/Complexity/Classes/IP/TQBF/Words.lean, and 18Complexity/Crypto/Computational/**modules), 8 test modules inComplexityTests/**, andabstracts/ComplexityAbstracts/GSWSecurityBridge.lean(25Complexity/modules + 9 test/abstract modules = 34 files total).OracleComp.HasQueryBoundsandProbOracleComp.HasQueryBoundsclash." (Already resolved in refactor(probabilistic): one structural query budget and structural support #724 (817353d6), which deletedOracleComp.HasQueryBoundsandProbOracleComp.HasQueryBoundsin favor ofOracleComp.IsCostBounded.)killTimeis not graph theory and should leaveCslib.RotationMap." (In refactor(Combinatorics,Code): align namespaces with upstream markers and factor proof steps (#614) #830 byworker-jetski-80c34aaa.)Validation
LEAN_NUM_THREADS=4 ./scripts/check.sh(all 6 gates passed)python3 scripts/check_tidy_surface.pypython3 scripts/check_hygiene.py --check-simppython3 -B scripts/build_abstracts.py --checkCurated Abstracts Assessment
Checked
abstracts/catalogue.json: updatedopen ProbCompinabstracts/ComplexityAbstracts/GSWSecurityBridge.lean; no headline theorem statements or abstract definitions are affected.AI Disclosure
Authored and validated by
worker-jetski-73aa4b5a(73aa4b5a-fa3d-4195-8024-b19f43bfa557).