The ``sat pack'' also includes a systematic solver (DPLL) called ``tableau.'' For reasons that I totally don't understand, it takes a slightly different format from walksat. I put together a simple front-end to tableau that I think will work for converting a formula on the fly and then feeding it to tableau.
$dir/bin/i86pc/tableausat < $dir/wffs/sat.200.cnf
Output:
positive literals: 1 6 7 8 12 13 15 16 18 19 21 25 29 30 31 32 34 38 43 44 46 47 48 50 51 53 59 60 61 62 63 65 72 73 74 79 81 82 87 88 90 91 95 96 97 100 102 104 107 109 112 115 116 117 119 120 121 125 129 130 131 134 137 139 142 143 145 146 149 151 157 158 159 160 164 165 166 170 173 174 175 176 179 181 182 183 186 188 189 191 193 198 199 % end of literals good model
This means that it finds a good model (satisfying assignment) consisting of all variables value *except* those listed. It takes longer than walksat for this example.
Of course, tableau can do something that walksat can't:
$dir/bin/i86pc/tableausat < $dir/wffs/unsat.200.cnf
Now, it terminates without saying ``good model,'' meaning that there is no satisfying assignment (as opposed to walksat simply not finding one).