747 lines
12 KiB
HTML
747 lines
12 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en-us" dir="ltr">
|
|
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content ="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<title>Z3 | Formal Methods Tools</title>
|
|
|
|
|
|
<meta name="keywords" content="Formal Methods Tools">
|
|
<meta property="og:locale" content='en_US'>
|
|
<meta property="og:type" content="article">
|
|
<meta property="og:title" content="Z3">
|
|
<meta property="og:description" content="Z3 is a high-performance SMT solver and theorem prover developed by Microsoft Research. It is widely used for checking the satisfiability of logical formulas">
|
|
<meta property="og:url" content="http://localhost:1313/tools/z3/">
|
|
<meta property="og:image" content="images/%!s(<nil>)">
|
|
<link rel="canonical" href="http://localhost:1313/tools/z3/">
|
|
|
|
<link rel="apple-touch-icon" sizes="180x180" href='http://localhost:1313/apple-touch-icon.png'>
|
|
<link rel="icon" type="image/png" sizes="32x32" href='http://localhost:1313/favicon-32x32.png'>
|
|
<link rel="icon" type="image/png" sizes='16x16' href='http://localhost:1313/favicon-16x16.png'>
|
|
<link rel="manifest" href='http://localhost:1313/site.webmanifest'>
|
|
|
|
<link rel="stylesheet" href="http://localhost:1313/css/styles.e3fcfb3452c69d09414fe512e9dca31d879e4a6c47d23010fbb07eb6693d447f645d3bd2d021c0d28d0f7b4fe6f32a10e599488cdb16c6750a9a126788131917.css" integrity="sha512-4/z7NFLGnQlBT+US6dyjHYeeSmxH0jAQ+7B+tmk9RH9kXTvS0CHA0o0Pe0/m8yoQ5ZlIjNsWxnUKmhJniBMZFw==">
|
|
|
|
|
|
|
|
|
|
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<h1><a href="/">Formal Methods Tools</a></h1>
|
|
|
|
<nav>
|
|
<ul>
|
|
<li>
|
|
<a href="/">Home</a>
|
|
</li>
|
|
<li>
|
|
<a href="/tools/">Tools</a>
|
|
</li>
|
|
<li>
|
|
<a href="/taxonomies/">Taxonomies</a>
|
|
</li>
|
|
<li>
|
|
<a href="/about/">About</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
|
|
|
|
</header>
|
|
<main>
|
|
|
|
|
|
<div id="page-header">
|
|
<h1>Z3</h1>
|
|
|
|
|
|
|
|
<span class="time">Updated <time datetime="2024-02-02T04:14:54-08:00">February 2, 2024</time></span>
|
|
|
|
</div>
|
|
|
|
|
|
<section id="quick-links">
|
|
<h2>Quick Links</h2>
|
|
<div id="link-list">
|
|
<ul>
|
|
|
|
<li><a href="https://github.com/Z3Prover/z3" target="_blank" rel="noopener">Homepage</a></li>
|
|
|
|
<li><a href="https://github.com/Z3Prover/z3" target="_blank" rel="noopener">Source Code</a></li>
|
|
|
|
<li><a href="https://github.com/Z3Prover/z3/discussions" target="_blank" rel="noopener">Discussions</a></li>
|
|
|
|
<li><a href="https://z3prover.github.io/api/html/" target="_blank" rel="noopener">Documentation</a></li>
|
|
|
|
<li><a href="https://rise4fun.com/z3" target="_blank" rel="noopener">Playground</a></li>
|
|
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<section id="taxonomies">
|
|
<h2>At a Glance</h2>
|
|
<table id="taxonomy-table">
|
|
<tbody>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
<td>
|
|
<a
|
|
class="taxonomy-name"
|
|
href="/developers">
|
|
Developers
|
|
</a>
|
|
</td>
|
|
<td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="developers_microsoft-research"
|
|
style="background:rgba(38,15,27,0.4)"
|
|
href="/developers/microsoft-research">
|
|
Microsoft Research
|
|
</a>
|
|
|
|
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
<td>
|
|
<a
|
|
class="taxonomy-name"
|
|
href="/domains">
|
|
Domains
|
|
</a>
|
|
</td>
|
|
<td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="domains_software-verification"
|
|
style="background:rgba(127,54,56,0.4)"
|
|
href="/domains/software-verification">
|
|
Software Verification
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="domains_hardware-verification"
|
|
style="background:rgba(35,59,44,0.4)"
|
|
href="/domains/hardware-verification">
|
|
Hardware Verification
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="domains_embedded-systems"
|
|
style="background:rgba(130,108,187,0.4)"
|
|
href="/domains/embedded-systems">
|
|
Embedded Systems
|
|
</a>
|
|
|
|
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
<td>
|
|
<a
|
|
class="taxonomy-name"
|
|
href="/formalisms">
|
|
Formalisms
|
|
</a>
|
|
</td>
|
|
<td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="formalisms_first-order-logic"
|
|
style="background:rgba(184,51,102,0.4)"
|
|
href="/formalisms/first-order-logic">
|
|
first-order logic
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="formalisms_smt-lib"
|
|
style="background:rgba(62,225,228,0.4)"
|
|
href="/formalisms/smt-lib">
|
|
SMT-LIB
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="formalisms_quantifier-logic"
|
|
style="background:rgba(201,150,70,0.4)"
|
|
href="/formalisms/quantifier-logic">
|
|
quantifier logic
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="formalisms_bit-vectors"
|
|
style="background:rgba(68,186,73,0.4)"
|
|
href="/formalisms/bit-vectors">
|
|
bit-vectors
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="formalisms_arrays"
|
|
style="background:rgba(163,203,195,0.4)"
|
|
href="/formalisms/arrays">
|
|
arrays
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="formalisms_uninterpreted-functions"
|
|
style="background:rgba(129,25,163,0.4)"
|
|
href="/formalisms/uninterpreted-functions">
|
|
uninterpreted functions
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="formalisms_arithmetic"
|
|
style="background:rgba(38,232,22,0.4)"
|
|
href="/formalisms/arithmetic">
|
|
arithmetic
|
|
</a>
|
|
|
|
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
<td>
|
|
<a
|
|
class="taxonomy-name"
|
|
href="/interactions">
|
|
Interactions
|
|
</a>
|
|
</td>
|
|
<td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="interactions_cli"
|
|
style="background:rgba(145,175,87,0.4)"
|
|
href="/interactions/cli">
|
|
CLI
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="interactions_python-api"
|
|
style="background:rgba(2,212,135,0.4)"
|
|
href="/interactions/python-api">
|
|
Python API
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="interactions_rust-bindings"
|
|
style="background:rgba(124,204,243,0.4)"
|
|
href="/interactions/rust-bindings">
|
|
Rust Bindings
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="interactions_playground"
|
|
style="background:rgba(150,199,11,0.4)"
|
|
href="/interactions/playground">
|
|
playground
|
|
</a>
|
|
|
|
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
<td>
|
|
<a
|
|
class="taxonomy-name"
|
|
href="/languages">
|
|
Languages
|
|
</a>
|
|
</td>
|
|
<td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="languages_smt-lib"
|
|
style="background:rgba(62,225,228,0.4)"
|
|
href="/languages/smt-lib">
|
|
SMT-LIB
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="languages_python"
|
|
style="background:rgba(167,245,243,0.4)"
|
|
href="/languages/python">
|
|
Python
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="languages_c++"
|
|
style="background:rgba(246,248,124,0.4)"
|
|
href="/languages/c++">
|
|
C++
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="languages_java"
|
|
style="background:rgba(213,35,135,0.4)"
|
|
href="/languages/java">
|
|
Java
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="languages_c"
|
|
style="background:rgba(215,239,161,0.4)"
|
|
href="/languages/c">
|
|
C#
|
|
</a>
|
|
|
|
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
<td>
|
|
<a
|
|
class="taxonomy-name"
|
|
href="/purposes">
|
|
Purposes
|
|
</a>
|
|
</td>
|
|
<td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="purposes_verification-tools"
|
|
style="background:rgba(229,94,239,0.4)"
|
|
href="/purposes/verification-tools">
|
|
Verification Tools
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="purposes_analysis-tools"
|
|
style="background:rgba(26,123,112,0.4)"
|
|
href="/purposes/analysis-tools">
|
|
Analysis Tools
|
|
</a>
|
|
|
|
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
<td>
|
|
<a
|
|
class="taxonomy-name"
|
|
href="/systems">
|
|
Systems
|
|
</a>
|
|
</td>
|
|
<td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="systems_discrete-systems"
|
|
style="background:rgba(151,241,175,0.4)"
|
|
href="/systems/discrete-systems">
|
|
Discrete Systems
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="systems_concurrent-systems"
|
|
style="background:rgba(14,80,100,0.4)"
|
|
href="/systems/concurrent-systems">
|
|
Concurrent Systems
|
|
</a>
|
|
|
|
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
<td>
|
|
<a
|
|
class="taxonomy-name"
|
|
href="/techniques">
|
|
Techniques
|
|
</a>
|
|
</td>
|
|
<td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="techniques_theorem-proving"
|
|
style="background:rgba(162,224,131,0.4)"
|
|
href="/techniques/theorem-proving">
|
|
Theorem Proving
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="techniques_smt-solving"
|
|
style="background:rgba(85,102,128,0.4)"
|
|
href="/techniques/smt-solving">
|
|
SMT Solving
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a
|
|
class="term-link"
|
|
id="techniques_model-checking"
|
|
style="background:rgba(125,56,99,0.4)"
|
|
href="/techniques/model-checking">
|
|
Model Checking
|
|
</a>
|
|
|
|
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
</tbody>
|
|
</table>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Description</h2>
|
|
<p>Z3 is a high-performance SMT solver and theorem prover developed by Microsoft Research. It is widely used for checking the satisfiability of logical formulas over various theories, including arithmetic, bit-vectors, arrays, and uninterpreted functions. Z3 supports the SMT-LIB standard and provides APIs for several programming languages, making it suitable for integration into formal verification, program analysis, and constraint solving tools.</p>
|
|
<h3 id="features">Features</h3>
|
|
<ul>
|
|
<li><strong>SMT Solver:</strong> Supports a wide range of theories and quantifiers.</li>
|
|
<li><strong>Multi-language APIs:</strong> Python, C++, Java, .NET, and more.</li>
|
|
<li><strong>Cross-platform:</strong> Available on Windows, Linux, and macOS.</li>
|
|
<li><strong>Active development:</strong> Open source and maintained by Microsoft Research.</li>
|
|
<li><strong>Web Playground:</strong> Try Z3 online at <a href="https://rise4fun.com/z3">Rise4Fun</a>.</li>
|
|
</ul>
|
|
|
|
</section>
|
|
|
|
|
|
<section id="publications">
|
|
<h2>Publications</h2>
|
|
<ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li>
|
|
<strong>Z3: An Efficient SMT Solver</strong>
|
|
|
|
|
|
(March 2008)
|
|
|
|
|
|
by de Moura, Leonardo et. al.
|
|
| Appears in <em>TACAS</em>
|
|
|
|
|
|
|
|
| Published by <em>Springer, Berlin, Heidelberg</em>
|
|
<br /><a href="https://doi.org/map[author:[de%20Moura,%20Leonardo%20Bj%c3%b8rner,%20Nikolaj]%20booktitle:TACAS%20copyright:https://www.microsoft.com/en-us/research/publication/z3-an-efficient-smt-solver/%20doi:10.1007/978-3-540-78800-3_24%20key:deMoura2008%20langid:english%20month:March%20publisher:Springer,%20Berlin,%20Heidelberg%20shorttitle:Z3%20SMT%20Solver%20title:Z3:%20An%20Efficient%20SMT%20Solver%20year:2008]" target="_blank" rel="noopener">10.1007/978-3-540-78800-3_24</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
</section>
|
|
|
|
|
|
|
|
</main>
|
|
<footer>
|
|
<p>Copyright 2025. All rights reserved.</p>
|
|
|
|
</footer>
|
|
</body>
|
|
</html>
|