Verification¶
Learn how to verify architectures using SMT solving.
Overview¶
UPIR uses Z3, a state-of-the-art SMT (Satisfiability Modulo Theories) solver, to formally verify that architectures satisfy specifications.
Quick Start¶
from upir import UPIR
from upir.verification.verifier import Verifier
from upir.verification.solver import VerificationStatus
# Create verifier
verifier = Verifier(timeout_ms=10000)
# Verify UPIR instance
results = verifier.verify_specification(upir)
# Check results
if results.status == VerificationStatus.PROVED:
print(f"✓ Verified! {len(results.proved_properties)} properties proved")
See Also¶
- Verifier API - Complete API reference
- Specifications Guide - Write specifications