# Solver Notes

## Formula Notes

The visible training formulas are sanitized CNFs from a circuit-equivalence-checking family. The available files are `sin_depth_miter_*`; they have two unit clauses (`2` and the last variable negated), many binary-to-5-literal clauses, and frequent four-clause XOR/LUT-like Tseitin blocks. Variable 1 is unused in the visible samples, and the last variable is only a unit in those samples.

Kissat only solved the 19-variable `sin_depth_miter_7` baseline instance. Larger visible `sin_depth` cases are UNSAT according to the baseline metadata but need nontrivial proofs.

## Techniques Used

The solver never relies on comments or filenames. It parses DIMACS, runs a deterministic local-repair search for SAT candidates, and independently checks any model against all clauses before printing `SATISFIABLE`. For UNSAT, it uses a from-scratch tree-DPLL fallback on bounded-size instances. Every leaf conflict emits the negation of the current decision assumptions as a VeriPB `rup` clause; after both branches are refuted, the parent decision clause is also emitted by RUP. The root empty clause is the final contradiction.

## Remaining Things To Try

Recover the original circuit/LUT network more directly, identify primary inputs and miter outputs structurally, and replace the bounded tree proof with a compact equivalence proof for large UNSAT miters. Local search may help if hidden CEC instances are satisfiable, but it does not prove equivalence.

## Known Limitations

The DPLL proof can grow exponentially and is deliberately capped; unsupported large cases return `UNKNOWN`. SAT local search is incomplete. UNSAT answers are only emitted when a VeriPB proof file has been written by the DPLL refutation path.

## Changelog

- Initial scaffold: placeholder solver returned `UNKNOWN`.
- Added DIMACS parser, checked SAT model output, deterministic local-repair SAT search, and proof-producing tree-DPLL with VeriPB RUP logging.
- Added metadata and this working notebook describing the current structure and limits.
