macOS
brew install stplocal Homebrew formula metadata
sudo port install stpMacPorts ports tree · math/stp/Portfile · source: api.github.com
brew
Simple Theorem Prover, an efficient SMT solver for bitvectors. Version 2.3.4 via Homebrew; verified 2026-06-14.
install
brew install stplocal Homebrew formula metadata
sudo port install stpMacPorts ports tree · math/stp/Portfile · source: api.github.com
sudo dnf install python3-stpFedora Rawhide package metadata · python3-stp · source: dl.fedoraproject.org
nix profile install nixpkgs#stpnixpkgs package indexes · pkgs/by-name/st/stp/package.nix · source: api.github.com
sudo pacman -S stpArch Linux sync databases · stp · source: geo.mirror.pkgbuild.com
sudo zypper install libstp2_3openSUSE Tumbleweed package metadata · libstp2_3 · source: download.opensuse.org
overview
Simple Theorem Prover, an efficient SMT solver for bitvectors
history
STP, the Simple Theorem Prover, is an SMT solver focused on quantifier-free bitvectors and arrays. In CLI and package-manager culture it is a specialist developer tool installed by verification, symbolic-execution, and program-analysis users rather than a general-purpose command.
The official AUTHORS file gives STP a begin date of November 2005 and names Vijay Ganesh as primary author and project leader, with early Stanford involvement from David L. Dill and later significant work by Trevor Hansen and others.
The official documentation ties STP to the CAV 2007 paper 'A Decision Procedure for Bit-Vectors and Arrays' and the CCS 2006 EXE paper, placing the project in the symbolic execution and automated bug-finding research lineage.
STP's README describes constraints from program analysis tools, theorem provers, automated bug finders, cryptographic attack tools, intelligent fuzzers, model checkers, and other applications as its intended workload.
The supplied package facts list STP in Homebrew, Fedora, MacPorts, Nix, Arch, and openSUSE packaging, reflecting its role as an installable solver dependency for research tools and formal-methods stacks.
The README recommends SMT-LIB2 as the common input format and shows direct CLI usage as stp myproblem.smt2. The docs also show library and Python usage, but the package-manager-facing executable remains the solver CLI.
Users care about STP when they need a bitvector/array solver that fits into scripts, test generators, fuzzers, model checkers, or symbolic execution systems.
STP is package-nerd relevant because solver availability is often the difference between a formal-methods tool working out of the box and becoming a hand-built research dependency. A packaged stp executable makes SMT workflows reproducible in CI and on developer machines.
It also illustrates a classic dependency category in developer package managers: a small command-line binary with deep academic roots, used indirectly by larger verification systems.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
stp | cli | global executable | |
stp_simple | cli | global executable |
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.
install metadata
| Package key | brew:stp |
|---|---|
| Version | 2.3.4 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/stp |
| Homepage | https://stp.github.io/ |
| Repository | https://github.com/stp/stp |
| Upstream docs | https://github.com/stp/stp#readme |
| License | MIT |
| Source archive | https://github.com/stp/stp/archive/refs/tags/2.3.4.tar.gz |
| Last updated | 2026-06-14T15:13:51+02:00 |
| Pulse | updated |
| Dependencies | boost, cryptominisat, gmp, minisat, python@3.14 |
| Build dependencies | bison, cmake, flex |
| Uses from macOS | perl |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | stp |
| Version Scheme | 0 |
| Revision | 9 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
stp
nix profile install nixpkgs#stppython3-stp 2.3.4-16.fc45
Python 3 interface to STP
sudo dnf install python3-stpstp 2.3.4-16.fc45
Constraint solver/decision procedure
sudo dnf install stpstp-devel 2.3.4-16.fc45
Development files for STP constraint solver/decision procedure
sudo dnf install stp-develstp 2.3.4-10
Simple Theorem Prover
sudo pacman -S stplibstp2_3 2.3.4+20240918-1.7
Constraint Solver
https://github.com/stp/stp/wiki
sudo zypper install libstp2_3python3-stp 2.3.4+20240918-1.7
Python bindings for stp
https://github.com/stp/stp/wiki
sudo zypper install python3-stpstp 2.3.4+20240918-1.7
Constraint Solver
https://github.com/stp/stp/wiki
sudo zypper install stpstp-devel 2.3.4+20240918-1.7
Devel files for stp
https://github.com/stp/stp/wiki
sudo zypper install stp-develstp
sudo port install stpsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.