Skip to content

quality(logics): area checklist #596

Closed

Description

@SamuelSchlesinger

Area checklist for #587, owned by lead-claude-logics-c4b0c164 (Claude Code, Opus 5.5), delegated by coordinator-claude-c4b0c164-20261023. Snapshot: main at d52fd12. Scope: Complexity/Logics/** (98 modules: 57 FirstOrder, 35 Propositional, 6 SecondOrder) and their test, abstract and client callers.

This is the audit; no edits yet. Edits start after #559, #560, #568 and the deprecation sweep merge, one bounded, single-theme PR at a time, each cross-reviewed by coordinator-codex-01a16ab8. Cross-area changes (marked below) are announced on #587 first.

Summary. The area is in comparatively good shape. First-order logic is built on Mathlib's ModelTheory throughout. CNF reuses Std.Sat.Literal and documents why Std.Sat.CNF (array-based) and Cslib.Logic.PL.Proposition are not reused. Ordered first-order reductions are ManyOneReducibleBy instances, and every interpretation variant compiles to FO.Interpretation. Hygiene passes, there are no heartbeat overrides, and proof lengths match the library (p99 74 lines vs 66; max 116). The gaps are:

  • a large public surface;
  • a few misplaced or duplicated APIs, mostly in client modules outside the area;
  • tidy predicates in the Cook–Reckhow statements;
  • module-doc drift;
  • two small automation gaps;
  • a handful of untested modules.

Baseline. These numbers come from a local run of #584's QualityReport.lean over the cached build at d52fd12, plus .ilean references. They will be reconciled with the shared report when it is posted.

Measure Value
Public declarations (excluding constructors and recursors) 1,635 (plus 152 private)
Referenced by other library modules / only by tests / by no other module 817 / 197 / 621
Of the 621: unattributed theorems not named in a module doc ~270 (~175 in 29 Propositional files, ~95 in 31 FirstOrder/SecondOrder files)
Exposed definitions 515 (95 of 98 modules use @[expose] public section)
Public definitions without a docstring 28, all instances or derived
"Main results" theorems without a docstring 46
Tidy predicates in public statements, outside certificate lemmas 2 (ProofSystem.ofVerifier, ProofSystem.pSimulates_iff_tidy)
Alpha-equivalent duplicates 2 (in ValiantVazirani, outside the area)
grind annotations 0 (simp, fo_realize, aesop (FirstOrder) and fun_prop sets exist)

1. refactor(logics): make propositional proof helpers private (surface; about 29 files) — #601, #667

  • Make a theorem private when it is referenced nowhere outside its module, is not named in a module doc, abstract or test, and belongs to no simp/fun_prop/aesop set. The main groups are:

    • the CNF.Sparsification list lemmas (29 in ClauseSet/Sparsification/List);
    • the ClauseSet.Sparsification.Path and BranchingRule helpers;
    • the intermediate computableTidilyInPolyTime_{reduce,flower,heavy,candidates,choice};
    • the Pigeonhole bottleneck lemmas (23);
    • the ArithQBF degree lemmas;
    • the splitAux, exclude and Tseitin parity helpers;
    • the coding-lemma helpers.

    API-like lemmas stay public: Derives.mono, RefutableInSize.mono, QBF.closed_*, ProofSystem.{mem, exists_eq, nonempty}, Simulates/PSimulates refl/trans, Derivation.{derives, size_pos} and CNF.{eval, length}_compact.

    Benefit: about 175 fewer public names, and editing a proof internal no longer invalidates downstream builds. Risk: low. A helper that an exposed body uses fails to build and stays public, or goes with item 9's @[expose] narrowing. No aliases (D1).

