--- id: cvc5 version: "1.3.4" license: unclear license_treatment: unclear maintenance: active --- # cvc5 — Python bindings for cvc5 (BSD version) License: unclear · Maintenance: active · Downloads: 296.1K/mo ## What it is and what it does cvc5 is the fifth generation of the Cooperating Validity Checker family, a C++-based SMT solver designed to determine satisfiability of first-order logic formulas under various theories. The Python bindings expose this solver as a library, allowing developers to programmatically construct formulas, assert constraints, and query satisfiability. It is intended for formal verification, automated reasoning, constraint solving, and theorem proving tasks. The package is actively maintained, has no Python runtime dependencies (the solver itself is compiled), and provides wheels for modern Python versions and multiple platforms. It is suitable for both standalone use and integration into larger verification or analysis tools. Use it for: - Verify correctness of software by encoding program properties as first-order formulas and checking satisfiability - Solve constraint satisfaction problems in planning, scheduling, or configuration domains - Perform automated reasoning and theorem proving for mathematical or logical assertions - Debug or analyze symbolic execution traces in program analysis tools - Validate hardware designs or protocol specifications expressed in logic ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. cvc5 is a satisfiability modulo theories (SMT) solver that determines whether first-order logic formulas are satisfiable under combinations of theories; it provides Python bindings to use the solver as a library. Yes, if you need SMT solving or automated reasoning. cvc5 is actively maintained, has no Python dependencies, installs via precompiled wheels on common platforms, and carries no known vulnerabilities. The main caveat is that license treatment is unclear in the metadata—verify BSD 3-Clause terms apply to your use case before deploying in proprietary software. ## Install pip install cvc5 uv add cvc5 poetry add cvc5 ## Installing cvc5 Before you install: Medium install friction: precompiled wheels are available for Python 3.10–3.13 across macOS (Intel and ARM), Linux (x86_64 and aarch64), and Windows (x86_64 and ARM). The package has no runtime dependencies and is actively maintained. License in practice: License treatment is unclear in the package metadata, though the description references BSD 3-Clause licensing. Verify the actual license terms before use in proprietary or restricted contexts. Quickstart: pip install cvc5 import cvc5 solver = cvc5.Solver() # construct and assert formulas, then check satisfiability Requires a platform with a precompiled wheel available (macOS, Linux, or Windows on x86_64 or ARM); exact Python version requirements are unspecified. Verify before relying: - Exact Python version requirements (requires_python is unspecified in metadata) - Whether the BSD 3-Clause license applies to the Python bindings or differs from the C++ core - Performance characteristics and memory overhead compared to earlier CVC versions ## Package facts - License: not declared (unclear) - Python support: unspecified - Install friction: medium - Maintenance: active - Downloads: 296.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags SMT solver satisfiability, first-order logic theorem proving, constraint satisfaction solver, formal verification tool, satisfiability modulo theories, automated reasoning library, logic formula solver, formal-verification, constraint-solving, automated-reasoning [View on SkillFed](https://skillfed.io/packages/cvc5) · [View on PyPI](https://pypi.org/project/cvc5/)