This article may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details.(November 2023) (Learn how and when to remove this message)
CVC5
Developer(s)
Stanford University and University of Iowa
Initial release
2022; 2 years ago (2022)
Stable release
1.0.8[1]
/ 31 August 2023
Written in
C++
Operating system
Windows, Linux, macOS
Type
Theorem prover
License
BSD 3-clause
Website
cvc5.github.io
In computer science and mathematical logic, Cooperating Validity Checker (CVC) is a family of satisfiability modulo theories (SMT) solvers. The latest major versions of CVC are CVC4 and CVC5 (stylized cvc5); earlier versions include CVC, CVC Lite, and CVC3.[2] Both CVC4 and cvc5 support the SMT-LIB and TPTP input formats for solving SMT problems, and the SyGuS-IF format for program synthesis. Both CVC4 and cvc5 can output proofs that can be independently checked in the LFSC format, cvc5 additionally supports the Alethe and Lean 4 formats.[3][4] cvc5 has bindings for C++, Python, and Java.
CVC4 competed in SMT-COMP in the years 2014-2020,[5] and cvc5 has competed in the years 2021-2022.[6] CVC4 competed in SyGuS-COMP in the years 2015-2019,[7] and in CASC in 2013-2015.
CVC4 uses the DPLL(T) architecture,[8] and supports the theories of linear arithmetic over rationals and integers, fixed-width bitvectors,[9] floating-point arithmetic,[10] strings,[11] (co)-datatypes,[12] sequences (used to model dynamic arrays),[13] finite sets and relations,[14][15] separation logic,[16] and uninterpreted functions among others. cvc5 additionally supports finite fields.[17]
In addition to standard SMT and SyGuS solving, cvc5 supports abductive reasoning, which is the problem of constructing a formula B that can be conjoined with a formula A to prove a goal formula C.[18][19]
cvc5 has been subject to several independent test campaigns.[20]
^Barrett, Clark; Tinelli, Cesare (2018), Clarke, Edmund M.; Henzinger, Thomas A.; Veith, Helmut; Bloem, Roderick (eds.), "Satisfiability Modulo Theories", Handbook of Model Checking, Cham: Springer International Publishing, pp. 305–343, doi:10.1007/978-3-319-10575-8_11, ISBN 978-3-319-10575-8
^Barbosa, Haniel; Reynolds, Andrew; Kremer, Gereon; Lachnitt, Hanna; Niemetz, Aina; Nötzli, Andres; Ozdemir, Alex; Preiner, Mathias; Viswanathan, Arjun; Viteri, Scott; Zohar, Yoni; Tinelli, Cesare; Barrett, Clark (2022). "Flexible Proof Production in an Industrial-Strength SMT Solver". In Blanchette, Jasmin; Kovács, Laura; Pattinson, Dirk (eds.). Automated Reasoning. Lecture Notes in Computer Science. Vol. 13385. Cham: Springer International Publishing. pp. 15–35. doi:10.1007/978-3-031-10769-6_3. ISBN 978-3-031-10769-6. S2CID 250164402.
^(Barbosa et al. 2022, p. 417)
^"Participants". SMT-COMP. Retrieved 2023-11-29.
^"SMT-COMP". SMT-COMP. Retrieved 2023-11-29.
^
Alur, Rajeev; Fisman, Dana; Singh, Rishabh; Solar-Lezama, Armando (2016-02-02). "Results and Analysis of SyGuS-Comp'15". Electronic Proceedings in Theoretical Computer Science. 202: 3–26. arXiv:1602.01170. doi:10.4204/EPTCS.202.3. ISSN 2075-2180. S2CID 2086015.
^Liang, Tianyi; Reynolds, Andrew; Tinelli, Cesare; Barrett, Clark; Deters, Morgan (2014). "A DPLL(T) Theory Solver for a Theory of Strings and Regular Expressions". In Biere, Armin; Bloem, Roderick (eds.). Computer Aided Verification. Lecture Notes in Computer Science. Vol. 8559. Cham: Springer International Publishing. pp. 646–662. doi:10.1007/978-3-319-08867-9_43. ISBN 978-3-319-08867-9.
^Hadarean, Liana; Bansal, Kshitij; Jovanović, Dejan; Barrett, Clark; Tinelli, Cesare (2014). "A Tale of Two Solvers: Eager and Lazy Approaches to Bit-Vectors". In Biere, Armin; Bloem, Roderick (eds.). Computer Aided Verification. Lecture Notes in Computer Science. Vol. 8559. Cham: Springer International Publishing. pp. 680–695. doi:10.1007/978-3-319-08867-9_45. ISBN 978-3-319-08867-9.
^Brain, Martin; Niemetz, Aina; Preiner, Mathias; Reynolds, Andrew; Barrett, Clark; Tinelli, Cesare (2019). Dillig, Isil; Tasiran, Serdar (eds.). Invertibility Conditions for Floating-Point Formulas. Lecture Notes in Computer Science. Cham: Springer International Publishing. pp. 116–136. doi:10.1007/978-3-030-25543-5_8. ISBN 978-3-030-25543-5. {{cite book}}: |journal= ignored (help)
^Liang, Tianyi; Tsiskaridze, Nestan; Reynolds, Andrew; Tinelli, Cesare; Barrett, Clark (2015). "A Decision Procedure for Regular Membership and Length Constraints over Unbounded Strings". In Lutz, Carsten; Ranise, Silvio (eds.). Frontiers of Combining Systems. Lecture Notes in Computer Science. Vol. 9322. Cham: Springer International Publishing. pp. 135–150. doi:10.1007/978-3-319-24246-0_9. ISBN 978-3-319-24246-0.
^Reynolds, Andrew; Blanchette, Jasmin Christian (2015). "A Decision Procedure for (Co)datatypes in SMT Solvers". In Felty, Amy P.; Middeldorp, Aart (eds.). Automated Deduction - CADE-25. Lecture Notes in Computer Science. Vol. 9195. Cham: Springer International Publishing. pp. 197–213. doi:10.1007/978-3-319-21401-6_13. ISBN 978-3-319-21401-6.
^Sheng, Ying; Nötzli, Andres; Reynolds, Andrew; Zohar, Yoni; Dill, David; Grieskamp, Wolfgang; Park, Junkil; Qadeer, Shaz; Barrett, Clark; Tinelli, Cesare (2023-09-15). "Reasoning About Vectors: Satisfiability Modulo a Theory of Sequences". Journal of Automated Reasoning. 67 (3): 32. doi:10.1007/s10817-023-09682-2. ISSN 1573-0670. S2CID 261829653.
^Bansal, Kshitij; Reynolds, Andrew; Barrett, Clark; Tinelli, Cesare (2016). "A New Decision Procedure for Finite Sets and Cardinality Constraints in SMT". In Olivetti, Nicola; Tiwari, Ashish (eds.). Automated Reasoning. Lecture Notes in Computer Science. Vol. 9706. Cham: Springer International Publishing. pp. 82–98. doi:10.1007/978-3-319-40229-1_7. ISBN 978-3-319-40229-1.
^Meng, Baoluo; Reynolds, Andrew; Tinelli, Cesare; Barrett, Clark (2017). "Relational Constraint Solving in SMT". In de Moura, Leonardo (ed.). Automated Deduction – CADE 26. Lecture Notes in Computer Science. Vol. 10395. Cham: Springer International Publishing. pp. 148–165. doi:10.1007/978-3-319-63046-5_10. ISBN 978-3-319-63046-5.
^Reynolds, Andrew; Iosif, Radu; Serban, Cristina; King, Tim (2016). "A Decision Procedure for Separation Logic in SMT" (PDF). In Artho, Cyrille; Legay, Axel; Peled, Doron (eds.). Automated Technology for Verification and Analysis. Lecture Notes in Computer Science. Vol. 9938. Cham: Springer International Publishing. pp. 244–261. doi:10.1007/978-3-319-46520-3_16. ISBN 978-3-319-46520-3. S2CID 6753369.
^Ozdemir, Alex; Kremer, Gereon; Tinelli, Cesare; Barrett, Clark (2023). "Satisfiability Modulo Finite Fields". In Enea, Constantin; Lal, Akash (eds.). Computer Aided Verification. Lecture Notes in Computer Science. Vol. 13965. Cham: Springer Nature Switzerland. pp. 163–186. doi:10.1007/978-3-031-37703-7_8. ISBN 978-3-031-37703-7. S2CID 257235627.
^Reynolds, Andrew; Barbosa, Haniel; Larraz, Daniel; Tinelli, Cesare (2020-05-30). "Scalable Algorithms for Abduction via Enumerative Syntax-Guided Synthesis". Automated Reasoning. Lecture Notes in Computer Science. Vol. 12166. pp. 141–160. doi:10.1007/978-3-030-51074-9_9. ISBN 978-3-030-51073-2. PMC 7324138.
^(Barbosa et al. 2022, p. 426)
^
Bringolf, Mauro; Winterer, Dominik; Su, Zhendong (2023-01-05). "Finding and Understanding Incompleteness Bugs in SMT Solvers". Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering. ASE '22. New York, NY, USA: Association for Computing Machinery. pp. 1–10. doi:10.1145/3551349.3560435. ISBN 978-1-4503-9475-8. S2CID 255441416.
Sun, Maolin; Yang, Yibiao; Wen, Ming; Wang, Yongcong; Zhou, Yuming; Jin, Hai (2023-07-26). "Validating SMT Solvers via Skeleton Enumeration Empowered by Historical Bug-Triggering Inputs". 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE). ICSE '23. Melbourne, Victoria, Australia: IEEE Press. pp. 69–81. doi:10.1109/ICSE48619.2023.00018. ISBN 978-1-6654-5701-9. S2CID 259860528.
Niemetz, Aina; Preiner, Mathias; Barrett, Clark (2022). "Murxla: A Modular and Highly Extensible API Fuzzer for SMT Solvers". In Shoham, Sharon; Vizel, Yakir (eds.). Computer Aided Verification. Lecture Notes in Computer Science. Vol. 13372. Cham: Springer International Publishing. pp. 92–106. doi:10.1007/978-3-031-13188-2_5. ISBN 978-3-031-13188-2. S2CID 251447764.
Kim, Jongwook; So, Sunbeom; Oh, Hakjoo (2023-07-26). "Diver: Oracle-Guided SMT Solver Testing with Unrestricted Random Mutations". 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE). ICSE '23. Melbourne, Victoria, Australia: IEEE Press. pp. 2224–2236. doi:10.1109/ICSE48619.2023.00187. ISBN 978-1-6654-5701-9. S2CID 259860926.
Sun, Maolin; Yang, Yibiao; Wang, Yang; Wen, Ming; Jia, Haoxiang; Zhou, Yuming (2023). "SMT Solver Validation Empowered by Large Pre-Trained Language Models". 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE). pp. 1288–1300. doi:10.1109/ase56229.2023.00180. ISBN 979-8-3503-2996-4. S2CID 265055537. Retrieved 2023-11-29.
Bringolf, Mauro (2021). Fuzz-testing SMT Solvers with Formula Weakening and Strengthening (Master Thesis thesis). ETH Zurich. doi:10.3929/ethz-b-000507582.
and 13 Related for: Cooperating Validity Checker information
In computer science and mathematical logic, CooperatingValidityChecker (CVC) is a family of satisfiability modulo theories (SMT) solvers. The latest...
vicious hunters, new photographic techniques now allow us to see them cooperating with each other and protecting their families. From tiny babies hatching...
include automated program verification (where an algorithm checks the validity of another algorithm) and automated parallelization of software. Separation...
Dobbs, Michael (October 13, 2008). "Four Pinocchios for Palin". The Fact Checker, Candidate Watch. Demer, Lisa (October 11, 2008). "Palin: 'Very much appreciating...
mechanisms still in place. It used a curious variation of lock stepping. The checker processor ran 1 cycle behind the primary processor. This allowed them to...
objecting to the Electoral College certification in Congress, and refusing to cooperate with the presidential transition of Joe Biden. With Trump vowing that...
display-system gamma, if the observer sees the same brightness in the checkered part and in the homogeneous part of every colored area, then the gamma...
report that "the White House fully cooperated with the Special Counsel's investigation." The Washington Post fact-checker described Barr's claim as "astonishing"...
contradicting the dossier and the McClatchy report. Glenn Kessler, fact-checker for The Washington Post, has said that "Mueller does not indicate he investigated...
by holdovers in the Obama justice department!" The Washington Post fact-checker gave the claim "Four Pinocchios" (its worst rating), noting that Arpaio...
awards one to four Pinocchios to politicians in his Washington Post Fact Checker blog. The cliché "All is fair in love and war", asserts justification for...
Post fact checker talks about Trump and the truth". CBS News. Retrieved November 11, 2021. Glenn Kessler, the chief writer for the "Fact Checker" feature...
threat. DeVotta 2007, pp. viii, 11. Knuth, Rebecca. "Destroying a Symbol: Checkered History of Sri Lanka's Jaffna Public Library" (PDF). The International...