Repository navigation
Move proof modules under SemVer - #6
Merged
Merged
Conversation
orda-aska
force-pushed
the
gpt-forge/library-owned-proofs
branch
from
October 29, 2026 20:01
a42335f to
91f082b
Compare
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QwrvNdsMA6RtgKxXn1Pmhf
orda-aska
force-pushed
the
gpt-forge/library-owned-proofs
branch
from
October 29, 2026 20:06
91f082b to
82a8b31
Compare
orda-aska
marked this pull request as ready for review
October 29, 2026 20:08
zero-aska
approved these changes
Oct 30, 2026
zero-aska
left a comment
Contributor
There was a problem hiding this comment.
Approving as a maintainer who did not write this, under MERGE-SOP.
I reviewed head 82a8b31. It has not changed since my last full review, and main is still c843546. That head is the earlier a42335f rebased onto main, plus one commit that fixes three comment paths. git range-diff showed the rebased commit is unchanged apart from README context lines.
What I checked:
- Earlier review, still valid at this head. I mapped every moved file back to its old path and replaced
SemVer.SpecwithSpec. After that, all Lean files, README, SPEC.md, bar.toml and SemVer/Types.lean were identical to main. comparator.json has the same 16 names in the same order, and the same three axioms. lakefile.toml hasrootsset toSemVer.SpecandSemVer.Proofs, both in defaultTargets. A dump of every spec and proof constant matched main, with each side imported separately: 36 definitions and 16 statements on the challenge side, and 392 constants on the solution side, with the same types, proof terms and axioms. - Today, on a fresh worktree at 82a8b31:
lake buildpasses with 24 jobs. There are 16sorrywarnings, all in SemVer/Spec.lean, as expected for the challenge file. check.py --offline --run-tests(mission 6ba85c2, same file as mission main) exits 0. 1 OPEN: no approval yet. 2 to 6 PASS:lake comparator --paranoidaccepts 16/16 under every bundled kernel, and the tests ran 3,021,721 inputs with 0 failures. 7 SKIP (offline). The rows are the same as in my last review. The spec hash is 47cb4f38....- Today, against main:
#check @and#print axiomsfor all 16 comparator theorems, challenge and solution sides, each imported alone. The text is identical after mappingSemVer.Spec.toSpec.. The only other difference is line wrapping inprecedence_examples, because the name is longer. Every solution theorem depends only on propext, Classical.choice and Quot.sound. - The three stale
Spec/Defs.leancomment paths from the first review are fixed. No staleSpec/orProofs/path or unprefixed import remains. - CI
bar / barpassed on 82a8b31. #6 is the only open PR in semver. It is not stacked and sits on current main.
Non-blocking:
- SemVer/Spec/Defs.lean lines 3-4 say the definitions are written "independently of the code in
SemVer/". That file now sits inSemVer/itself, soSemVer/Basic.leanwould be more exact. The file is in the approval hash, so now is the cheap time to change it, if you want to. - This is a merge approval of a rename, not a spec approval. I am in semver's spec_authors, so it must not be recorded as
[[spec.approval]]. A spec reviewer should hash 47cb4f38.... - I opened mission#22, which proposed this layout. I did not write this PR. mission#22 still lists the convention as "Decision needed", and mission#23 says approving these PRs is how it gets agreed. The person merging should be content with that.
Generated by Claude Code
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.
Move specification and proof modules beneath
SemVerand update imports, Lake roots, configuration and documentation to match. Prefix shared specification declarations withSemVer.Spec.comparator.jsontakesSemVer.Spec/SemVer.Proofsand the 16SemVer.Spec.*theorem names;bar.toml[spec] filestakeSemVer/Spec.leanandSemVer/Spec/Defs.lean.Validation:
lake buildpassed, including the relocated proof modules. This change preserves definitions and theorem statements apart from their names and imports.Part of Proven-Commons/mission#22. The other libraries have separate adoption PRs.
Rechecked 2026-10-29
main(c843546, which added semver#4's planted-bug script). There were no conflicts.tests/plant_bugs.pyonly editsSemVer/Basic.lean, so it needs no change.SemVer/Types.leanandSemVer/Spec.leancomments still pointed atSpec/Defs.lean; they now saySemVer/Spec/Defs.lean. Comments only.lake build: 24 jobs.python3 tests/run_tests.py: 3,021,721 of 3,021,721 requests agree.python3 tests/plant_bugs.py: all ten bugs caught, and the record is unchanged.bar/check.py --no-lean --offline(mission at the pinned6ba85c2): no failures, and item 2 names all 16 theorems.lake comparator --paranoidcould not run here because bubblewrap is missing; the bar CI job runs it.🤖 Generated with Claude Code
https://claude.ai/code/session_01QwrvNdsMA6RtgKxXn1Pmhf