Skip to content
STIMSMITH

Z3

Tool

Z3 is identified in the provided evidence as an SMT solver developed at Microsoft Research and used by UCLID5 in a formal-verification study of pipelined Y86-64 microprocessors.

First seen 5/25/2026
Last seen 7/16/2026
Evidence 14 chunks
Wiki v1

WIKI

Overview

Z3 is a satisfiability modulo theories (SMT) solver developed at Microsoft Research. In the cited Y86-64 processor-verification report, UCLID5 generated verification conditions and invoked an SMT solver; the reported work used Z3 for that solver role. [C1]

Role in UCLID5 verification

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

10 connections
VCS ← compares with 100% 2e
VCS is compared against Z3 for constraint solving performance.
The paper evaluates Z3 as a public domain SAT solver and compares it against VCS.
metaSMT ← uses 100% 1e
metaSMT provides access to Z3 as a backend solver.
SMT2 Constraint Language Input uses → 95% 1e
SMT2 constraint language input is used by Z3 as its input format.
Bounded Model Checking ← uses 90% 1e
BMC uses optimised solver backends like Z3 to find assertion violations in RISC-V control FSMs.
Verilator ← uses 1e
Verilator uses z3 as an SMT solver for implementing randomization constraints.
Satisfiability Modulo Theories implements → 1e
z3 is an SMT solver implementing Satisfiability Modulo Theories.
SymbiYosys ← uses 90% 1e
SymbiYosys passes SMT queries to an SMT solver such as Z3.
SMT-LIB2 uses → 1e
z3 as an SMT solver uses the SMT-LIB2 language for problem description.
MicroTESK ← uses 95% 1e
MicroTESK suggests using Z3 as one of the SMT solvers.

CITATIONS

4 sources
4 citations — click to collapse
[1] Z3 is an SMT solver developed at Microsoft Research and used as the solver in the cited UCLID5 work. Formal Verification of Pipelined Y86-64 Microprocessors with UCLID5
[2] UCLID5 generates verification conditions as formulas over multiple theories and invokes an SMT solver; this work used Z3. Formal Verification of Pipelined Y86-64 Microprocessors with UCLID5
[3] When invoked by UCLID5, the SMT solver may return unsatisfiable, satisfiable, or indeterminate, with corresponding verification meanings. Formal Verification of Pipelined Y86-64 Microprocessors with UCLID5
[4] The report measured experiments using UCLID5 version 0.9.5 and Z3 version 4.5.0 as the SMT solver, and notes a small multi-core benefit for Z3. Formal Verification of Pipelined Y86-64 Microprocessors with UCLID5