content/tools/z3.md

1.8 KiB

+++ date = 2024-02-02T04:14:54-08:00 draft = false title = 'Z3' purposes = ['Verification Tools', 'Analysis Tools'] techniques = ['Theorem Proving', 'SMT Solving', 'Model Checking'] domains = ['Software Verification', 'Hardware Verification', 'Embedded Systems'] languages = ['SMT-LIB', 'Python', 'C++', 'Java', 'C#'] systems = ['Discrete Systems', 'Concurrent Systems'] interactions = ['CLI', 'Python API', 'Rust Bindings', 'playground'] formalisms = ['first-order logic', 'SMT-LIB', 'quantifier logic', 'bit-vectors', 'arrays', 'uninterpreted functions', 'arithmetic'] developers = ['Microsoft Research'] links = [ { title = "Homepage", url = "https://github.com/Z3Prover/z3" }, { title = "Source Code", url = "https://github.com/Z3Prover/z3" }, { title = "Discussions", url = "https://github.com/Z3Prover/z3/discussions" }, { title = "Documentation", url = "https://z3prover.github.io/api/html/" }, { title = "Playground", url = "https://rise4fun.com/z3" } ] publications = ['deMoura2008'] +++

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.

Features

  • SMT Solver: Supports a wide range of theories and quantifiers.
  • Multi-language APIs: Python, C++, Java, .NET, and more.
  • Cross-platform: Available on Windows, Linux, and macOS.
  • Active development: Open source and maintained by Microsoft Research.
  • Web Playground: Try Z3 online at Rise4Fun.