sorryfreeLast reviewed 2026-09-13

Proof assistant vs SMT-based verifier

Direct answerA proof assistant (Lean, Rocq, Isabelle, F*) checks human- or AI-written proofs against a small kernel and can express arbitrary mathematics; an SMT-based verifier (Picus, CIVER, Certora Prover, Kani) discharges properties automatically but only within decidable fragments and may return 'unknown'.

In more detail

The practical trade: SMT tools give results in minutes with no proof engineering and no specification (for determinism) but time out on large or nonlinear problems; proof assistants scale to any property and any size at the cost of expert time. Mature pipelines use both: automatic checks first, proofs for what matters most.

Frameworks that address it

Lean 4 and Mathlib, Picus, Certora Prover, Kani.

Circuit soundness, Circuit completeness, Underconstrained circuit, Overconstrained circuit, Symbolic vs computational model, Specification gap, Trusted computing base and verification boundary, Bounded model checking, Equivalence checking, Refinement, Constant-time verification, Arithmetization (R1CS, PLONKish, AIR), Extraction (code to model), Witness generation vs constraints

Getting help

Firms on this index that handle this in practice: zkSecurity, Galois, Veridise, Nethermind (Formal Verification team).