Expand description
SAT solver services for XLOG.
This crate contains:
- a CPU Continuous Local Search (CLS) solver (heuristic, not complete), and
- a GPU-native CDCL solver (complete SAT/UNSAT) used as the production verifier.
§Architecture
instance: SAT instance representation (CNF clauses, literals)solver: CLS solver with configurable parametersproof: Proof artifacts and verification
§Usage
ⓘ
use xlog_solve::{SolveInstance, Clause, Literal, Solver};
// Create a SAT instance: (x0 OR NOT x1) AND (x1 OR x2)
let instance = SolveInstance::new(3, vec![
Clause::new(vec![Literal::positive(0), Literal::negative(1)]),
Clause::new(vec![Literal::positive(1), Literal::positive(2)]),
]);
// Solve
let solver = Solver::new_cpu();
let result = solver.solve(instance);
match result.status {
SolveStatus::Sat => println!("Satisfiable!"),
SolveStatus::Unsat => println!("Unsatisfiable"),
SolveStatus::Unknown => println!("Could not determine"),
SolveStatus::Optimal(_) => println!("Found optimal"),
}Structs§
- Clause
- A clause is a disjunction (OR) of literals.
- GpuCdcl
Config - Configuration for the GPU CDCL (Conflict-Driven Clause Learning) solver.
- GpuCdcl
RawOutput - Raw CDCL outputs (device-resident) for debugging and research.
- GpuCdcl
Solver - GPU-native CDCL SAT solver backed by CUDA kernels.
- GpuCdcl
Workspace - Pre-allocated solver arena for reuse across multiple CDCL solves.
- GpuCnf
- GPU-resident CNF in CSR form (DIMACS literals, 1-based variable ids).
- GpuSolver
Accepted Candidate State - Solver-facing state derived from an accepted GPU epistemic execution result.
- GpuSolver
Production Adapter - Thin adapter from epistemic solver work to the existing GPU CDCL verifier.
- GpuSolver
Production Batch Execution Evidence - Accepted split/batch GPU epistemic evidence for solver production reuse.
- GpuSolver
Production Capabilities - Capability report for the solver production adapter.
- GpuSolver
Production Learned Clause Arena Report - Summary of a GPU CDCL learned-clause arena publication.
- GpuSolver
Production Learned Clause Reuse Report - Summary of a bounded GPU CDCL learned-clause reuse run.
- GpuSolver
Production Lifecycle Report - Summary of an accepted solver lifecycle run.
- GpuSolver
Production Lifecycle Step - One accepted solver lifecycle step backed by existing GPU CDCL inputs.
- GpuSolver
Production MaxSat Candidate - One GPU-CDCL-backed candidate for bounded weighted MaxSAT production solving.
- GpuSolver
Production MaxSat Lifecycle Report - Summary of a combined accepted solver lifecycle plus MaxSAT run.
- GpuSolver
Production MaxSat Report - Summary of one bounded GPU-backed MaxSAT production adapter run.
- GpuSolver
Production MaxSat Schedule Report - Summary of a heterogeneous GPU-backed MaxSAT scheduler batch.
- GpuSolver
Production MaxSat Search Candidate - One GPU-CDCL-backed candidate in a bounded weighted MaxSAT search.
- GpuSolver
Production Portfolio Report - Summary of one bounded GPU SAT/MaxSAT/status-aware portfolio run.
- GpuSolver
Production Trace - Trace counters proving the production adapter stayed on the GPU CDCL path.
- GpuSolver
Production Weighted MaxSat Selection - One caller-declared weighted soft-clause selection for GPU MaxSAT search encoding.
- Learned
Clause Transfer - Learned-clause transfer result.
- Literal
- A propositional variable with optional negation.
- Solve
Instance - A SAT or MaxSAT instance in Conjunctive Normal Form (CNF).
- Solve
Result - Complete result from a solve operation.
- Solve
Stats - Statistics from a solve operation.
- Solver
- The CLS-based SAT/MaxSAT solver.
- Solver
Config - Configuration parameters for the CLS solver.
- Solver
Service - Incremental SAT/MaxSAT service facade.
- Solver
Service Result - Result returned by the solver service.
- Solver
Service Trace - Trace counters for service-level behavior.
- Solver
State - Internal state during CLS optimization.
Enums§
- GpuSolver
Production Capability Status - Production capability status for solver paths required by production metric gates.
- GpuSolver
Production Expectation - Expected GPU CDCL result for one production lifecycle step.
- GpuSolver
Production MaxSat Schedule Job - One job in an accepted GPU-backed MaxSAT scheduler batch.
- GpuSolver
Production MaxSat Search Status - Expected GPU-CDCL status for a bounded MaxSAT search candidate.
- GpuSolver
Production Portfolio Job - One job in a bounded GPU solver portfolio.
- Objective
- The optimization objective for a SAT/MaxSAT instance.
- Solve
Proof - Proof artifact from a SAT/MaxSAT solver.
- Solve
Status - Status of a solve operation.
- Solver
Portfolio Status - GPU portfolio status for the semantic-oracle facade.
- Solver
Service Budget - Search budget for bounded service solves.
- Solver
Service Status - Status returned by the solver-service interface.
Functions§
- compute_
checksum - Computes an FNV-1a checksum for a boolean assignment.
- production_
capabilities - Return the current production solver capability report.