The Ultimate Formal Methods Toolbox on Formal Methods Tools http://localhost:1313/ Recent content in The Ultimate Formal Methods Toolbox on Formal Methods Tools Hugo en-us Sat, 07 Jun 2025 00:00:00 +0000 Bitwuzla http://localhost:1313/tools/sat-smt/bitwuzla/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/bitwuzla/ <p>Bitwuzla is a Satisfiability Modulo Theories (SMT) solver for the theories of fixed-size bit-vectors, floating-point arithmetic, arrays, uninterpreted functions and their combinations.</p> Boolector http://localhost:1313/tools/sat-smt/boolector/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/boolector/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2024</span> <span style="display:none">]</span> </div> Boolector is a Satisfiability Modulo Theories (SMT) solver for the theories of fixed-size bit-vectors, arrays and uninterpreted functions. Succeeded by <a href="../bitwuzla">Bitwuzla</a></p> Colibri http://localhost:1313/tools/sat-smt/colibri/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/colibri/ <p>Colibri is an SMT solver.</p> CryptoMiniSat http://localhost:1313/tools/sat-smt/cryptominisat/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/cryptominisat/ <p>CryptoMiniSat is a SAT solver.</p> <h2 id="apis-and-bindings">APIs and Bindings</h2> <p>This tool is available through the following interfaces:</p> <ul> <li><strong>C++ Namespace:</strong> Documentation on <a href="https://www.msoos.org/cryptominisat5/">homepage</a></li> <li><strong>Python package:</strong> <a href="https://pypi.org/project/pycryptosat/">PyPI package</a></li> </ul> cvc4 http://localhost:1313/tools/sat-smt/cvc4/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/cvc4/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2021</span> <span style="display:none">]</span> </div> cvc4 is an automatic theorem prover for SMT problems. It is succeeded by <a href="../cvc5">cvc5</a></p> cvc5 http://localhost:1313/tools/sat-smt/cvc5/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/cvc5/ <p>cvc5 is an automatic theorem prover for SMT problems.</p> dReal http://localhost:1313/tools/sat-smt/dreal/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/dreal/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2023</span> <span style="display:none">]</span> </div> dReal is an automated reasoning tool. It focuses on solving problems that can be encoded as first-order logic formulas over the real numbers. Its special strength is in handling problems that involve a wide range of nonlinear real functions.</p> Glucose http://localhost:1313/tools/sat-smt/glucose/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/glucose/ <p>Glucose is a SAT solver.</p> Lingeling http://localhost:1313/tools/sat-smt/lingeling/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/lingeling/ <p>Lingeling is a SAT solver.</p> MathSAT http://localhost:1313/tools/sat-smt/mathsat/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/mathsat/ <p><div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(226, 181, 59);"></span> <span style="display:none">[</span> <span style="color: rgb(226, 181, 59); font-size: 1rem;">Closed-Source Tool</span> <span style="display:none">]&nbsp;</span> </div> MiniSat is a minimalistic, open-source SAT solver, developed to help researchers and developers alike to get started on SAT.</p> MiniSat http://localhost:1313/tools/sat-smt/minisat/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/minisat/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2013</span> <span style="display:none">]</span> </div> MiniSat is a minimalistic, open-source SAT solver, developed to help researchers and developers alike to get started on SAT.</p> OpenSMT http://localhost:1313/tools/sat-smt/opensmt/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/opensmt/ <p>OpenSMT is a compact and open-source SMT-solver written in C++, with the main goal of making SMT-Solvers easy to understand and use as a computational engine for formal verification. OpenSMT is built on top of <a href="http://localhost:1313/tools/minisat">MiniSAT</a>.</p> ParaFROST http://localhost:1313/tools/sat-smt/parafrost/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/parafrost/ <p>ParaFROST is a parallel SAT solver with GPU-accelerated inprocessing capable of harnessing NVIDIA CUDA-enabled GPUs in applying modern inprocessing tecnhiques in parallel.</p> <h2 id="apis-and-bindings">APIs and Bindings</h2> <p>This tool is available through the following interfaces:</p> <ul> <li><strong>C API:</strong> <a href="https://z3prover.github.io/api/html/group__capi.html">Z3 C API Reference</a></li> <li><strong>C++ API:</strong> <a href="https://z3prover.github.io/api/html/namespacez3.html">Z3 C++ Namespace Reference</a></li> <li><strong>.NET API:</strong> <a href="https://z3prover.github.io/api/html/namespace_microsoft_1_1_z3.html">Z3 .NET Namespace Reference</a></li> <li><strong>Java API:</strong> <a href="https://z3prover.github.io/api/html/namespacecom_1_1microsoft_1_1z3.html">Z3 Java API Reference</a></li> <li><strong>Python bindings:</strong> <a href="https://pypi.org/project/z3-solver/">z3-solver PyPI package</a> (<a href="https://z3prover.github.io/api/html/z3.html">Documentation</a>)</li> <li><strong>Rust bindings:</strong> <a href="https://crates.io/crates/z3">z3 crate on crates.io</a></li> </ul> Q3B http://localhost:1313/tools/sat-smt/q3b/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/q3b/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2023</span> <span style="display:none">]</span> </div> Q3B is an SMT solver for the quantified bit-vector formulas which uses BDDs.</p> Riss http://localhost:1313/tools/sat-smt/riss/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/riss/ <p> <div style="display: flex; align-items: center; gap: 8px;"> <span style="display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: rgb(240, 85, 85);"></span> <span style="display:none">[</span> <span style="color: rgb(240, 85, 85); font-size: 1rem;">Not Maintained Since 2017</span> <span style="display:none">]</span> </div> Riss is a SAT solving tool collection.</p> SMT-RAT http://localhost:1313/tools/sat-smt/smt-rat/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/smt-rat/ <p>SMT-RAT is an SMT Real Algebra Toolbox.</p> <h2 id="apis-and-bindings">APIs and Bindings</h2> <p>This tool is available through the following interfaces:</p> <ul> <li><strong>C++ API:</strong> <a href="https://ths-rwth.github.io/smtrat/dc/dad/md__builds_ths_smt_smtrat_doc_markdown_07_using_smtrat.html#autotoc_md25">C++ API Reference</a></li> </ul> SMTInterpol http://localhost:1313/tools/sat-smt/smtinterpol/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/smtinterpol/ <p>SMTInterpol is an SMT Solver that can compute Craig interpolants for various theories.</p> <h2 id="apis-and-bindings">APIs and Bindings</h2> <p>This tool is available through the following interfaces:</p> <ul> <li><strong>Java API:</strong> <a href="https://ultimate.informatik.uni-freiburg.de/smtinterpol/doc/index.html">Java API Reference</a></li> </ul> STP http://localhost:1313/tools/sat-smt/stp/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/stp/ <p>STP is a constraint solver for quantifier-free bitvectors.</p> <h2 id="apis-and-bindings">APIs and Bindings</h2> <p>This tool is available through the following interfaces:</p> <ul> <li><strong>C API:</strong> <a href="https://stp.readthedocs.io/en/latest/#c-library-usage">stp C API Reference</a></li> <li><strong>Python bindings:</strong> <a href="https://stp.readthedocs.io/en/latest/#python-usage">stp PyPI package</a></li> </ul> veriT http://localhost:1313/tools/sat-smt/verit/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/verit/ <p>veriT is an SMT solver developed by LORIA and ULiege. It supports a wide range of theories and is designed for use in formal verification, automated reasoning, and related research areas. veriT accepts input in SMT-LIB2 and DIMACS formats and provides a command-line interface for ease of integration into verification workflows. The solver is actively maintained and distributed under the BSD license, making it suitable for both academic and industrial applications.</p> Yices 2 http://localhost:1313/tools/sat-smt/yices/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/yices/ <p>Yices is an SMT solver developed by SRI International. It is widely used for checking the satisfiability of logical formulas over various theories. It supports the SMT-LIB standard and its own input language, and provides APIs for several programming languages, making it suitable for research and industrial applications in software and hardware verification.</p> <h2 id="apis-and-bindings">APIs and Bindings</h2> <p>This tool is available through the following interfaces:</p> <ul> <li><strong>General API:</strong> <a href="https://yices.csl.sri.com/doc/index.html">Yices API Reference</a></li> <li><strong>Python bindings:</strong> <a href="https://pypi.org/project/yices/">yices2 PyPI package</a></li> <li><strong>Rust bindings:</strong> <a href="https://crates.io/crates/yices2">yices2 crate on crates.io</a></li> </ul> Z3 http://localhost:1313/tools/sat-smt/z3/ Sat, 07 Jun 2025 00:00:00 +0000 http://localhost:1313/tools/sat-smt/z3/ <p>Z3 is a general-purpose theorem prover widely used for SAT &amp; SMT solving.</p> <h2 id="apis-and-bindings">APIs and Bindings</h2> <p>This tool is available through the following interfaces:</p> <ul> <li><strong>C API:</strong> <a href="https://z3prover.github.io/api/html/group__capi.html">Z3 C API Reference</a></li> <li><strong>C++ API:</strong> <a href="https://z3prover.github.io/api/html/namespacez3.html">Z3 C++ Namespace Reference</a></li> <li><strong>.NET API:</strong> <a href="https://z3prover.github.io/api/html/namespace_microsoft_1_1_z3.html">Z3 .NET Namespace Reference</a></li> <li><strong>Java API:</strong> <a href="https://z3prover.github.io/api/html/namespacecom_1_1microsoft_1_1z3.html">Z3 Java API Reference</a></li> <li><strong>Python bindings:</strong> <a href="https://pypi.org/project/z3-solver/">z3-solver PyPI package</a> (<a href="https://z3prover.github.io/api/html/z3.html">Documentation</a>)</li> <li><strong>Rust bindings:</strong> <a href="https://crates.io/crates/z3">z3 crate on crates.io</a></li> </ul> About http://localhost:1313/about/ Mon, 01 Jan 0001 00:00:00 +0000 http://localhost:1313/about/ <p>The Formal Methods Tools project is dedicated to developing, maintaining, and promoting tools that support the application of formal methods in software engineering. Our goal is to make formal verification, specification, and analysis techniques accessible and practical for both researchers and practitioners.</p> <h2 id="key-objectives">Key Objectives</h2> <ul> <li>Provide a comprehensive list of tools for formal methods.</li> <li>Group tools by rich metadata to support collaboration and boost tools&rsquo; strengths.</li> <li>Foster a collaborative community for tool development and support.</li> </ul> <h2 id="whos-behind-this">Who&rsquo;s Behind This?</h2> <p>Howdy. My name is Landon Taylor. I sometimes go by mossBiscuits. This is one of my hobby projects. I have a passion for formal methods. When I started learning about verification, there was a sharp barrier to entry due partially to the sprawl of content online. I wanted to solve this problem, so I have been chipping away at this website for a while now.</p> Contribute http://localhost:1313/contribute/ Mon, 01 Jan 0001 00:00:00 +0000 http://localhost:1313/contribute/ <p>Instructions coming soon. Please see <a href="https://gitmoss.fyi/fmtools/content/wiki/Contribute">https://gitmoss.fyi/fmtools/content/wiki/Contribute</a> for temporary instructions.</p> <h2 id="quick-links">Quick Links</h2> <ul> <li>Request addding a tool: <a href="https://gitmoss.fyi/fmtools/content/issues/new?template=.gitea%2fissue_template%2fadd_tool.md">Submit Git Issue</a></li> <li>Request fixing a tool: <a href="https://gitmoss.fyi/fmtools/content/issues/new?template=.gitea%2fissue_template%2ffix_tool.md">Submit Git Issue</a></li> </ul> MIT License http://localhost:1313/license/ Mon, 01 Jan 0001 00:00:00 +0000 http://localhost:1313/license/ <p>MIT License</p> <p>Copyright (c) 2025 Landon Taylor.</p> <p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &ldquo;Software&rdquo;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p> Privacy http://localhost:1313/privacy/ Mon, 01 Jan 0001 00:00:00 +0000 http://localhost:1313/privacy/ <p>This website does not collect or track any personal data from visitors. No cookies, personalized analytics, or tracking scripts are used. No ads are shown on this website, and there is no money to be made from this project.</p> <p>If you choose to contribute content (including emails, issues, and pull requests), any information you voluntarily provide may be stored as part of the website&rsquo;s content and source code. Only the data you explicitly submit will be saved, and data is not sold by the website&rsquo;s owner. Due to the public nature of its disclosure, this information is not considered private and may be used by the general public as allowed by respective laws and policies. Your privacy is respected, and no unnecessary data is collected or shared.</p>