CVC4(1)
π CVC4 β okay bestie, sit down, we're doing theorem proving π
so this is the cvc4(1) manual page, and also pcvc4(1) because they share a page like the iconic duo they are π«Ά
β¨ NAME β¨
cvc4, pcvc4 β an automated theorem prover π
πΈ SYNOPSIS πΈ
cvc4 [ options ] [ file ]
pcvc4 [ options ] [ file ]
π¦ DESCRIPTION π¦
okay so cvc4 is an automated theorem prover for first-order formulas, and it does this with respect to background theories of interest. that's the whole vibe. meanwhile pcvc4 is CVC4's "portfolio" variant, which lowkey means it can run multiple CVC4 instances in parallel, each one configured differently. multi-tasking queen behavior, no cap. π
when you hand it a file, the commands get read from that file and executed. CVC4 speaks the SMT-LIB input format (versions 1.2 and 2.0, both of them, we don't play favorites) and its own native "presentation language" β go look at cvc4(5) for that one. the presentation language is similar to CVC3's presentation language in a lot of ways but NOT identical, so don't come for me. π
if file is unspecified? standard input gets read instead (and, heads up, the CVC4 presentation language is assumed in that case). and if file is unspecified and CVC4 is connected to a terminal? interactive mode, babes. it's giving conversation. π
π COMMON OPTIONS π
every option marked with [*] has a --no-OPTIONNAME variant, which literally reverses the sense of the option. yes, all of them. it's that simple. β¨
$
$
every option marked with [*] has a --no-OPTIONNAME variant, which reverses the sense of the option. (yes bestie, I know, that's what we just said β the page says it twice and I'm not about to skip one, that would be a crime. π)
π DIAGNOSTICS π
CVC4 reports all syntactic and semantic errors on standard error. every single one. it is not subtle about it. π£οΈ
π HISTORY π
grab a snack bestie, this is a lore drop. π
the CVC4 effort is the culmination of fifteen years of theorem proving research, and it all started with the Stanford Validity Checker (SVC) back in 1996.
then came SVC's successor, the Cooperating Validity Checker (CVC) β more optimized internal design, it produced proofs, it used the Chaff SAT solver, and it had a bunch of usability enhancements. its name comes from the cooperative nature of decision procedures in Nelson-Oppen theory combination, where they share equalities between shared terms amongst each other. teamwork makes the dream work, fr fr. π«Ά
CVC Lite showed up first in 2003 β a rewrite of CVC that tried to make CVC more flexible (hence the "lite" π
) while extending the feature set: CVCLite supported quantifiers where its predecessors did not. ate. then CVC3 was a major overhaul of portions of CVC Lite: better decision procedure implementations, support for using MiniSat in the core, and generally better performance. glow up. β¨
CVC4 is the new version β the fifth generation of this validity checker line, now celebrating fifteen years of heritage. it's a complete re-evaluation of the core architecture, built to be both performant and to serve as a cutting-edge research vehicle for the next several years. and rather than taking CVC3 and redesigning problem parts, the approach was clean-room, starting from scratch. before using any designs from CVC3, they were thoroughly scrutinized, vetted, and updated. many parts of CVC4 bear only a superficial resemblance, if any, to their correspondent in CVC3. main character energy tbh. π
but here's the thing β CVC4 is fundamentally similar to CVC3 and many other modern SMT solvers: it's a DPLL( T ) solver, with a SAT solver at its core and a delegation path to different decision procedure implementations, each in charge of solving formulas in some background theory. π§
and why the ground-up rewrite? the performance characteristics of CVC3, ngl. CVC3 has many useful features, but some core aspects of the design led to high memory use, and using heavyweight computation (when more nimble engineering approaches could suffice) makes CVC3 a much slower prover than other tools. because those designs are central to CVC3, a new version was preferable to a selective re-engineering, which would have ballooned in short order. so they made a whole new one. iconic. π
β VERSION β
this manual page refers to CVC4 version CVC4_RELEASE_STRING.
π BUGS π
an issue tracker for the CVC4 project is maintained at https://github.com/CVC4/CVC4/issues. found something cursed? take it there, bestie. π
π AUTHORS π
CVC4 is developed by a team of researchers at Stanford University and the University of Iowa. see the AUTHORS file in the distribution for a full list of contributors. shoutout to the whole squad. π«Ά
π₯ SEE ALSO π₯
also, the CVC4 wiki has useful info about the design and internals of CVC4, and it's maintained at http://cvc4.cs.stanford.edu/wiki/. iykyk. πΈ
that's the whole page, bestie. this was CVC4 release CVC4_RELEASE_STRING, dated 2025-10-27, and we're out β CVC4(1) and proud. slay, go prove something. π
πβ¨
π¦ where this page comes from
- ubuntu resolute: cvc4 1.8-5 Β· GPL-3.0-or-later
- ubuntu stonking: cvc4 1.8-5 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms