EVERYTHING XIAOMI
Get listed
cvc5 logo

cvc5

cvc5 is a free, open-source automatic theorem prover for satisfiability modulo theories problems.

Place
#3 of 34
Score
6.8
cvc5's website

What cvc5 is

cvc5 is a free, open-source automatic theorem prover for satisfiability modulo theories problems. It determines whether first-order formulas are satisfiable or valid across combinations of background theories, including arrays, bit-vectors, floating-point values, arithmetic, and strings. It also includes a Syntax-Guided Synthesis engine for synthesizing functions against those theories. cvc5 can run as a standalone tool or be used as a library, with documented C++, C, Java, and Python APIs. Its command-line binary accepts SMT-LIB v2 and SyGuS-IF input. The solver supports proofs and unsatisfiable cores for explaining unsatisfiability results. The project provides source releases and binaries for Linux, macOS, and Windows, and links to an online interface for running SMT-LIB scripts. It is a joint effort led by Stanford University and the University of Iowa. The project site says research and commercial use are essentially unrestricted. The default license is modified BSD, but optional GPLv3 dependencies make the resulting combined work subject to GPLv3.

Good

  • Supports a range of standardized SMT-LIB theories
  • Includes a Syntax-Guided Synthesis engine
  • Offers C++, C, Java, and Python APIs
  • Provides proofs and unsatisfiable cores
  • Source and binary releases cover Linux, macOS, and Windows

Watch out

  • Optional GPLv3 dependencies change the combined work’s license
  • Command-line input languages listed are SMT-LIB v2 and SyGuS-IF

Who it suits

It suits researchers and developers working with theorem proving, SMT problems, or syntax-guided synthesis. It can be used directly or integrated through its programming APIs.

Verdict

cvc5 offers standalone and library use, multiple language interfaces, and an online option. Check the license implications if you link optional GPLv3 dependencies.

Plans and prices

From cvc5's own pricing page, checked 11 Oct 2026.

All about pricing
PlanPriceWhat it gives you
cvc5FreeOpen-source solver; optional GPL-licensed dependencies change the license of the combined work

The facts

Each one read from cvc5's own pages, with the date it was checked.

What it does

Downloads
The project provides source releases and binaries for Linux, macOS, and Windows, and suggests prebuilt binaries for new users.checked 11 Oct 2026
Input formats
The command-line binary supports SMT-LIB v2 and SyGuS-IF input languages.checked 10 Oct 2026
Integrations
The project lists applications using cvc5, including Kind 2 and QMaxUSE as backend solvers, and TRLC through PyVCG for proving absence of runtime errors.checked 11 Oct 2026
Interfaces
The documentation lists C++, Java, and Python API bindings.checked 11 Oct 2026
License limit
cvc5 uses a modified BSD license by default; linking optional GPLv3 dependencies makes the resulting combined work subject to GPLv3.checked 11 Oct 2026
Online access
The official site links to an online cvc5 interface, and the tutorial describes using it to run SMT-LIB scripts in a web interface.checked 11 Oct 2026
Programming APIs
The documented APIs include C++, C, Java, and Python, including a Pythonic API.checked 10 Oct 2026
Project leadership
The project is a joint effort led by Stanford University and the University of Iowa.checked 10 Oct 2026
Proof outputs
cvc5 supports proofs and unsatisfiable cores for explaining unsatisfiability results.checked 11 Oct 2026
Purpose
cvc5 is an efficient open-source automatic theorem prover for satisfiability modulo theories problems.checked 11 Oct 2026
Robustness
The development team says its core usage model without experimental options is intended to be extremely robust, while noting that the team prioritizes user bugs over fuzzer bugs.checked 10 Oct 2026
Robustness note
The development team says it aims to make core usage without experimental options extremely robust and prioritizes user bugs over fuzzer bugs because the team is small.checked 11 Oct 2026
Support
The project directs bug reports to its GitHub issue tracker and questions, feature requests, and contributions to GitHub Discussions.checked 11 Oct 2026
Synthesis
cvc5 includes a Syntax-Guided Synthesis engine for synthesizing functions with respect to background theories and their combinations.checked 11 Oct 2026
Theory support
It supports standardized SMT-LIB theories including arrays, bit-vectors, floating-point numbers, integer and real arithmetic, mixed-integer arithmetic, and strings, as well as several nonstandard or extended theories.checked 11 Oct 2026
Use
cvc5 can be used as a standalone tool or as a library, with essentially no limit on research or commercial use according to the project site.checked 11 Oct 2026
Use and licensing
It can be used as a stand-alone tool or as a library, with essentially no limit on research or commercial use according to the project site.checked 10 Oct 2026
Web access
The project homepage links to an online version labeled “Try cvc5 online!”.checked 10 Oct 2026
What it proves
It can determine satisfiability or validity of first-order formulas over combinations of background theories.checked 11 Oct 2026
What it solves
It can prove satisfiability or validity of first-order formulas with respect to combinations of background theories.checked 10 Oct 2026

Where it runs

Platforms
The project provides source and binary releases for Linux, MacOS, and Windows.checked 10 Oct 2026
The full review of cvc5

cvc5 is an automatic theorem prover for developers and researchers working with formal verification and synthesis. It suits teams that need a solver they can run on its own or embed in software. Its broad theory support and APIs are compelling; the main caveat is the licensing effect of optional GPLv3 dependencies.

Overview

cvc5 checks whether first-order formulas are satisfiable or valid across combinations of background theories. It also offers Syntax-Guided Synthesis, which synthesizes functions subject to those theories. That makes it useful both for direct verification work and as a solver behind another tool. Kind 2, QMaxUSE, and TRLC use it as a backend or in verification checks.

