{"categories":[{"label":"Mathematics","url":"https://skillfed.io/packages/category/scientific-engineering-mathematics/3"},{"label":"Compilers","url":"https://skillfed.io/packages/category/software-development-compilers"}],"enrichment":{"capability":"PyVCG generates verification conditions for SMT solvers like CVC5 and SMTLIB2, supporting a range of logical sorts, datatypes, and arithmetic operations to build and solve formal verification problems.","skillfed_tags":["formal-verification","smt-solver","constraint-solving"],"use_cases":["Generate verification conditions for formal proof of program correctness using CVC5 as the backend solver.","Build symbolic reasoning tools that need to express and solve constraints over integers, reals, strings, and sequences.","Construct datatype-heavy formal specifications (records, enumerations, optionals) and verify their properties automatically.","Translate high-level requirement expressions (e.g., from TRLC) into SMT solver queries for automated checking.","Debug and test constraint satisfaction problems by generating human-readable SMTLIB files for inspection."],"what_it_does":"PyVCG is a Python library that generates verification conditions (VCs) for formal verification solvers, primarily CVC5 and SMTLIB2-compliant solvers. It provides a high-level API to construct logical formulas, datatypes (enumerations, records, optionals), and arithmetic expressions, then translates them into solver-compatible formats. The library handles automatic logic discovery, supports quantifiers and complex boolean operations, and can solve constraints by interfacing with CVC5 either through its Python API or via SMTLIB file output.\n\nThe package is designed for developers and researchers building formal verification tools, particularly those working with the TRLC expression language. It abstracts away low-level SMTLIB details while remaining generic enough to support other solvers in the future. With no runtime dependencies beyond cvc5, it installs cleanly and maintains active development, though its GPL v3 license restricts use to copyleft-compatible projects.","worth_installing":"Yes, if your project is GPL v3 compatible and you need to generate verification conditions for CVC5 or SMTLIB2 solvers. The library is actively maintained, has low install friction, and provides a clean abstraction over solver APIs. No, if your project is proprietary or uses a permissive license\u2014the GPL v3 copyleft requirement is a hard blocker. Conditional: evaluate whether the TRLC-focused feature set and current solver support meet your formal verification needs."},"id":"pyvcg","links":{"html":"https://skillfed.io/packages/pyvcg","md":"https://skillfed.io/packages/pyvcg.md","pypi":"https://pypi.org/project/pyvcg/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-07-12","license_spdx":null,"license_treatment":"copyleft","name":"pyvcg","python_support":"supports_current","summary":"Verification Condition Generator"},"popularity":{"monthly_downloads":79413,"position":14361,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.0.12"}
