satellite-kit

Crates.iosatellite-kit
lib.rssatellite-kit
version0.1.0
created_at2026-01-18 05:22:47.377673+00
updated_at2026-01-18 05:22:47.377673+00
descriptionCore solver library and API for Satellite
homepage
repositoryhttps://github.com/rand0mdevel0per/satellite
max_upload_size
id2051825
size80,947
rand0mdevel0per (rand0mdevel0per)

documentation

README

satellite-kit

High-level API for the Satellite SAT solver.

Features

  • Solver - Easy-to-use solver interface
  • Circuit gadgets - XOR, AND, OR, adders, comparators
  • Context management - Fork/clone solver states
  • Async solving - Non-blocking job submission

Usage

use satellite_kit::{Solver, SatResult};

let mut solver = Solver::new();
solver.add_clause(vec![1, 2]);
solver.add_clause(vec![-1, -2]);

match solver.solve() {
    SatResult::Sat(model) => println!("Solution: {:?}", model),
    SatResult::Unsat => println!("No solution"),
    _ => {}
}

Circuit Gadgets

use satellite_kit::{CircuitBuilder, BitVec};

let mut builder = CircuitBuilder::new(&mut solver);
let a = builder.new_bitvec(8);
let b = builder.new_bitvec(8);
let sum = builder.add(&a, &b);

License

MIT

Commit count: 18

cargo fmt