Automic VaultAutomic Vault

brew

Install stp with Homebrew, dnf, MacPorts, Nix, pacman, zypper

Simple Theorem Prover, an efficient SMT solver for bitvectors. Version 2.3.4 via Homebrew; verified 2026-06-14.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install stp

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install stp

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

Linux

Fedora dnfverified · 92%
sudo dnf install python3-stp

Fedora Rawhide package metadata · python3-stp · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#stp

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

Arch Linux pacmanverified · 92%
sudo pacman -S stp

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

openSUSE zypperverified · 92%
sudo zypper install libstp2_3

openSUSE Tumbleweed package metadata · libstp2_3 · source: download.opensuse.org

overview

Package summary

Simple Theorem Prover, an efficient SMT solver for bitvectors

Commands and aliases

  • stp
  • stp_simple

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2005-11: STP project begin date in AUTHORS.
  • 2006: EXE paper appears in CCS and is listed by STP documentation as a basis for the project.
  • 2007-07: Ganesh and Dill bitvector/array decision-procedure paper appears at CAV.
  • 2013: AUTHORS file lists Dan Liew and Khoo Yit Phang as current contributors beginning in 2013.

Related projects

  • STP's documentation names SMT-LIB2 as the recommended input format because it is parsed by modern bitvector solvers.
  • The project builds against SAT/SMT ecosystem components such as MiniSat, and the README presents Homebrew as one supported installation path.

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 5 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
stpcliglobal executable
stp_simplecliglobal 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 version2.3.4
manager updated2026-06-14
local dataok
upstreamcurrent
latest detected2.3.4

https://github.com/stp/stp

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:stp
Version2.3.4
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/stp
Homepagehttps://stp.github.io/
Repositoryhttps://github.com/stp/stp
Upstream docshttps://github.com/stp/stp#readme
LicenseMIT
Source archivehttps://github.com/stp/stp/archive/refs/tags/2.3.4.tar.gz
Last updated2026-06-14T15:13:51+02:00
Pulseupdated
Dependenciesboost, cryptominisat, gmp, minisat, python@3.14
Build dependenciesbison, cmake, flex
Uses from macOSperl
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 Namestp
Version Scheme0
Revision9
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.

Nix95%

stp

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

python3-stp 2.3.4-16.fc45

Python 3 interface to STP

https://stp.github.io/

sudo dnf install python3-stp
  • License: MIT
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: stp
  • 2 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Stp
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: python3-stp from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

stp 2.3.4-16.fc45

Constraint solver/decision procedure

https://stp.github.io/

sudo dnf install stp
  • License: MIT AND MIT-Modern-Variant AND LGPL-2.0-or-later AND BSD-3-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: stp
  • 8 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Stp
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: stp from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

stp-devel 2.3.4-16.fc45

Development files for STP constraint solver/decision procedure

https://stp.github.io/

sudo dnf install stp-devel
  • License: MIT
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: stp
  • 3 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Stp
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: stp-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
pacman95%

stp 2.3.4-10

Simple Theorem Prover

https://stp.github.io/

sudo pacman -S stp
  • License: MIT
  • Architecture: x86_64
  • 3 dependencies
  • normalized package name match
  • Matched by: Stp
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: stp from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
zypper95%

libstp2_3 2.3.4+20240918-1.7

Constraint Solver

https://github.com/stp/stp/wiki

sudo zypper install libstp2_3
  • License: MIT
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: stp
  • 7 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Stp
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: libstp2_3 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

python3-stp 2.3.4+20240918-1.7

Python bindings for stp

https://github.com/stp/stp/wiki

sudo zypper install python3-stp
  • License: MIT
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: stp
  • 2 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Stp
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: python3-stp from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

stp 2.3.4+20240918-1.7

Constraint Solver

https://github.com/stp/stp/wiki

sudo zypper install stp
  • License: MIT
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: stp
  • 5 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Stp
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: stp from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

stp-devel 2.3.4+20240918-1.7

Devel files for stp

https://github.com/stp/stp/wiki

sudo zypper install stp-devel
  • License: MIT
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: stp
  • 4 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Stp
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: stp-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

stp

sudo port install stp
  • normalized package name match
  • Matched by: Stp
MacPorts ports tree · api.github.com · MacPorts ports tree: math/stp/Portfile from https://api.github.com/repos/macports/macports-ports/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