Proofs and unsatisfiable cores can help explain unsatisfiability results. The project describes its core usage without experimental options as intended to be extremely robust, while prioritizing user bugs over fuzzer bugs. That is a sensible focus for production workflows, though it does not make experimental options equally dependable.

Key features

Theory support and interfaces

cvc5 supports standardized SMT-LIB theories for arrays, bit-vectors, floating-point numbers, integer and real arithmetic, mixed-integer arithmetic, and strings, along with nonstandard and extended theories. This range is valuable when a verification problem combines several domains, but users still need to express their problem in a supported formalism.

The command-line tool accepts SMT-LIB v2 and SyGuS-IF. Library bindings include C++, C, Java, and Python, with a Pythonic API documented as well. This gives software teams several ways to integrate the solver; readers looking for a graphical, interactive proof environment may find the command-line and library model a poor fit.

Synthesis and support

The SyGuS engine expands cvc5 beyond checking formulas by synthesizing functions under background-theory constraints. Bug reports go to the issue tracker, while questions, feature requests, and contributions are handled through GitHub Discussions. The project is a joint effort led by Stanford University and the University of Iowa.

Pricing

cvc5 is free: its open-source plan costs nothing and has no trial requirement. It can be used as a standalone tool or as a library, with essentially no limit on research or commercial use under the project's stated terms. The default license is modified BSD. If a build links optional GPLv3 dependencies, the resulting combined work is subject to GPLv3, a material consideration for commercial distribution.

Platforms

cvc5 supports Linux, macOS, Windows, API use, self-hosting, and web access. Source releases and binaries are provided for the desktop platforms, and the project recommends prebuilt binaries for new users. The homepage also links to an online interface for running SMT-LIB scripts, which offers a way to try the solver through a browser.

Who it's for

cvc5 is a strong fit for researchers, formal-methods practitioners, and developers who need SMT solving across several theories, synthesis support, or an embeddable solver with bindings in their preferred language. It is less suitable for people seeking a general-purpose interactive theorem prover or a guided visual workflow: its strengths center on formulas, scripts, and software integration.

Pros and cons

  • Broad standardized theory coverage: handles common domains such as arrays, arithmetic, strings, and bit-vectors, including mixed-integer arithmetic.
  • Standalone and library use: supports command-line workflows and integration through C++, C, Java, and Python APIs.
  • Proof and synthesis capabilities: produces proofs and unsatisfiable cores, and can synthesize functions with SyGuS.
  • License needs review for some builds: optional GPLv3 dependencies change the license obligations for the combined work.
  • Specialized interaction model: its SMT-LIB and API focus may not suit users who want an interactive proof assistant.

Alternatives

Lean is another free option for readers comparing theorem-proving tools; choose it if its platform and project setup better match your workflow.

Rocq is a free interactive theorem prover and dependently typed programming language, making it the more relevant option when that style of proof development is the priority.

PVS offers a free noncommercial plan and custom pricing for commercial use, so it is worth considering when its platform support fits and the solver's commercial terms are acceptable.

Z3 is a free, MIT-licensed solver with API, self-hosted, web, and Android support; consider it when its licensing or platform options suit your deployment better.

Boogie is free, MIT licensed, and requires .NET and a supported SMT solver, so it fits readers already working in that toolchain.

HOL4 is free software under a Modified BSD license and supports self-hosted use, an alternative to consider when those terms and platforms fit.

Why3 is free under LGPL 2.1 with a special linking exception; consider it if that licensing arrangement or its supported platforms better fit your project.

Isabelle is a free option distributed under open-source licenses with a BSD-style main code base, suitable for readers comparing licensing and platform coverage.

Browse the Formal Verification Tools list for more options.

Verdict

Choose cvc5 if you need a free, embeddable SMT solver with wide theory coverage, synthesis, and language bindings. Its main advantage is the combination of standalone and library workflows; look elsewhere if you need an interactive proof environment, and check optional GPLv3 dependencies before distributing a combined work.

Getting started

  1. Visit the cvc5 website
  2. Download a binary for Linux, macOS, or Windows, or obtain a source release
  3. Choose the standalone tool or a library integration
  4. Provide SMT-LIB v2 or SyGuS-IF input to the command-line binary
  5. Use the C++, C, Java, or Python API
  6. Try the linked online cvc5 interface with an SMT-LIB script

Limits worth knowing

cvc5 is free and open source. Optional GPLv3 dependencies make the resulting combined work subject to GPLv3 instead of the default modified BSD licensing.

Questions

Is cvc5 free?

Yes. cvc5 is free and open source, and the project describes research and commercial use as essentially unrestricted.

Which platforms are supported?

The project provides source releases and binaries for Linux, macOS, and Windows, plus web access and self-hosted deployment.

Which programming APIs are available?

Documented APIs include C++, C, Java, and Python, including a Pythonic API.

What input languages does cvc5 accept?

Its command-line binary supports SMT-LIB v2 and SyGuS-IF input languages.

What license does cvc5 use?

The default license is modified BSD. Linking optional GPLv3 dependencies makes the combined work subject to GPLv3.

Where can users get help?

Bug reports go to the issue tracker, while questions, feature requests, and contributions are directed to GitHub Discussions.

Alternatives to cvc5

All alternatives
  1. 1Lean logo

    Lean

    Free planWebLinuxmacOSWindows
    6.9Free plan
  2. 2Rocq logo

    Rocq

    Free planWebExtensionLinuxmacOS
    6.9Free plan
  3. 3

    Why3

    Free planWebAPILinuxSelf-hosted
    6.8Free plan
  4. 4

    PVS

    Free planLinuxmacOSWindows
    6.6Free plan
  5. 5

    Z3

    Free planAndroidWebAPILinux
    6.6Free plan
  6. 6

    HOL4

    Free planLinuxmacOSSelf-hostedWindows
    6.5Free plan