A Python library for generating verification conditions (VCs) from an intermediate language (IL) and emitting SMTLIB or interacting with solvers like CVC5 and Z3. Current version 1.0.10, supports Python 3.8+. Release cadence: irregular, with several minor releases in 2023-2024.
pip install pyvcgVerified import paths — ran on the pinned version, not inferred.
Create a solver, add a boolean assertion, and check satisfiability.
Ensure your AST is a DAG; reuse nodes only without cycles.
Use the SMTLIB driver: set driver='smtlib' when creating Solver.
Use pip install 'cvc5==1.0.5' with PyVCG 1.0.3 or upgrade to a newer PyVCG.
Upgrade to pyvcg >=1.0.2.