# Practical-Solvers

Solving things that don't solve themselves.

Five constraint-solving paradigms — CDCL (SAT), MILP, SMT, LCG, MaxSAT —
each built from scratch in C, with a companion treatise.

## Layout

```
.
├── CDCL-Solver/      # SAT solver
├── MILP-Solver/      # MILP solver
├── SMT-Solver/      # SMT solver
├── LCG-Solver/      # LCG solver
└── MaxSAT-Solver/   # MaxSAT solver
```

Each solver folder is self-contained: `build.zsh`, `readme.md`,
`sanity.c`, `examples/`, `src/`. No shared library, no top-level build.

## Quick start

```
# Build any solver (CDCL-Solver shown):
cd CDCL-Solver && ./build.zsh && ./build/sanity

# Build the main book:
cd books/practical-solvers && ./build.sh        # → practical-solvers.pdf
```

Pre-built PDFs are checked in next to each book's `build.sh`.


## License

Copyright (c) 2026 Streck.ai. All rights reserved.
