Automic VaultAutomic Vault

brew

Install z3 with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, scoop, zypper

High-performance theorem prover. Version 4.16.0 via Homebrew; verified 2026-06-26.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install z3

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install z3

MacPorts ports tree · math/z3/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add py3-z3

Alpine Linux edge package indexes · py3-z3 · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install libz3-4

Debian stable package indexes · libz3-4 · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install java-z3

Fedora Rawhide package metadata · java-z3 · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#z3

nixpkgs package indexes · pkgs/by-name/z3/z3/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S z3

Arch Linux sync databases · z3 · source: geo.mirror.pkgbuild.com

openSUSE zypperverified · 92%
sudo zypper install libz3-4_15

openSUSE Tumbleweed package metadata · libz3-4_15 · source: download.opensuse.org

Windows

Scoopverified · 92%
scoop install main/z3

Scoop official bucket manifest trees · bucket/z3.json · source: api.github.com

overview

Package summary

High-performance theorem prover

Commands and aliases

  • qprofdiff
  • z3

history

Project history and usage

Z3 is Microsoft Research's SMT solver and theorem prover, used to check satisfiability of logical formulas over theories such as arithmetic, bit-vectors, arrays, datatypes, uninterpreted functions, and quantifiers. It is both a command-line solver and a library with bindings across multiple programming languages.

Among package-manager projects, Z3 is unusually important: it is a research artifact, a production verification engine, a dependency for program-analysis tools, and a local CLI that users install when they need real automated reasoning rather than a web service.

Project history

Microsoft Research says work on Z3 began in 2006, motivated by program verification and dynamic symbolic execution. The 2008 TACAS paper introduced it as a freely available SMT solver from Microsoft Research for software verification and analysis applications.

Z3's early design emphasized a general interface so that other software analysis tools could embed it. The official Z3 Guide still presents it as a low-level component: best used inside other tools that map their verification or modeling problems into logical formulas.

The public GitHub repository was created in March 2015, matching the period when Z3 moved from a Microsoft Research download into a modern open-source package workflow. The repository README now documents stable and nightly binaries, CMake, Makefile, Visual Studio, Bazel, and vcpkg builds, plus language bindings for C, C++, .NET, Java, Go, OCaml, Python, Julia, WebAssembly/TypeScript/JavaScript, and other interfaces.

Z3 continued to evolve well after its initial verification focus. Microsoft Research's 2019 retrospective highlights model-based SMT techniques, SPACER and Horn-clause solving, quantifier instantiation, and applications that ranged beyond the original program-verification and symbolic-execution use cases.

Adoption history

The 2008 Microsoft Research publication states that Z3 was used in software verification and analysis applications. Later Microsoft Research material names the original design pressures as program verification and dynamic symbolic execution, and points to use cases such as Dafny, automatic test generation, fuzz testing, biological computation analysis, quantum-computing-related problems, Azure firewall reasoning, network verification, and smart-contract analysis.

Z3's academic adoption is unusually visible: Microsoft Research reported more than 5,000 citations since 2008 in its 2019 blog post, and its awards include the 2015 ACM SIGPLAN Programming Languages Software Award, the 2018 ETAPS Test of Time Award, the 2019 Herbrand Award for de Moura and Bjørner's theorem-proving work, and related automated-reasoning honors listed on Nikolaj Bjørner's Microsoft Research page.

Its package adoption is broad because Z3 is useful from both shells and libraries. The input facts for this enrichment run list packages across Homebrew, Debian, Ubuntu, Fedora, Arch, Nix, MacPorts, Scoop, apk, and zypper ecosystems, while the upstream README points to PyPI, npm/WebAssembly, NuGet, vcpkg, and source builds.

How it is used

At the command line, users typically feed Z3 SMT-LIB2 formulas and ask for satisfiability, models, proofs, or solver diagnostics. The Z3 Guide describes SMT-LIB as a community standard with Lisp-like syntax for tool serialization, and notes that Z3 supports the main SMT-LIB2 theories.

