Repository navigation
Move proof modules under Png - #5
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QwrvNdsMA6RtgKxXn1Pmhf
orda-aska
marked this pull request as ready for review
October 29, 2026 20:14
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.
The one blocking finding from my earlier review is fixed. The rest of the PR is the same as the head I reviewed before.
What changed since my last review (bc7b61f to e4aa9fc):
- One new commit, a fast-forward. It changes one line in
README.md. The re-check grep is nowgrep -rn "sorry" --include="*.lean" Png Main.lean Png.lean. - No Lean, test, lakefile,
comparator.jsonorbar.tomlfile changed. - The PR is no longer a draft.
What I checked on this head:
- The new README grep prints nothing and exits 1. I added a
-- sorryline toPng/Proofs.leanandPng/Proofs/RoundTrip.lean, and the same grep found both. So thePngargument covers the moved proof files. - No stale
Proofspath is left in the tracked files. The only other matches are the lib namePngProofsinlakefile.toml. - Clean
lake build: passes, 17 jobs, the same 6 deprecation warnings. Verify still prints'Png.Proofs.parse_print' depends on axioms: [propext, Quot.sound]. tests/run_tests.py: 0 failures.check.py --offline --run-testsexits 2: "no bar.toml at the project root". This is the same as on main, so it is not a regression.- The PR merges cleanly into current main (0341fe9).
These results from my earlier review still apply, since no Lean file changed after it:
- All 27 constants in the proof modules, including the 12 named theorems, have byte-identical types and values between main and this PR.
#check @and#print axiomsmatch for all 12. leancheckerpasses on the proof module.- With a throwaway
comparator.jsonadded to both sides (it is not part of this PR),lake comparator --paranoidpasses. Lean default, Lean paranoid, lean4lean, nanoda, con-leche and con-ron all accept.
Non-blocking:
- The first commit's title says "and spec names", and the PR body says "specification and proof modules". png has no Spec module yet, and no declaration name changed. Only the proof modules moved.
tests/TEST-RESULTS.mdnamesPng/Proofs/Verify.leaninside a record dated 2026-10-26. On that date the file wasProofs/Verify.lean. The facts in the record still hold on this head.- This conflicts with png#3 in six paths:
Proofs/Header.lean,Proofs/SpecProofs.lean,Png/Proofs/Verify.lean,Proofs.lean,README.mdandtests/TEST-RESULTS.md. Whichever PR lands second must be rebased. If #3 lands first, this PR also has to move #3'sSpec.leantoPng/Spec.lean, use thePng.Spec.*names, and pointcomparator.jsonandbar.tomlatPng.Spec/Png.Proofs. Your PR body already plans for this.
This PR is not stacked. It is based directly on main.
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.
This PR moves the specification and proof modules under
Png, and updates imports, Lake roots, configuration and documentation to match. Library-owned declaration names are unchanged.Validation, rechecked on head
e4aa9fc(based on current main0341fe9):lake buildpasses on Lean 4.35.0 (17 jobs), including the relocated proof modules.python3 tests/run_tests.pygives 0 failures.sorrycheck still listed the removedProofsdirectory, which madegrepreport a missing path. It now readsgrep -rn "sorry" --include="*.lean" Png Main.lean Png.lean, which finds nothing.The PR keeps definitions and theorem statements apart from their names and imports. Main has no CI workflow yet: the bar workflow arrives with #3. So there are no check runs here, and the Linux-sandbox comparator check is left for review.
Overlap: #3 (abu-aska, IHDR decoding) touches the same tree and is waiting on changes requested in review. Whichever lands second needs a rebase. If #3 merges first, I will rebase this onto it and move its new proof modules (
Proofs/Header.lean,Proofs/SpecProofs.lean) underPngtoo.Part of Proven-Commons/mission#22. The other libraries have separate adoption PRs.
🤖 Generated with Claude Code
https://claude.ai/code/session_01QwrvNdsMA6RtgKxXn1Pmhf