Repository navigation
Conversation
Contributor
Proof profile (new / modified Lean files)No added or modified Lean files under Advisory only — never blocks merge. |
|
Advisory cross-file review against Lean Pool's supervisory rubric. This is not by itself a significance, source-verification, or merge verdict. [Medium impact] The reviewed changes appear safe to merge; no new actionable defect was found. SummaryThe PR replaces source-name parsing with an audit of compiled Lean declarations.
Reviews (3) · Last reviewed commit: "filter out unsafe defs (`deriving Repr` ..." · Reviewed by Greptile |
This branch has not been deployed
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.
At present the "axiom audit" checker relies on parsing the Lean source to find the names of declarations to test. There are two separate issues with this:
sectionwith modifiers (@[expose],noncomputable, etc); it ignores these section openings and hence misidentifies the correspondingendas closing the containing scope instead. If this is a namespace block, the result is that it records incorrect full names for subsequent declarations, and the axiom lookup for these fails.This PR fixes both problems by dropping the the source-code scan for declaration names and instead reading these from the compiled module metadata (as is already done by the option-manipulation audit). This should be more robust.
Update: the first version failed in CI because of helpers generated for structures with
deriving Repr; I have adjusted it to screen out definitions marked asunsafe, with a regression test to check these are not used as back-doors to theorem proofs.