As a library, Z3 is embedded in analyzers, compilers, configuration systems, testing tools, verification systems, model checkers, synthesis tools, and research prototypes. Bindings let programs construct formulas directly instead of writing SMT-LIB strings by hand.

For package users, installing z3 locally gives reproducible solver behavior for build/test pipelines, formal-methods coursework, theorem-proving experiments, smart-contract analyzers, symbolic execution engines, and other tools that shell out to z3 or link libz3.

Why package nerds care

Z3 is one of the canonical examples of a serious research solver that became ordinary package-manager infrastructure. It is not merely installed by specialists; it sits under higher-level tools that users may not think of as theorem provers at all.

It matters to package nerds because packaging a solver means packaging trust boundaries: binary compatibility for libz3, language bindings, SMT-LIB behavior, release cadence, and reproducible answers across platforms. A small formula can depend on solver version and build flags, so having well-maintained distro and language packages is part of the tool's scientific and engineering value.

Z3 also marks a bridge between academic automated reasoning and everyday developer automation. The same executable can appear in a research paper artifact, a CI verification job, a Python notebook, an Azure/network-analysis pipeline, or a Homebrew install on a laptop.

Timeline

  • 2006: Microsoft Research begins work on Z3, motivated by program verification and dynamic symbolic execution.
  • 2008-03: The TACAS paper 'Z3: an efficient SMT solver' is published.
  • 2015-03-26: The public Z3Prover/z3 GitHub repository is created.
  • 2015-06-15: Microsoft Research reports Z3 receiving the ACM SIGPLAN Programming Languages Software Award.
  • 2018: Microsoft Research material records Z3 receiving an ETAPS Test of Time Award.
  • 2019-10-16: Microsoft Research publishes a retrospective on Z3's model-based SMT techniques and broad adoption.
  • 2026-02-19: GitHub releases list z3-4.16.0 as a stable release.
  • 2026-07-02: GitHub metadata shows active development on the day of this enrichment run.

Related projects

  • SMT-LIB is the standard input language and benchmark ecosystem used by Z3 and other SMT solvers.
  • Dafny is a verification-oriented programming language named by Microsoft Research as one of the program-verification contexts around Z3.
  • SPACER is Z3's constrained-Horn-clause/model-checking engine lineage discussed in Microsoft Research material.
  • Boogie, Pex, fuzzing systems, network-verification tools, and smart-contract analyzers are adjacent users or tool families in Z3's adoption story.

Sources

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 2 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
qprofdiffcliglobal executable
z3cliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version4.16.0
manager updated2026-06-26
local dataok
upstreamcurrent
latest detectedz3-4.16.0

https://github.com/Z3Prover/z3

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:z3
Version4.16.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/z3
Homepagehttps://github.com/Z3Prover/z3
Repositoryhttps://github.com/Z3Prover/z3
Upstream docshttps://github.com/Z3Prover/z3#readme
LicenseMIT
Source archivehttps://github.com/Z3Prover/z3/archive/refs/tags/z3-4.16.0.tar.gz
Last updated2026-06-26T20:17:02-04:00
Pulseupdated
Build dependenciescmake, python@3.14
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namez3
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

libz3-4 4.13.3-1

theorem prover from Microsoft Research - runtime libraries

https://github.com/Z3Prover/z3

sudo apt install libz3-4
  • Section: libs
  • Architecture: amd64
  • Source Package: z3
  • 3 dependencies
  • normalized package name match
  • Matched by: Z3
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libz3-4 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

libz3-dev 4.13.3-1

theorem prover from Microsoft Research - development files

https://github.com/Z3Prover/z3

sudo apt install libz3-dev
  • Section: libdevel
  • Architecture: amd64
  • Source Package: z3
  • 1 dependencies
  • normalized package name match
  • Matched by: Z3
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libz3-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

libz3-java 4.13.3-1

theorem prover from Microsoft Research - java bindings

https://github.com/Z3Prover/z3

sudo apt install libz3-java
  • Section: java
  • Architecture: amd64
  • Source Package: z3
  • 2 dependencies
  • normalized package name match
  • Matched by: Z3
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libz3-java from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

libz3-jni 4.13.3-1

theorem prover from Microsoft Research - JNI library

https://github.com/Z3Prover/z3

sudo apt install libz3-jni
  • Section: java
  • Architecture: amd64
  • Source Package: z3
  • 5 dependencies
  • normalized package name match
  • Matched by: Z3
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libz3-jni from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

python3-z3 4.13.3-1

theorem prover from Microsoft Research - Python 3 bindings

https://github.com/Z3Prover/z3

sudo apt install python3-z3
  • Section: python
  • Architecture: amd64
  • Source Package: z3
  • 3 dependencies
  • normalized package name match
  • Matched by: Z3
Debian stable package indexes · deb.debian.org · Debian stable package indexes: python3-z3 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

z3 4.13.3-1

theorem prover from Microsoft Research

https://github.com/Z3Prover/z3

sudo apt install z3
  • Section: science
  • Architecture: amd64
  • 3 dependencies
  • normalized package name match
  • Matched by: Z3
Debian stable package indexes · deb.debian.org · Debian stable package indexes: z3 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

z3

nix profile install nixpkgs#z3
  • normalized package name match
  • Matched by: Z3
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/z3/z3/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

libz3-4 4.8.12-3.1build1

theorem prover from Microsoft Research - runtime libraries

https://github.com/Z3Prover/z3

sudo apt install libz3-4
  • Section: universe/libs
  • Architecture: amd64
  • Source Package: z3
  • 3 dependencies
  • normalized package name match
  • Matched by: Z3
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libz3-4 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

libz3-dev 4.8.12-3.1build1

theorem prover from Microsoft Research - development files

https://github.com/Z3Prover/z3

sudo apt install libz3-dev
  • Section: universe/libdevel
  • Architecture: amd64
  • Source Package: z3
  • 1 dependencies
  • normalized package name match
  • Matched by: Z3
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libz3-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

libz3-java 4.8.12-3.1build1

theorem prover from Microsoft Research - java bindings

https://github.com/Z3Prover/z3

sudo apt install libz3-java
  • Section: universe/java
  • Architecture: amd64
  • Source Package: z3
  • 2 dependencies
  • normalized package name match
  • Matched by: Z3
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libz3-java from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

libz3-jni 4.8.12-3.1build1

theorem prover from Microsoft Research - JNI library

https://github.com/Z3Prover/z3

sudo apt install libz3-jni
  • Section: universe/java
  • Architecture: amd64
  • Source Package: z3
  • 3 dependencies
  • normalized package name match
  • Matched by: Z3
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libz3-jni from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

python3-z3 4.8.12-3.1build1

theorem prover from Microsoft Research - Python 3 bindings

https://github.com/Z3Prover/z3

sudo apt install python3-z3
  • Section: universe/python
  • Architecture: amd64
  • Source Package: z3
  • 3 dependencies
  • normalized package name match
  • Matched by: Z3
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: python3-z3 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

z3 4.8.12-3.1build1

theorem prover from Microsoft Research

https://github.com/Z3Prover/z3

sudo apt install z3
  • Section: universe/science
  • Architecture: amd64
  • 3 dependencies
  • normalized package name match
  • Matched by: Z3
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: z3 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

py3-z3 4.16.0-r1

Python bindings for z3

https://github.com/Z3Prover/z3

sudo apk add py3-z3
  • License: MIT
  • Architecture: x86_64
  • Source Package: z3
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Z3
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: py3-z3 from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

z3 4.16.0-r1

Theorem prover from Microsoft Research

https://github.com/Z3Prover/z3

sudo apk add z3
  • License: MIT
  • Architecture: x86_64
  • Source Package: z3
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Z3
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: z3 from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

z3-dev 4.16.0-r1

Theorem prover from Microsoft Research (development files)

https://github.com/Z3Prover/z3

sudo apk add z3-dev
  • License: MIT
  • Architecture: x86_64
  • Source Package: z3
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Z3
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: z3-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Combined YAML source

View the package source record on GitHub.

combined/z3.yml

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment