# Satsuma-iter solver for SAT Comp 2026

Our two submissions for SAT Competition 2026, based on `satsuma` as a symmetry-breaking preprocessor for Kissat.

## Quick start

Run the following shell scripts to configure the compilation environments and build the solvers.
```bash
./build.sh    # Builds the solvers
```

To run a simple test suite, use the test script:
```bash
./test.sh
```

## Running the solvers

Since we are submitting two very similar solvers, we have provided two scripts with which to run them.
The scripts expect two arguments in the order specified by the [SAT Competition rules](https://satcompetition.github.io/2026/nhr.html).
```bash
./run_satsuma_kissat.sh    <cnf> <proof/dir>    # Runs Satsuma+Kissat
./run_satsuma_ae_kissat.sh <cnf> <proof/dir>    # Runs Satsuma+AE_Kissat_2025
```

The scripts call Satsuma and then the solver.
A temporary CNF file is made in the proof directory,
which is removed when the solver is finished running.
If the script is interrupted midway,
then the CNF file may be left dangling in the proof directory.

## Links to external source code

Much of our source code comes from open-source projects.
Since we modify their source code slightly, we include their source code directly in this repository.
To view the base projects, follow these links:

- [Satsuma](https://github.com/markusa4/satsuma)
- [Kissat](https://github.com/arminbiere/kissat)
- [AE_kissat2025_MAB](https://home.mis.u-picardie.fr/~cli/EnglishPage.html)
- [dsr-trim](https://github.com/ccodel/dsr-trim)

Our testing harness `test.sh` uses `dsr-trim` to check proofs.
Since we do not modify its code, we recommend cloning its most recent version.

## AE_kissat2025_MAB

The source code for the winner of the 2025 SAT Competition, AE_kissat2025_MAB, can be found
[on this webpage](https://home.mis.u-picardie.fr/~cli/EnglishPage.html),
and the download link is
[here](http://home.mis.u-picardie.fr/~cli/AE_kissat2025_MAB.tar.xz).
(If clicking the link doesn't download the tar file, try running `wget` on the URL.)

We include the solver's source code in this project, excluding the project's `test/` directory,
since it almost exactly matches the `test/` directory of Kissat, which we also include.

## License

See [LICENSE](/LICENSE) and [LICENSE_NOTES](/LICENSE_NOTES.md).

## Authors

- [Markus Anders](https://markusanders.eu/), RPTU Kaiserslautern-Landau, anders@cs.uni-kl.de
- [Cayden Codel](https://crcodel.com), Carnegie Mellon University, ccodel@cs.cmu.edu
