Automic VaultAutomic Vault

brew

Install bitwuzla with Homebrew, Nix

SMT solver for bit-vectors, floating-points, arrays and uninterpreted functions. Version 0.9.1 via Homebrew; verified 2026-05-21.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install bitwuzla

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#bitwuzla

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

overview

Package summary

SMT solver for bit-vectors, floating-points, arrays and uninterpreted functions

Commands and aliases

  • bitwuzla

history

Project history and usage

Bitwuzla is an SMT solver for fixed-size bit-vectors, floating-point arithmetic, arrays, uninterpreted functions, and combinations of those theories. Its name is an Austrian dialect joke meaning someone who tinkers with bits.

For package users, Bitwuzla is not just another CLI: it is a research-grade solver with a stable command-line interface, C/C++/Python APIs, and package-manager availability for reproducible formal-methods workflows.

Project history

The Bitwuzla repository was created in 2020, and the project reached a public 0.1.0 release on June 30, 2023. The README asks users to cite the CAV 2023 Bitwuzla system-description paper by Aina Niemetz and Mathias Preiner.

Official documentation describes the command-line tool as supporting SMT-LIBv2 and non-sequential BTOR2 input files. The API documentation covers C++, C, Python, and OCaml documentation surfaces.

The installation docs identify CaDiCaL and SymFPU as required dependencies, with optional solver backends such as Kissat. The CLI exposes SAT-solver choices and solver controls that matter to verification researchers and benchmark runners.

Adoption history

The input package-manager data lists Homebrew and Nix packaging, which is a small but meaningful formal-methods footprint: these ecosystems are common in reproducible research and developer workstations.

Bitwuzla's adoption story is also academic. The official README points to the CAV 2023 publication and asks downstream users to report projects that incorporate Bitwuzla so they can be linked as third-party applications.

How it is used

CLI usage centers on feeding SMT-LIBv2 or BTOR2 files to bitwuzla, optionally producing models, unsat cores, interpolants, and solver statistics. The CLI can also parse-only, preprocess-only, set time and memory limits, choose SAT backends, and configure bit-vector solving options.

Library usage matters too: packages that install Bitwuzla make it available both as a command and as a dependency for tools that need embedded SMT solving.

Why package nerds care

Bitwuzla is package-nerd significant because solver packaging is where reproducibility gets real: exact versions, linked SAT backends, Python bindings, and platform builds can change research and CI outcomes.

It also carries lineage value. The official references include SMT-LIB and BTOR2/Boolector literature, placing Bitwuzla in the bit-vector and hardware/software verification solver family rather than in generic theorem-proving packaging.

The 0.x release cadence through 2026 shows an actively moving solver, which makes package-manager freshness and dependency choices unusually important.

Timeline

  • 2020: bitwuzla/bitwuzla repository created.
  • 2023-06-30: Bitwuzla 0.1.0 released.
  • 2023: Bitwuzla system-description paper published at CAV 2023.
  • 2024-12-13: Bitwuzla 0.7.0 released.
  • 2025-05-22: Bitwuzla 0.8.0 released.
  • 2026-05-21: Bitwuzla 0.9.1 released.

Related projects

  • SMT-LIB is the standard input language family documented by the CLI.
  • BTOR2 and Boolector are cited in the official references and define part of the bit-vector solver lineage around Bitwuzla.
  • CaDiCaL and SymFPU are required dependencies in the official installation docs; Kissat is documented as an optional dependency/SAT backend.

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.
  • Installs with 2 runtime dependencies.
  • Build metadata lists 3 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
bitwuzlacliglobal 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 version0.9.1
manager updated2026-05-21
local dataok
upstreamcurrent
latest detected0.9.1

https://github.com/bitwuzla/bitwuzla

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:bitwuzla
Version0.9.1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/bitwuzla
Homepagehttps://bitwuzla.github.io
Repositoryhttps://github.com/bitwuzla/bitwuzla
Upstream docshttps://bitwuzla.github.io/docs
LicenseMIT
Source archivehttps://github.com/bitwuzla/bitwuzla/archive/refs/tags/0.9.1.tar.gz
Last updated2026-05-21T19:21:27Z
Pulseupdated
Dependenciesgmp, mpfr
Build dependenciesmeson, ninja, pkgconf
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 Namebitwuzla
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • 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.

Nix95%

bitwuzla

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

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.

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