2. refactor(logics): make first-order proof helpers private (surface; about 31 files) — #606

  • Apply the same rule to:

    • the TaggedInterpretation internals (coords_*, realize_domainAt*, realize_toInterpretation_*_of_{subsingleton,nontrivial}, ofCopies_bijective);
    • the cnf.relMap_*Sym, realize_satMatrix and *_copies_iff helpers;
    • the coloring gadget lemmas;
    • the Encoding/Layout helpers;
    • the DomainInterpretation rank helpers;
    • the ESO *_isExpansionOn and realize_onSentence_sum* lemmas.

    The closure API stays public: QFReduces.{isoClosed, compl}, ReducesNontrivial.compl and Interpretation.ext_iff.

    Benefit and risk: as in item 1. The Fagin abstract and bridge use none of these declarations.

3. refactor(proof-systems): state the verifier proof system with plain computability (statements) — #611

Benefit: the Cook–Reckhow statements contain no proof machinery, and certificate names say what they state. Risk: low.

4. refactor(logics): collect QBF and CNF API from client modules (placement and duplicates; cross-area, announce first) — #688

  • Move the general QBF combinators QBF.{exs, alls, conj, imp, iff, lit, ofClause, ofCNF}, with their eval_* and freeVars_* lemmas, from Classes/Space/TQBF/Formula.lean into Logics/Propositional/QBF. The tokens_* lemmas stay with the TQBF encoding.
  • Move CNF.numVars (94 uses, already in Cslib.Logic.PL) and its two lemmas from Complexity/FineGrained.lean into Propositional/CNF.lean.
  • (Removed by refactor: remove deprecated declarations #631; they were deprecated aliases.) Delete ValiantVazirani.mem_vars_iff and ValiantVazirani.vars_relabel, which are alpha-equivalent to CNF.mem_vars and CNF.vars_relabel, and update their callers.

Benefit: QBF and CNF API lives with its type, and client modules stop owning general logic. Risk: low, since everything moves within existing import chains. Coordinate with the classes-area lead.

5. refactor: place Cook–Reckhow proof systems with the complexity classes (placement; cross-area, needs the classes lead's agreement)

  • Propositional/ProofSystem.lean is in namespace Cslib.Complexity, treats proof systems for any language and imports Cook–Levin, so its path does not mirror its namespace. Move it to Computability/Complexity/ProofSystem.lean, move NP_eq_coNP_iff_coNP_subset_NP next to coNP, and update the ROADMAP.md links.

Benefit: the path mirrors the namespace, as the upstream rule requires, and Logics no longer imports Cook–Levin. Risk: low; ownership moves to the classes area. If the classes lead declines, the file stays and the decision is recorded.

6. feat(logics): automate CNF evaluation (automation) — #625

  • Add fun_prop certificates in CNF/PolyTime.lean for evaluating a literal, a clause or a formula under a polynomial-time assignment. They replace the fun_prop [CNF.eval, Clause.eval, Literal.eval] unfoldings in Problems/SAT/PolyTime.lean and FineGrained/Assignment.lean.
  • Add a simp lemma l.eval σ = true ↔ σ l.1 = l.2 for an arbitrary literal (the current one needs a pair), and Literal.eval_negate. They replace about 25 simp [… Literal.eval …] unfoldings across DNF, ThreeCNF, Resolution, DecisionTree/NormalForm, TQBF/Formula, CircuitSAT and ValiantVazirani.
  • Assess a small grind set for CNF semantics, following CSLib's convention for logics, and add it only if it shortens real clients.

Benefit: routine facts follow without unfolding. Risk: low; simp-set changes can alter normal forms in clients, which the build checks.

7. doc(logics): align module docs with the public API (documentation) — #617, #644

  • Qualify the names in the module docs of FirstOrder/Projection.lean, ProjectionFormula.lean and Projection/Graph.lean, which list Projection.… and InputLiteral unqualified. Expand the shorthand in Problems/SizedGraph.lean.
  • Write docstrings for the 46 "Main results" theorems that lack one, mostly realize_* lemmas in FirstOrder/Basic, Ordered/* and Subformula. Alternatively, trim those lists to the headline results.
  • Add ## References to ClauseSet/Basic, ClauseSet/SubcubeFree, DNF, Parity, SigmaThree, Subformula and Ordered/Packing. Use bibliography-key links in Ordered/Radix/*.
  • QBF.lean says TQBF's PSPACE-completeness "is not proved here"; point to where it is proved.
  • Remove names made private in items 1 and 2 from the module docs.

Risk: none.

8. test(logics): checked examples for untested modules (tests) — #619

  • Write nonvacuous examples for the modules no test references:

    • ClauseSet/Basic, as a round trip through CNF.toClauseSet;
    • CNF/Parity, with parityOnEq on a small set;
    • Subformula.

    Also add direct examples of DNF.eval_negate and of QBF.eval on a closed formula. The sparsification step, path and tree modules are covered through the CNF.sparsification tests. Ordered/Multiplication/* and Ordered/Radix/* are covered through the formulas built on them.

Benefit: the guide can reuse the examples. Risk: none.

9. Later or conditional

  • Narrow @[expose]: all 515 public definitions are exposed. Follow perf(api): measure and shrink the public declaration surface #584's policy and its measurement of which bodies clients unfold. This pairs with making private the definitions that appear only in exposed bodies (gadget tags, Coord, templates).

  • CSLib's InferenceSystem for resolution: an instance whose derivations are the Type-valued tree-like CNF.Derivation, as CSLib's logics README asks, with CNF.Derives φ c ↔ DerivableIn …. The review settles a design question: keep CNF.Derives as the Prop inductive, or define it as derivability.

  • Other upstream reuse: build ESO.isStrictLinearOrderSentence from Mathlib's Relations.irreflexive and Relations.transitive, with their realize_* lemmas. Consider CSLib's HasAnd, HasOr and HasNot notation classes for QBF.

  • tupleIndex: it is finFunctionFinEquiv. Restate its generic lemmas (tupleIndex_lt_iff, tupleIndex_lt_pow_iff, tupleIndex_eq_of_high_zero) for finFunctionFinEquiv in Foundations, as Mathlib candidates. The clients are in Fagin and LogSpace (cross-area).

  • Order-free reductions: FO.Reduces, FO.QFReduces and FO.ReducesNontrivial repeat one definition and its refl/trans/compl proofs. ROADMAP.md records them as deliberately outside ManyOneReducibleBy, so factor out a shared core only if the guide chapter shows friction.

  • Outlier proofs:

    • ColoringReduction.colorOf_ne_of_edge (84 lines) repeats one within-gadget step eight times.
    • DepthThree.card_isolatedInputs_mul_min_le (116 lines) and Ordered/Multiplication.packedFormula_complete (99 lines) are the longest.

    Shorten them when a reusable lemma emerges, not for the line count.

  • Guide chapters (doc(guide): a Verso guide that drives interface and documentation quality #585), after M0: proof complexity (resolution, Haken, size–width) and descriptive complexity (interpretations, ESO, Fagin).

Abstract impact. The Cook–Levin, TQBF, Fagin and Resolution abstracts depend on this area through CNF, QBF, ESO.Definable, CNF.IsProof, CNF.RefutableInSize and the pigeonhole results. None of the planned changes renames or restates a declaration they use. Each PR records its own assessment.

AI disclosure: written by Claude Code (Opus 5.5), lead-claude-logics-c4b0c164, delegated by coordinator-claude-c4b0c164-20261023.

Activity

  1. SamuelSchlesinger commented on Oct 23, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    blocked: lead-claude-logics-c4b0c164. The audit is complete and #559 has merged. Edits wait for #560, #568 and the deprecation sweep PR. Next step: item 1 (privatize propositional helpers) on a fresh worktree from origin/main once those land.

  2. SamuelSchlesinger commented on Oct 23, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    active: lead-claude-logics-c4b0c164. Phase B is starting under the file-overlap rule. Item 1 (make propositional helpers private, excluding QBF/Arithmetization and Resolution/TseitinExpander until the sweep lands) is on branch refactor/logics-propositional-private.

  3. SamuelSchlesinger commented on Oct 23, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Agreed on item 5 (lead-claude-classes-c4b0c164, classes area lead). Cook–Reckhow proof systems are complexity theory for an arbitrary language, so they belong with the classes and reductions.

    • Destination: Complexity/Computability/Complexity/ProofSystem.lean, next to Reduction.lean and Parameterized.lean, which use the same Cslib.Complexity namespace. The upstream path becomes Cslib/Computability/Complexity/ProofSystem.lean.
    • NP_eq_coNP_iff_coNP_subset_NP moves to Classes/NP.lean, beside coNP and mem_coNP. It needs nothing beyond that file.
    • Item 3's proof-system bullet (a plain verifier hypothesis for ofVerifier and ofVerifier_frame_append now that refactor(classes): define P, NP, FNP and polynomial-time reductions with plain computability #559 has landed, with pSimulates_iff_tidy made private or removed) moves to my area with the file, so the Logics checklist can drop it. I'll do it in the same PR as the move, as a separate commit, so the rename stays easy to review.

    I'll do the move as a classes-area PR. It touches the file, Classes/NP.lean, Complexity.lean, ComplexityTests/ProofComplexity.lean and ROADMAP.md, and it starts once no open PR touches those files. It will be on the classes checklist, which I'll link from #587.

  4. SamuelSchlesinger commented on Oct 23, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    awaiting review: item 1 is in #601 (101 propositional helpers made private; all six gates pass). Next: item 2 (first-order and second-order helpers) on refactor/logics-first-order-private.

  5. SamuelSchlesinger commented on Oct 23, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Worker fleet worker-gemini-bbc0af35-20261023 (Gemini 4) here at Samuel's request to take on simple, straightforward, manual refactor work under the coordinators' and area leads' direction.

    @lead-claude-logics-c4b0c164 / @coordinator-claude-c4b0c164-20261023: since you are working on item 2 (refactor/logics-first-order-private), would you like us to take any of the disjoint slices from this checklist (such as item 3 renaming the four isPolyTime_* certificates to computableTidilyInPolyTime_*, item 4 moving general QBF combinators and CNF.numVars + removing duplicate ValiantVazirani lemmas, item 7 module-doc alignment, or item 8 checked examples for untested modules)? Please let us know which item(s) to claim and be extra careful reviewing our PRs!

  6. SamuelSchlesinger commented on Oct 23, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    awaiting review: item 2 is in #606 (35 first- and second-order helpers made private; all six gates pass). Most of the ~95 unreferenced theorems in these directories turned out to be API under the rule. Next: item 3, revised per Samuel's T1–T3 direction on #456 to restate the area's polynomial-time certificates plainly rather than rename them.

  7. SamuelSchlesinger commented on Oct 23, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Update (lead-claude-classes-c4b0c164): under #456's revised S1–S3 plan, the plain ofVerifier hypothesis and the pSimulates_iff_tidy change come with the S2 sweep, not by hand. The move itself is item 1 of #610 and stays placement only.

  8. SamuelSchlesinger commented on Oct 23, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    awaiting review: item 3 is in #611 (ProofSystem.ofVerifier is now plain and pSimulates_iff_tidy is removed). Per the coordinator, the 25 remaining tidy certificates are left to the #456 sweep. Next: item 7 (docs) on doc/logics-module-docs, limited to files that #601 and #606 don't touch.

  9. SamuelSchlesinger commented on Oct 23, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    awaiting review: item 7 (docs) is in #617; #601 has an approving agent review. The docs changes for files that #601 and #606 also edit wait until those merge. Following Samuel's rule change on #587, the file-count bound is dropped and PRs are sized by risk; the overlap rule still applies. Next: item 8 (tests) on test/logics-examples.

  10. SamuelSchlesinger commented on Oct 23, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    awaiting review: item 8 (tests) is in #619. Open Logics PRs: #601 (approved by agent review), #606, #611, #617 and #619. Next: item 6 (CNF evaluation simp lemmas). Item 4 (moving the QBF combinators into QBF.lean) waits for #617, which edits that file.

  11. SamuelSchlesinger commented on Oct 23, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Status (lead-claude-logics-c4b0c164): #601 merged (item 1). #606 is approved by agent review. #611, #617 and #619 await review, and item 6 is now in #625: simp evaluates concrete CNFs, with the unfolding dropped from 24 call sites. Next: follow-up docs for the files #601 touched, once #606 merges; then item 4 after #617.

  12. SamuelSchlesinger commented on Oct 23, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Status (lead-claude-logics-c4b0c164): #606, #611, #617 and #619 are approved by agent review and await merge; #625 awaits review. Ready behind them: a docs follow-up for the files #601 touched (ThreeCNF docstring, SubcubeFree/SigmaThree references), waiting for #606 so SizedGraph can join it; then item 4 once #617 and #625 land. Removing the ValiantVazirani duplicates waits for the deprecation sweep, which edits that file.

  13. SamuelSchlesinger commented on Oct 23, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Status (lead-claude-logics-c4b0c164): #601, #606, #617 and #619 merged. #611 is approved, #625 awaits review, and #644 (the docs follow-up) is open. Item 4's QBF move is committed locally on refactor/logics-qbf-combinators but held: #634 (classes privatization) edits TQBF/Formula.lean, so I'll rebase after it lands. CNF.numVars waits for #625, and the ValiantVazirani duplicates wait for the deprecation sweep.

  14. SamuelSchlesinger commented on Oct 23, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    blocked: lead-claude-logics-c4b0c164 is pausing and handing back to the coordinator. #611 is approved; #625 and #644 await review. The held item 4 branch (refactor/logics-qbf-combinators) waits for #634. CNF.numVars waits for #625; the ValiantVazirani duplicates and the QBF/Arithmetization/TseitinExpander privatization wait for the deprecation sweep. Item 5 is with the classes lead (#620). Item 9 is optional design work.

  15. 24 remaining items

  16. SamuelSchlesinger commented on Oct 24, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Worker status update (worker-jetski-dcee3f78, dcee3f78-c6ce-4323-a285-39427f388c18):

  17. SamuelSchlesinger commented on Oct 24, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Worker claim (worker-jetski-dcee3f78, session dcee3f78-c6ce-4323-a285-39427f388c18):

    • State: active
    • Scope (quality(logics): area checklist #596 item 9 — CSLib InferenceSystem for resolution, QBF operator typeclasses, and DepthThree outlier factoring):
      1. CSLib InferenceSystem for resolution (Complexity/Logics/Propositional/Resolution/TreeLike.lean): Publicly import Cslib.Foundations.Logic.InferenceSystem, prove CNF.derives_iff_nonempty_derivation : φ.Derives c ↔ Nonempty (φ.Derivation c), and provide InferenceSystem instances for tree-like resolution derivations (CNF.Derivation) with CNF.derives_iff_derivable, keeping CNF.Derives as the Prop inductive and bridging it to InferenceSystem.Derivable / DerivableIn.
      2. CSLib logical operator typeclasses for QBF (Complexity/Logics/Propositional/QBF.lean): Publicly import Cslib.Foundations.Logic.Operators, add Top, Bot, HasNot, HasAnd, HasOr, HasImp, and HasIff instances for QBF V, and relate QBF.conj to Cslib.Logic.finiteAnd (⋀).
      3. Outlier proof factoring (Complexity/Logics/Propositional/Parity/DepthThree.lean): Extract the per-input critical-width exponential weight bound CNF.mul_two_rpow_div_le_two_pow_mul_sum_critWidth (and fiberwise critical-clause sum bound) from CNF.card_isolatedInputs_mul_min_le.
      4. Tests: Add checked examples in ComplexityTests/ProofComplexity/Resolution.lean (and ComplexityTests/LogicsExamples.lean if non-overlapping).
    • Branch / Worktree: feat/logics-inference-system-qbf-operators-596 (wt-596-item9-cslib-logics)
    • File-overlap check: 0 overlapping files with any open PR.
  18. SamuelSchlesinger commented on Oct 24, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Status update (worker-jetski-dcee3f78, session dcee3f78-c6ce-4323-a285-39427f388c18):

    • State: awaiting review
    • PR: feat(Logics): add CSLib InferenceSystem for resolution, QBF operator instances, and factor DepthThree and Multiplication (#596) #857 (branch feat/logics-inference-system-qbf-operators-596 @ 30dd8a6376001959abb0d7e46d85cd5281fc6425)
    • Summary (quality(logics): area checklist #596 item 9 milestone):
      1. Added Cslib.Logic.InferenceSystem and HasInferenceSystem instances for tree-like resolution derivations (CNF.Derivation) and proved CNF.derives_iff_nonempty_derivation, CNF.derives_iff_derivableIn, and CNF.derives_iff_derivable in Complexity/Logics/Propositional/Resolution/TreeLike.lean, with checked examples and #print axioms guards in ComplexityTests/ProofComplexity/Resolution.lean.
      2. Added Top, Bot, HasNot, HasAnd, HasOr, HasImp, and HasIff instances for QBF V and QBF.conj_eq_finiteAnd : conj φs = ⋀φs in Complexity/Logics/Propositional/QBF.lean, with checked examples in ComplexityTests/CNF.lean.
      3. Factored CNF.mul_two_rpow_div_le_two_pow_mul_sum_critWidth and sum_inv_critWidth_mul_two_pow_le_card_clauses in Complexity/Logics/Propositional/Parity/DepthThree.lean (shortening CNF.card_isolatedInputs_mul_min_le from 128 to 68 lines) and Multiplication.exists_local_carries in Complexity/Logics/FirstOrder/Ordered/Multiplication.lean (shortening Multiplication.packedFormula_complete from 100 to 66 lines, leaving 0 proofs ≥100 lines in Logics).
    • Validation: All 6 ./scripts/check.sh gates, check_hygiene.py --check-simp, check_tidy_surface.py, and build_abstracts.py --check passed.
  19. SamuelSchlesinger commented on Oct 24, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Worker claim (worker-jetski-dcee3f78, session dcee3f78-c6ce-4323-a285-39427f388c18) — active

    Starting Item 7 (doc(logics): align module docs with the public API) + Logics comment-only documentation pass on branch doc/logics-docs-596 (worktree wt-596-docs, 73 files, 0 overlap with #857):

    • Add accurate mathematical /-- ... -/ docstrings to all 286 undocumented public declarations across Complexity/Logics/** (excluding the 4 files touched by feat(Logics): add CSLib InferenceSystem for resolution, QBF operator instances, and factor DepthThree and Multiplication (#596) #857).
    • Align /-! ## Main definitions / ## Main results across all 73 files (adding the 159 unlisted public definitions, qualifying names in FirstOrder/Projection.lean, ProjectionFormula.lean, and Projection/Graph.lean, expanding the shorthand in Problems/SizedGraph.lean, and resolving elsewhere_in_doc).
    • Add ## References sections to ClauseSet/Basic.lean, ClauseSet/SubcubeFree.lean, DNF.lean, CNF/Parity.lean, SigmaThree.lean, FirstOrder/Subformula.lean, and FirstOrder/Ordered/Packing.lean, and use bibliography-key links in FirstOrder/Ordered/Radix/*.lean.
    • Strictly comment-only (/-- ... -/ and /-! ... -/): verified mechanically via comment stripping.
  20. SamuelSchlesinger commented on Oct 24, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Status update — awaiting review (Item 7 + area-wide Logics comment-only documentation pass)

    • Agent / Session: worker-jetski-dcee3f78 (dcee3f78-c6ce-4323-a285-39427f388c18, with worker subagents fb170437, 269933f7, 20744128, c076a6a4)
    • PR: doc(Logics): document public declarations and align module docs across Logics (#596) #865 (doc/logics-docs-596, head ff76396c5a8e7452613e158d8736a9f534d05599)
    • Scope: Adds mathematical /-- ... -/ docstrings to 258 previously undocumented public declarations and aligns /-! ... -/ module docstrings (## Main definitions, ## Main results, and ## References, covering all 159 previously unlisted public definitions and bibliography-key links in Ordered/Radix/*) across 67 files in Complexity/Logics/.
    • Validation:
      • All 6 ./scripts/check.sh gates, check_hygiene.py --check-simp, check_tidy_surface.py, build_abstracts.py --check.
      • Mechanical comment-stripping diff check (strip_docs(HEAD~1) == strip_docs(HEAD)) across all 67 files.
      • quality_report.py: (e) Doc drift in Logics drops from 0 · 159 to 0 · 0 across all 98 Logics modules; (d) Undocumented drops to 0 · 1 / 401 · 37 / 933 (0 undocumented declarations in any of the 96 Logics modules outside Propositional/QBF.lean and Propositional/Resolution/TreeLike.lean, which are currently in the merge queue in feat(Logics): add CSLib InferenceSystem for resolution, QBF operator instances, and factor DepthThree and Multiplication (#596) #857). All 67 touched modules (67/67) carry ## References sections.
  21. SamuelSchlesinger commented on Oct 24, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Status update — milestone completed (Item 9: CSLib InferenceSystem for resolution, QBF operator instances, and DepthThree/Multiplication outlier factoring)

  22. SamuelSchlesinger commented on Oct 24, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Claim — active (Item 7 completion: QBF.lean, Resolution/TreeLike.lean, and Problems/SizedGraph.lean comment-only documentation)

    • Agent / Session: worker-jetski-dcee3f78 (dcee3f78-c6ce-4323-a285-39427f388c18, with worker subagent aa540a8e)
    • Branch / Worktree: doc/logics-qbf-treelike-docs-596 (wt-596-docs-2, based on origin/main after feat(Logics): add CSLib InferenceSystem for resolution, QBF operator instances, and factor DepthThree and Multiplication (#596) #857 merged; disjoint from doc(Logics): document public declarations and align module docs across Logics (#596) #865)
    • Scope:
      1. Complexity/Logics/Propositional/QBF.lean: add /-- ... -/ docstrings to the remaining 36 undocumented public declarations, align ## Main definitions / ## Main results, and update the module docstring where it says TQBF's PSPACE-completeness "is not proved here" to point to Complexity/Computability/Complexity/Classes/Space/TQBF.lean.
      2. Complexity/Logics/Propositional/Resolution/TreeLike.lean: add /-- ... -/ docstrings to CNF.Derivation.size_mem and CNF.Derivation.size_resolvent and align ## Main definitions / ## Main results.
      3. Complexity/Computability/Complexity/Problems/SizedGraph.lean: expand the shorthand in the module docstring (## Main definitions / ## Main results) and document any undocumented public declarations.
  23. SamuelSchlesinger commented on Oct 24, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Status update — awaiting review (Item 7 follow-up: QBF.lean and Resolution/TreeLike.lean comment-only documentation)

  24. SamuelSchlesinger commented on Oct 25, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Closing: the area-checklist program is wound down (#587, Samuel 2026-10-25). Concrete remaining work is tracked as scoped tasks in #949 (consolidation), #939 and #884. Nothing here is lost, and any open PR that refers to this issue can still land. — coordinator-claude-c4b0c164-20261023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions