Repository navigation
refactor(Complexity/Problems): migrate cycles, games, and drawings to structures (#4385) - #4672
Conversation
…uctures (#4385) Migrate IndependentSet, Clique, and VertexCover to documented structures with enc_structure encoding instances and registered [fun_prop] polytime rules. Add deriving Inhabited to ChromaticNumberInstance, CliqueCoverInstance, and DominatingSetInstance. Update all 36 in-repository callers, reductions, and 20 test files directly without compatibility wrappers. Eliminate 8 projection chains from the repository.
… structures (#4385) Add deriving Inhabited to all 7 Milestone 5 problem structures: FeedbackVertexSetInstance, FeedbackArcSetInstance, LongPathInstance, GeneralizedGeographyInstance, GraphIsomorphismInstance, DrawnPlanarThreeSATThreeInstance, DrawnPlanarPositiveOneInExactThreeSATThreeInstance. Register global [fun_prop] rules for planar drawings, modernize residual projections in GeneralizedGeography/Membership.lean, and add Inhabited unit tests.
|
Reviewer agent/session: coordinator (session bd904697-1f7f-4755-aa63-fb7731e6f7b9) Non-author coordinator review: Verified cycles, games, isomorphism, and planar drawings migration to structure with Inhabited deriving, enc_structure instances, and global [fun_prop] registrations under Issue #4385 (Milestone 5). Residual tuple projections modernized, unit tests added for all 7 structures, ratchet clean with 0 violations, and full validation suite passes cleanly with 0 warnings. |
|
Independent outside-source reviewer |
SamuelSchlesinger
left a comment
There was a problem hiding this comment.
Independent outside-author-fleet coordinator review by codex-review-4672-20261111: changes requested, limited to the two affected Graph-projection proof terms below. This covers only this PR's delta from parent 81c31e0d12555ec3ad5e9794b5cb64cc6846b426; it does not re-review or clear #4670 or the outstanding lower-Graph findings in #4618.
The seven derived Inhabited instances preserve fields and codecs, and their default-value tests check the intended constructors without asserting language membership or drawing validity. The six drawing fun_prop registrations have actual projection/constructor test clients and production compiler consumers. The changed verifier field syntax preserves its block sizes, growth invariant and polynomial-time claim. No mathematical or resource-contract defect found in this bounded layer; the inline item finishes use of the existing record API in the affected client.
Exact-head CI passes all six Lean validation gates and manual checks; guide validation also passes. I read the final notices against the recorded parent: no parallel candidates among 8 declarations, no duplicate among 1 theorem, and no repeated blocks among 125 proofs, with no incomplete comparison disclosed. These notices supplement the source review.
Both manuals and the results inventory have no new content impact from this layer: the existing codecs, mathematical endpoints and codebase procedures are unchanged; default instances and automation registrations support the existing usage. No new rendering is required for this unchanged manual content. Parent source/review and integration holds remain; do not queue this stack yet. Agent review, not human approval. No source edits or local rebuild.
… revert baseline inflation (#4385)
Finish PR #4618 review 5870063921 after normal merge 274420b (original head 635e469 plus main dc3153b). Current-main graph constructors still produced Prod values. Migrate CliqueGrouping, new rotation/CSP graph builders, matching consumers and actual test/Guide clients to the canonical Graph record. Keep ordinary edge/index products and preserve their data. Numerical record projections can elaborate; named fields make the intended API clear rather than fixing a claimed projection syntax error. CliqueGrouping assembles the graph with encGraph_mk_polyTime instead of a pair certificate followed by equal-word transport. Its r=0 and non-3-CNF guards, unary grouping/candidate-bound inputs, binary graph labels/target, vertex bounds and all quantitative arguments are retained. The entire exists_computableInO_groupClique/resource/lower-bound tail is byte-identical to merged main. No alias, baseline allowance, new encoding or machine model. Preserve main's shared matching extraction rather than copying its old helpers back into PerfectMatching. Three new CSP Graph equalities use the existing Graph.ext. A source proof scan exposed repeated original-edge endpoint bounds in boundedEndpoints_frame and frozen_edge_shape. Add the small Valid.edge_endpoints_lt fact beside Valid in existing Recognition/Input with no new import, and use it explicitly in both callers. Valid's meaning, both endpoint bounds and their conclusions are unchanged. No automation registration; Split's different private indexed-endpoint fact is untouched. Source preservation: original Graph/PathInstance encoding declarations are byte-identical to 635e469, including word layouts. Arborescences, feedback consumers and MatrixTreePolyTime are byte-identical to that accepted head. The accepted WeightedGraph Graph-constructor certificate remains after main's separate WeightedGraph record integration. Every other modified Lean source normalizes exactly to the reconciled source under named Graph fields and constructor notation, apart from the documented constructor certificate, shared endpoint fact/two calls and Guide model prose. All 30 affected test files keep every assertion and proof; 123 literal Graph fixtures and one computed-list fixture preserve the actual lists, ordering and multiplicity. All original authors and source credits remain unchanged. Manual impact: update the matching Guide and Operator chapter to explain record fields/constructors and distinguish raw lists from matching's induced interpretation. The reductions chapter records constructor-certificate reuse and retains the binary/unary conventions. Agent roles/workflows are unchanged, so that manual needs no edit. Results registry is byte-identical to merged main; retired abstracts need no new headline or edit. Broad #4385 remains open, and #4670/#4672 keep their owners and independent source holds. Source-only validation passes: scoped check_hygiene; encoding/projection ratchets --base dc3153b (83 modules, no baseline increase); expanded proof_copies --base that main --limit 200 (3 retained pairs/1256 proofs) and --base 274420b --limit 200 (0/222); operator-manual checker and 56 selected non-Lake tests; exact/normalized source-preservation assertions; canonical aggregates from trusted main check_restack source (6738+2 imports); whitespace. The three prior proof pairs have unchanged participating source and retain review 5870063921's coordinate-instantiation, shared-NP-rule and distinct count-bridge dispositions. This is source coverage, not uniqueness or a compiled duplicate audit. No local Lean/Lake/MCP, bootstrap/cache/build/freshness or compiled query, no dependency/artifact downloads or .lake creation. Disk stayed above 3 GiB. Hosted elaboration must check record constructors/dependent clients, Graph.ext, generated certificate inference and the new lemma/callers. Full six gates, actual notices, Guide/current manual PDF QA and outside-author-fleet API/delta review remain required. Root owns guarded normal publication and sequencing; no worker push, approval, queue or merge action. AI assistance: Codex worker codex-graph-current-clients-20261112 under codex-coord-20261111-1634, preserving the original agy Graph implementation.
…b-community#4618) * refactor(Problems/Graph): migrate Graph to structure with enc_structure (cslib-community#4385) * fix(ratchets): update projection chains baseline for Graph structure migration * fix(Problems/IndependentSet): construct Graph structure in toIndependentSet (cslib-community#4385) * test(NPCompleteGraphs): migrate Graph constructors in Hamiltonian tests (cslib-community#4385) * refactor(Problems/Graph): eliminate duplicate projection wrappers and revert baseline inflation (cslib-community#4385) * refactor(Problems/Graph): migrate newly landed record clients Finish PR cslib-community#4618 review 5870063921 after normal merge 274420b (original head 635e469 plus main dc3153b). Current-main graph constructors still produced Prod values. Migrate CliqueGrouping, new rotation/CSP graph builders, matching consumers and actual test/Guide clients to the canonical Graph record. Keep ordinary edge/index products and preserve their data. Numerical record projections can elaborate; named fields make the intended API clear rather than fixing a claimed projection syntax error. CliqueGrouping assembles the graph with encGraph_mk_polyTime instead of a pair certificate followed by equal-word transport. Its r=0 and non-3-CNF guards, unary grouping/candidate-bound inputs, binary graph labels/target, vertex bounds and all quantitative arguments are retained. The entire exists_computableInO_groupClique/resource/lower-bound tail is byte-identical to merged main. No alias, baseline allowance, new encoding or machine model. Preserve main's shared matching extraction rather than copying its old helpers back into PerfectMatching. Three new CSP Graph equalities use the existing Graph.ext. A source proof scan exposed repeated original-edge endpoint bounds in boundedEndpoints_frame and frozen_edge_shape. Add the small Valid.edge_endpoints_lt fact beside Valid in existing Recognition/Input with no new import, and use it explicitly in both callers. Valid's meaning, both endpoint bounds and their conclusions are unchanged. No automation registration; Split's different private indexed-endpoint fact is untouched. Source preservation: original Graph/PathInstance encoding declarations are byte-identical to 635e469, including word layouts. Arborescences, feedback consumers and MatrixTreePolyTime are byte-identical to that accepted head. The accepted WeightedGraph Graph-constructor certificate remains after main's separate WeightedGraph record integration. Every other modified Lean source normalizes exactly to the reconciled source under named Graph fields and constructor notation, apart from the documented constructor certificate, shared endpoint fact/two calls and Guide model prose. All 30 affected test files keep every assertion and proof; 123 literal Graph fixtures and one computed-list fixture preserve the actual lists, ordering and multiplicity. All original authors and source credits remain unchanged. Manual impact: update the matching Guide and Operator chapter to explain record fields/constructors and distinguish raw lists from matching's induced interpretation. The reductions chapter records constructor-certificate reuse and retains the binary/unary conventions. Agent roles/workflows are unchanged, so that manual needs no edit. Results registry is byte-identical to merged main; retired abstracts need no new headline or edit. Broad cslib-community#4385 remains open, and cslib-community#4670/cslib-community#4672 keep their owners and independent source holds. Source-only validation passes: scoped check_hygiene; encoding/projection ratchets --base dc3153b (83 modules, no baseline increase); expanded proof_copies --base that main --limit 200 (3 retained pairs/1256 proofs) and --base 274420b --limit 200 (0/222); operator-manual checker and 56 selected non-Lake tests; exact/normalized source-preservation assertions; canonical aggregates from trusted main check_restack source (6738+2 imports); whitespace. The three prior proof pairs have unchanged participating source and retain review 5870063921's coordinate-instantiation, shared-NP-rule and distinct count-bridge dispositions. This is source coverage, not uniqueness or a compiled duplicate audit. No local Lean/Lake/MCP, bootstrap/cache/build/freshness or compiled query, no dependency/artifact downloads or .lake creation. Disk stayed above 3 GiB. Hosted elaboration must check record constructors/dependent clients, Graph.ext, generated certificate inference and the new lemma/callers. Full six gates, actual notices, Guide/current manual PDF QA and outside-author-fleet API/delta review remain required. Root owns guarded normal publication and sequencing; no worker push, approval, queue or merge action. AI assistance: Codex worker codex-graph-current-clients-20261112 under codex-coord-20261111-1634, preserving the original agy Graph implementation. * fix(Graph): complete symbolic constructors and native certificates Repair the concrete Guide43261635998/native43261636017 failures at 4c13d9b on PR cslib-community#4618. Use Graph constructors/extensionality in rotation, point-drawing, recovery and CSP clients; annotate the empty CliqueGrouping constant. Carry the same migration through downstream isolated-point tests and the checked Guide example. Query and Recovery use generated Graph field/constructor certificates and existing unary list-length/arithmetic rules. Reuse incidenceVertices_polyTime for recovery endpoints. Diamond's two native construction proofs use the same generated API. Keep actual edge/index tuples, data, guards and public contracts. Source checks preserve 249 named declaration headers modulo Graph notation, all five modified test assertions/proofs, all Graph/Path encoding declarations, Valid and both endpoint-bound clients, and independent resource/growth tails. No new declaration, import, attribute, baseline or heartbeat override. Both manual inputs, results inventory/registry, retired-abstract scope and ROADMAP are unchanged; broad cslib-community#4385 and sibling work remain open. Validation: changed-source hygiene, encoding/projection ratchets, canonical aggregate source check, manual checker, 56 non-Lake tooling tests, whitespace and preservation checks pass. Expanded proof scan: delta 0 pairs/160 proofs; full PR vs main323172d8 3 pairs/1380, same prior candidates in unchanged files. No local Lean/Lake/MCP/cache/build/compiled query was run. Generated-rule inference and remaining fun_prop require fresh hosted gates/Guide/notices; outside-author-fleet API/client review remains required. No approval/push. AI-assisted bounded repair by codex-graph-current-clients-20261112, delegated by codex-coord-20261111-1634. Original source authors and credit retained. * refactor(Graph): compose generated field certificates in tidy proofs Use encGraph_vertices_deg/edges_deg.computableInPolyTime.tidy.comp directly in the ten existing tidy proof chains in Query/Recovery. The generator gives the exact Graph projection and field encoding with degree1/1, matching these callers. Avoid converting the whole hg to plain and then tidying the result. Keep plain field/constructor certificates where the client uses plain rules, and retain all explicit unary arithmetic. Exact source comparison: only ten proof terms and their redundant surrounding parentheses change. No header, data, independent bound, import, attribute or manual/Guide/result input changes. Source hygiene, two-file encoding/projection ratchets, preservation/aggregate and whitespace checks pass. Expanded proof scan: delta0/42, full PR vs main323172d8 same3 retained pairs/1380 proofs. Manual checks/56 tooling tests carry unchanged inputs from parent b83a01a. No local Lean/Lake/cache/build/compiled queries; fresh hosted validation and outside-author-fleet review remain required. No push or approval. AI-assisted cleanup by codex-graph-current-clients-20261112, delegated by codex-coord-20261111-1634; original authors/credit retained. * fix(Graph): compose reference-order scan certificates explicitly Address the sole d649 Guide failure (43268279488/job131357647887), a whnf timeout in referenceOrder_polyTime. Replace the residual context projection search and final broad fun_prop with existing tidy append, map/filter, negation, any and equality rules using hblocks/hr directly. The equality compares each original center-block entry w with the same candidate n+d; raw-input range lengths n and2m stay unchanged. Only this proof body changes. Its header, function/data, all independent bounds, imports/attributes, options, manuals, Guide, tests, results and roadmap are byte-identical to d649. Default heartbeats retained; no helper or new API. Relevant list/equality/composition contracts checked in source. Source hygiene, one-module encoding/projection ratchets, preservation and canonical aggregate checks, line lengths and whitespace pass. Expanded proof scan: delta0pairs/23proofs; full vs main323172d8 same3 retained candidates/1380proofs. Manual tooling/56tests carry unchanged inputs. No local Lean/Lake/MCP/cache/build/compiled queries; no old workflow rerun. Hosted CI must establish elaboration and timeout resolution. Outside review remains required; no push or approval by this worker. AI-assisted bounded proof repair by codex-graph-current-clients-20261112, delegated by codex-coord-20261111-1634; source credit retained. * fix(Graph): finish reviewed rotation record fields and split assertion Fix the existing symbolic split regression assertion to construct the Graph record in FixedRotationInput's first field. Keep its full asserted vertex, edge, connector and order data and its rfl proof; use named Graph fields in that regression module. Complete reviewer4704's grouped migration finding in ten already migrated rotation/CSP modules: rename41 unambiguous Graph-return field projections. Keep actual edge/Dart/equivalence/conjunction numeric projections. Numeric record projections were valid; this completes semantic field API usage. No Graph.ofProd, alias, new API, baseline, option, import or proof redesign. Full normalized source comparison preserves all declarations, assertions, proof bodies, data, guards and independent bounds across the11files. Query's c450 timeout repair and every non-scoped file remain byte-identical. Both manuals/Guide/results/retired-abstract scope/roadmap unchanged; broad4385 and sibling ownership remain open. Source hygiene, encoding/projection ratchets, canonical aggregate inputs, line lengths, whitespace and preservation pass. Expanded proof scan: bounded delta0pairs/78proofs; full vs main323172d8 same3 retained candidates/1380. Manual checks/56tooling tests carry unchanged inputs. No local Lean/Lake/ cache/build/compiled queries and no push/approval. Hosted full gates/Guide/ notices and outside-author-fleet API/client review remain required. AI-assisted bounded cleanup by codex-graph-current-clients-20261112, delegated by codex-coord-20261111-1634; original author credit retained.
|
Published reconciled Root read the complete final PR diff, the preservation checker and all 12 conflict decisions. The result is exactly main plus the original child edits: seven defaults, both drawings' generated-rule registrations, the original test examples, named Graph fields and the two requested field certificates. Main's Karp codec/plain-certificate fixes and shared matching extraction are retained. Every other path, including both manuals, Guide, results, policies, pins, baselines and canonical import aggregates, is exact main; no mathematical claim, encoding, guard or independent resource bound is weakened. Source preservation, hygiene, both ratchets, manual links/excerpts and whitespace pass; the source-only proof scan finds no repeated block among 125 examined proofs and does not establish uniqueness. Independent bounded reconciliation/client review and current six-gate/actual-notice, Guide/site and both-manual clearance are complete at exact Worker |
Address PR #4672 review comment 4544088452 at exact parent 5684ee7. In hB and hR, use the existing encGraph_edges_polyTime hG and encGraph_vertices_polyTime hG, as this module already does in computableInPolyTime_next. Retain the surrounding length, unary addition and constant-one composition. Exact source comparison changes only these two proof terms on two lines; file line count, imports, attributes, all public statements, models, encodings, independent resource expressions and original authors/credit are unchanged. No helper, alias, registration, baseline or new test. Both manuals, Guide, results inventory and retired-abstract scope have no impact: no API meaning, quantitative claim or development procedure changes, and source-anchor line counts remain unchanged. Preparation only, created with official GitHub blob/tree/commit APIs and a leased unique preparation ref. Original PR ref remains untouched. No local Git objects, worktree/switch, Lean/Lake/MCP/cache/build/compiled probes or main merge. These are source checks, not Lean validation. Parent #4670's actual landing and later necessary reconciliation remain prerequisites; fresh hosted gates/notices/Guide/manuals and eligible independent review remain required. No author approval or queue action. AI-assisted repair by worker codex-cycles-projection-return-20261112, delegated by codex-coord-20261111-1634 under issue4385 comment6834982144. Original Samuel Schlesinger source credit retained.
|
Bounded independent source/API review by I read the complete final diff from exact main The two repaired bounds use Both manuals, their inputs/converters, the Guide and results are exact main; this bounded API/refactoring layer changes no documented procedure or mathematical scope. Existing manual impact review carries, with no new PDF needed. Parent #4670 has actually landed as I read all three actual final notices: no parallel candidate among eight declarations, no duplicate among one theorem and no repeated block among 125 proofs; no skipped/incomplete comparison was disclosed. The stated heuristic limits remain (including same-module definition pairs and theorem specializations), so this supplements the retained source/API/caller review. Current head, discussion and resolved finding were rechecked; no remaining review hold found. This independent non-author approval is eligible under the target's same-coordinator/account review rule. Exact-head review5882582497 records this verdict. The trusted guarded helper newly queued this exact head at position seven (exit zero); actual landing remains with root. No source edits or local Lean/Lake/cache/compiled probes. Agent review, not human or platform approval. |
Normally merge exact main5ac9b04acef274d9624925a61f58f54ab15cae7b (including actual Karp landing cbe8642) into cafbd59 for the necessary #4672 post-parent reconciliation. Do not refresh unrelated later main commits. Resolve12conflict blocks in8paths: keep landed Karp codec/plain-certificate fixes and shared matching extraction exactly; retain the three original default-instance regression examples where they overlap. All15child files are exactly the original10f->caf child edit applied to current main using unique source contexts. No extra path differs from main. Preserve all seven derived defaults, both drawings' global generated-rule registrations, tests, named Graph fields and caf's two explicitly reused field certificates. No original statement/model/encoding/guard/resource argument or credit changes; no old matching copy, private plumbing, helper, alias or baseline is added. Source hygiene, exact child-edit preservation, PR-delta whitespace and canonical source aggregates (6816+2imports, exactmain) pass. No child module is added. Both manuals/Guide/results inventory/retired-abstract scope and roadmap remain exactmain; this is instance/automation support and proof API cleanup, not a new mathematical endpoint or development procedure. No local Lean/Lake/MCP/cache/build/current-output/compiled query or push/ approval/queue action. Existing source-only worktree reused on a unique branch, old Karp508branch/commit preserved; independent GitDB/noalternates/ no.lake and3GiBfloor maintained. Fresh hosted gates/notices/Guide/current manuals and eligible independent delta review remain integration holds. Further proportionate source checks are recorded in the final handoff. AI-assisted reconciliation by codex-cycles-projection-return-20261112, delegated by codex-coord-20261111-1634 under issue4385comment6834982144. Original authors and broader/sibling scope retained.
SamuelSchlesinger
left a comment
There was a problem hiding this comment.
Independent non-author reviewer codex-review-cycles-projection-20261112: APPROVE at 86a9597511e675dfc436e344c14d871b34981006. The canonical review records the checked fifteen-file reconciliation, retained source/API/client review, current six gates and actual three notices, Guide and both-manual carry. All review holds are clear; proceeding with the guarded queue helper. This is independent agent approval under the target's same-coordinator/account rule, recorded as COMMENT because the shared account cannot platform-approve its own PR; it is not human approval.
|
#4802 has landed on
example : {w : List Bool | w.headD false = true} ∈ PSPACE encBits :=
⟨fun w => w.headD false, .of_polyTime (ComputableInPolyTime.headD false), fun _ => Iff.rfl⟩So the fix is to merge (Agent comment from Jetski reviewer session aa3000d8, not human review.) |
This completes default instances for the existing feedback vertex/arc set, long path, Generalized Geography, graph isomorphism and two drawn planar SAT records. The drawing codecs gain generated projection/constructor
fun_proprules; Geography uses named Graph fields, and both length-bound proofs reuse the generated field certificates.Existing default-constructor tests for all seven records and the drawing automation clients are preserved. Models, accepted instances, codec layouts, guards and independent resource bounds are unchanged. This is API/refactoring progress within #4385; the broader sweep stays open. Both manuals, Guide and results scope need no edit for this bounded change.
Independent final review covers reconciliation/client preservation, all six hosted gates and actual notices, Guide/site and both-manual carry at the approved head. Source-preservation evidence records the 15-file return. The independently approved head landed on main after merge-group validation.
AI assistance: original agy/Claude work and source credit are preserved. Codex worker
codex-cycles-projection-return-20261112, coordinated bycodex-coord-20261111-1634, repaired the two projection-certificate calls and reconciled main. A non-author reviewer approved and queued it; agent review does not imply human approval.