Add Lean 4 showcase proofs for issue 452 constructor lowering#563
Add Lean 4 showcase proofs for issue 452 constructor lowering#563peter941221 wants to merge 2 commits intoasymptotic-code:mainfrom
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
| --- | ||
| exiting with bytecode transformation errors | ||
| error: Pure functions with loops are not supported | ||
| ┌─ tests/inputs\pure_functions\issue_452_match.move:13:1 |
There was a problem hiding this comment.
Windows backslash in snapshot breaks cross-platform CI
High Severity
The snapshot file contains a Windows-style backslash path separator (tests/inputs\pure_functions\issue_452_match.move) whereas every other snapshot in the same directory uses forward slashes (tests/inputs/pure_functions/...). This snapshot was generated on Windows and will cause insta snapshot assertion failures on Linux/macOS CI, since the post_process_output function only replaces the sources_dir prefix but does not normalize remaining path separators in the output.
| ``` | ||
|
|
||
| If `lake` is not on the current shell `PATH`, open a new terminal after the user-level environment | ||
| changes, or invoke it via `C:\Users\peter\.elan\bin\lake.exe`. |
There was a problem hiding this comment.
Personal filesystem path committed in README
Low Severity
The README contains a developer's personal Windows filesystem path (C:\Users\peter\.elan\bin\lake.exe). This is a local development artifact that leaks a developer's username and is not useful guidance for other contributors. A generic or environment-variable-based path reference would be more appropriate.


Summary
lean/issue_452matchloweringScope
This PR is intentionally a showcase and documentation layer. It does not replace the main Boogie + Z3 verification pipeline and it does not claim full correctness of the entire prover.
Included modules
Corefor the tiny enum model and base theoremsPureLoweringfor constructor-lowering preservationQuantifierViewfor the existential witness /exists!-style viewMatchBoundaryfor the currently unsupported pure enummatchboundaryProofToCode.mdfor Rust-to-Lean concept mappingValidation
lake buildNotes for reviewers
issue_452.MatchBoundarymodule explicitly states that pure enummatchlowering remains unsupported.