You have a problem; what do you run?
The bridges here are not tied to the competitions: they encode any file of the formats they understand, yours included. Encode your problem, then pick the solver that does best on problems of that kind rather than the one that won overall.
Step one: turn it into CNF
| What you have | How | |
|---|---|---|
| A circuit in AIGER format, combinational | ready | bridges/aiger
docker run --rm -v "$PWD:/data" satex-gen/aiger:2021 cnf mycircuit.aig > mine.cnf |
| A sequential model to unroll over k steps, bounded model checking | ready | bridges/aiger
docker run --rm -v "$PWD:/data" satex-gen/aiger:2021 unroll 20 mymodel.aig > mine.cnf |
| Two circuits whose equivalence you want to check | ready | bridges/aiger
docker run --rm -v "$PWD:/data" satex-gen/aiger:2021 miter a.aig b.aig > mine.cnf |
| A planning problem in PDDL, domain and problem | ready | bridges/freelunch, through Fast Downward's translator
docker run --rm -v "$PWD:/data" satex-gen/freelunch:2022 domain.pddl problem.pddl cr 12 > mine.cnf |
| A planning task already in SAS+ | ready | bridges/freelunch
docker run --rm -v "$PWD:/data" satex-gen/freelunch:2022 task.sas cr 12 > mine.cnf |
| A constraint problem in XCSP3 or MiniZinc | planned | a bridge over Savile Row or a Picat encoding |
| A bit-vector formula in SMT-LIB | partly | the circuits of the SMT-LIB benchmarks are already there; encoding your own formula needs Boolector or Bitwuzla in the chain, as the CRUX recipe does |
Mount the directory holding your file on /data and the image reads it there. Nothing
is uploaded anywhere: the whole chain runs on your machine.
Step two: pick a solver
The best three of the SAT Competition 2026 overall, as images of the companion project.
| Solver | Solved | Command |
|---|---|---|
| anders_satsuma-iter-kissat | 276 of 400 | docker run --rm -v "$PWD:/data" satex/satsuma-iter-kissat:2026 mine.cnf |
| anders_satsuma-iter-ae-kissat-mab | 269 of 400 | docker run --rm -v "$PWD:/data" satex/satsuma-iter-ae-kissat-mab:2026 mine.cnf |
| zheng_kissat-mab-hypre | 257 of 400 | docker run --rm -v "$PWD:/data" satex/kissat-mab-hypre:2026 mine.cnf |
Step three, the one that pays: find your family
A solver that wins overall is not the one to run on every kind of problem. On the Ascon cryptography family of 2023, SeqFROST solved all twenty instances while the overall winner did not; on the 2024 scheduling family, AMSAT solved more than the winner. If your problem resembles one of the families of the competitions, the families page gives the ranking on that family alone and the command for each solver.
If your problem resembles nothing there, that is interesting in itself: a new family is exactly what a competition is short of, and the issues are the place to say so.