AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Formally Verified Arguments of Knowledge in Lean
Translation pending
Developer toolsLean · TeXGitHub @Verified-zkEVMOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗This library aims to provide a modular and composable framework for formally verifying succinct non-interactive arguments of knowledge (SNARKs). This is done as part of the verified-zkevm effort.
In the first stage of this library's development, we plan to formalize interactive (oracle) reductions (the information-theoretic core of almost all SNARKs today), and prove completeness and soundness for a select list of protocols (see the list of active formalizations below).
For each protocol, we aim to provide:
In the future, we plan to verify functional equivalence of the executable spec (or modifications thereof) for certain protocols (e.g., sum-check, FRI, or WHIR), with the extracted code from Rust implementations of the same protocols (via hax).
The core of our library is a mechanized theory of Interactive Oracle Reductions (see OracleReduction):
OracleReduction in our formalization) is an interactive protocol between a prover and a verifier to reduce a relation $$R_1$$ on some public statement & private witness to another relation $$R_2$$.Using the theory of interactive oracle reductions, we then formalize various proof systems in ProofSystem.
The library is currently in development. Alongside general development of the library's underlying theory, the following cryptographic components are actively being worked on:
VCV-io, ArkLib's main dependency alongside mathlib is also being developed in parallel. We are also starting work on the Bluebell probabilistic program logic in (our fork of) iris-lean.
We welcome outside contributions to the library! Please see CONTRIBUTING and, the list of issues for immediate tasks, and the ROADMAP for a list of desired contributions.
If you're interested in working on any of the items mentioned in the list of issues or the roadmap, please see verified-zkevm.org, contact the authors, or open a new issue.
New releases are planned in line with the Lean and mathlib stable release cycles.