| Crates.io | oxiz-spacer |
| lib.rs | oxiz-spacer |
| version | 0.1.2 |
| created_at | 2026-01-12 05:16:45.633378+00 |
| updated_at | 2026-01-21 05:27:01.815001+00 |
| description | Property Directed Reachability (PDR/IC3) engine for OxiZ - Horn clause solving |
| homepage | |
| repository | https://github.com/cool-japan/oxiz |
| max_upload_size | |
| id | 2037030 |
| size | 506,492 |
Property Directed Reachability (PDR/IC3) engine for OxiZ - Horn clause solving.
Spacer is a solver for Constrained Horn Clauses (CHC), essential for software verification. It implements the PDR (Property Directed Reachability) algorithm, also known as IC3.
This is a key differentiator for OxiZ - Spacer is missing in most Z3 clones, making OxiZ uniquely suitable for verification toolchains.
CHC is a fragment of first-order logic widely used in verification:
; Example: simple loop invariant problem
(declare-rel inv (Int))
(declare-var x Int)
; Initial: x = 0 => inv(x)
(rule (=> (= x 0) (inv x)))
; Transition: inv(x) ∧ x < 10 => inv(x+1)
(rule (=> (and (inv x) (< x 10)) (inv (+ x 1))))
; Query: inv(x) ∧ x >= 10 => x = 10
(query (and (inv x) (>= x 10) (not (= x 10))))
| Module | Description |
|---|---|
pdr |
Main PDR/IC3 algorithm |
chc |
CHC representation and parsing |
frames |
Frame sequence management |
pob |
Proof obligation tracking |
reach |
Reachability analysis |
MIT OR Apache-2.0