google / google/zerocopy

Tracking: Anneal interactive proofs

Open
#3,201 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
2.6k
Forks
179
Avg merge
1d 19h
Merged PRs (30d)
29

Description

We have two conflicting goals:
- Write specifications and proofs inline in `.rs` files
- Enable interactive proving (for humans via IDEs and agents via MCPs or similar)

There are two problems with supporting specifications and proofs inline in `.rs` files:
- Existing interactive tools (the Lean LSP server, the Lean REPL, etc) do not work on `.rs` files
- The `.rs` files don't contain the full expansion of the `.rs` code, meaning that humans/agents need to mentally model the expansion that Aeneas and Anneal are performing in order to understand how edits to `.rs` Anneal annotations correspond to the underlying `.lean` files

## Progress

- [ ] Write agent instructions for using `cargo anneal verify --allow-sorry` to extract `.lean` files, iterate on `.lean` files directly, and then copy complete proofs back to `.rs` files
- [ ] ???
- [ ] TODO: Some sort of LSP passthrough and REPL passthrough for IDE integration and MCP

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.