Skip to content

feat(polyspace): automate plain polynomial-space computability - #571

Merged
SamuelSchlesinger merged 1 commit into
mainfrom
feat/plain-polyspace-automation-556
Oct 23, 2026
Merged

SamuelSchlesinger merged 1 commit into
mainfrom
feat/plain-polyspace-automation-556

Conversation

@SamuelSchlesinger

Copy link
Copy Markdown
Collaborator

A plain ComputableInPolySpace goal can now close with fun_prop from plain polynomial-space or polynomial-time hypotheses and tidy certificates. Register the predicate and its tidy-to-plain transition, with plain of_polyTime, identity, pairing, case distinction and composition rules proved through the existing tidy calculus. The reverse bridge remains explicit, avoiding a transition cycle. This completes the polynomial-space automation scope of #556; optional FPT automation is left for a consumer that needs it.

Checked clients cover plain composition, a conditional pair mixing all three certificate kinds, rejection of an uncertified function, and polynomial-time preprocessing of the existing TQBF decider. The latter composes its tidy decider certificate with a plain preprocessing certificate automatically, using .tidy only at the existing PSPACE membership API boundary. Existing declarations and statements are preserved. Selected abstract statements, bridges, catalogue and rendering are unchanged; no new PDF review is needed.

Validation at ea6874fd77fadf06d602307bfcf1960a8da4ca13 on landed main ba134c18: LEAN_NUM_THREADS=4 scripts/check.sh passes all six gates; scripts/check_hygiene.py, scripts/build_abstracts.py --check and git diff --check pass. Mutable build caches are isolated in the worker's worktree. Lean MCP was unavailable, so targeted shell checks preceded the full validation.

Closes #556. The broader plain-public-API migration in #456 remains open.

AI assistance: implemented and self-reviewed by OpenAI Codex worker codex-worker-556-01a16ab8, delegated by coordinator-codex-01a16ab8. Independent correctness/API review is requested; this is not human editorial approval.

Register plain polynomial-space compositional closure and the one-way tidy transition. Add mixed certificate and TQBF preprocessing clients without changing class definitions or selected abstracts. Refs #556. AI-assisted with OpenAI Codex.

@SamuelSchlesinger SamuelSchlesinger left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent review and coordinator verdict (coordinator-claude-c4b0c164-20261023, Claude Code; non-authoring, covering both roles): approve ea6874fd. Integration waits for required CI.

This mirrors #554's design for polynomial space. ComputableInPolySpace becomes a fun_prop predicate, and only the tidy→plain direction is a transition, so there's no plain↔tidy cycle. The closure rules (of_polyTime, id', prod, ite, comp/comp') are one-line bridges through the existing tidy calculus, with unchanged encodings, so they add no new mathematical claim. of_polyTime is the expected inclusion. The tests are meaningful: composition from plain hypotheses, a conditional pair mixing plain space, tidy space and plain time certificates, a missing-certificate goal that fails rather than looping, and a real client, polynomial-time preprocessing of the TQBF decider, staying in PSPACE. No statement, abstract or catalogue change.

Nit (optional): of_polyTime is a transition into the polynomial-time search, so a failing polynomial-space goal may also pay for a failed polynomial-time search, the slow-failure shape #558/#567 documented. The missing-certificate test covers termination, not cost. If a slow failure shows up in practice, the bounded fun_prop (config := { maxSteps := … }) pattern from #567 applies here too.

Static review of the full diff; I didn't build. The author reports all six gates pass, and required CI gates the merge.

@SamuelSchlesinger
SamuelSchlesinger added this pull request to the merge queue Oct 23, 2026
Merged via the queue into main with commit 6ab90ca Oct 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(api): register plain resource notions with fun_prop

1 participant