mirror of
https://github.com/powdr-labs/powdr.git
synced 2026-04-20 03:03:25 -04:00
Adds a basic mock prover that simply asserts that all constraints are satisfied. This first version has the following features: - Polynomial constraints are verified. - Speed is reasonable. For example, the RISC-V Keccak example is verified in 0.087s. - Error messages are good: It prints the relevant constraint and row, and all relevant assignments. Missing features: - Machine connections (i.e., any lookups or permutations) are not yet validated. - Later-stage witnesses are not yet validated. Caveats: - We rely on `powdr_backend_utils::split_pil`, so lookups / permutations *within* a namespace are ignored. Example: ``` $ cargo run pil test_data/pil/fibonacci.pil -o output -f --prove-with mock ```