1KISSAT(1) User Commands KISSAT(1)
2
3
4
6 kissat - manual page for kissat sc2021
7
9 usage: kissat [ <option> ... ] [ <dimacs> [ <proof> ] ]
10
11 where '<option>' is one of the following common options:
12
13 --help print this list of all command line options
14
15 -h print only reduced list of command line options
16
17 -f force writing proofs (to existing CNF alike file)
18
19 -n do not print satisfying assignment
20
21 -q suppress all messages (see also '--quiet')
22
23 -s print all statistics (see also '--statistics')
24
25 -v increase verbose level (see also '--verbose')
26
27 Further '<option>' can be one of the following less frequent options:
28
29 --banner
30 print solver information
31
32 --build
33 print build information
34
35 --color
36 use colors (default if connected to terminal)
37
38 --no-color
39 no colors (default if not connected to terminal)
40
41 --compiler
42 print compiler information
43
44 --copyright
45 print copyright information
46
47 --force
48 same as '-f' (force writing proof)
49
50 --id print 'git' identifier (SHA-1 hash)
51
52 --range
53 print option range list
54
55 --relaxed
56 relaxed parsing (ignore DIMACS header)
57
58 --strict
59 stricter parsing (no empty header lines)
60
61 --version
62 print version
63
64 The following solving limits can be enforced:
65
66 --conflicts=<limit>
67
68 --decisions=<limit>
69
70 --time=<seconds>
71
72 Satisfying assignments have by default values for all variables unless
73 '--partial' is specified, then only values are printed for variables
74 which are necessary to satisfy the formula.
75
76 The following predefined 'configurations' (option settings) are sup‐
77 ported:
78
79 --basic
80 basic CDCL solving ('--plain' but no restarts, minimize, reduce)
81
82 --default
83 default configuration
84
85 --plain
86 plain CDCL solving without advanced techniques
87
88 --sat target satisfiable instances ('--target=2 --restartint=50')
89
90 --unsat
91 target unsatisfiable instances ('--stable=0')
92
93 Or '<option>' is one of the following long options:
94
95 --ands=<bool>
96 extract and eliminate and gates [true]
97
98 --autarky=<bool>
99 enable autarky reasoning [true]
100
101 --autarkydelay=<bool>
102 delay autarky reasoning [false]
103
104 --backbone=0..2
105 binary clause backbone (2=eager) [1]
106
107 --backbonedelay=<bool>
108 delay backbone computation [false]
109
110 --backboneeffort=0..1e5
111 relative effort in per mille [20]
112
113 --backbonefocus=<bool>
114 focus on not-yet-tried literals [false]
115
116 --backbonekeep=<bool>
117 keep backbone candidates [true]
118
119 --backbonemaxrounds=1...
120 maximum backbone rounds [1e3]
121
122 --backbonerounds=1...
123 backbone rounds limit [100]
124
125 --backward=<bool>
126 backward subsumption in BVE [true]
127
128 --bumpreasons=<bool>
129 bump reason side literals too [true]
130
131 --bumpreasonslimit=1...
132 relative reason literals limit [10]
133
134 --bumpreasonsrate=1...
135 decision rate limit [10]
136
137 --cachesample=<bool>
138 sample cached assignments [true]
139
140 --chrono=<bool>
141 allow chronological backtracking [true]
142
143 --chronolevels=0...
144 maximum jumped over levels [100]
145
146 --compact=<bool>
147 enable compacting garbage collection [true]
148
149 --compactlim=0..100
150 compact inactive limit (in percent) [10]
151
152 --decay=1..200
153 per mille scores decay [50]
154
155 --definitioncores=1..100
156 how many cores [2]
157
158 --definitions=<bool>
159 extract general definitions [true]
160
161 --defraglim=50..100
162 usable defragmentation limit in percent [75]
163
164 --defragsize=10...
165 size defragmentation limit [2^18]
166
167 --delay=0..10
168 maximum delay (autarky, failed, ...) [2]
169
170 --eagersubsume=0..100
171 eagerly subsume recently learned clauses [20]
172
173 --eliminate=<bool>
174 bounded variable elimination (BVE) [true]
175
176 --eliminatebound=0..2^13
177 maximum elimination bound [16]
178
179 --eliminateclslim=1...
180 elimination clause size limit [100]
181
182 --eliminatedelay=<bool>
183 delay variable elimination [false]
184
185 --eliminateeffort=0..2e3
186 relative effort in per mille [100]
187
188 --eliminateheap=<bool>
189 use heap to schedule elimination [false]
190
191 --eliminateinit=0...
192 initial elimination interval [500]
193
194 --eliminateint=10...
195 base elimination interval [500]
196
197 --eliminatekeep=<bool>
198 keep elimination candidates [true]
199
200 --eliminateocclim=0...
201 elimination occurrence limit [1e3]
202
203 --eliminaterounds=1..1e3
204 elimination rounds limit [2]
205
206 --emafast=10..1e6
207 fast exponential moving average window [33]
208
209 --emaslow=100..1e6
210 slow exponential moving average window [1e5]
211
212 --equivalences=<bool>
213 extract and eliminate equivalence gates [true]
214
215 --extract=<bool>
216 extract gates in variable elimination [true]
217
218 --failed=<bool>
219 failed literal probing [true]
220
221 --failedcont=0..100
222 continue if many failed (in percent) [90]
223
224 --faileddelay=<bool>
225 delay failed literal probing [true]
226
227 --failedeffort=0..1e8
228 minimum probe effort [50]
229
230 --failedrounds=1..100
231 failed literal probing rounds [2]
232
233 --forcephase=<bool>
234 force initial phase [false]
235
236 --forward=<bool>
237 forward subsumption in BVE [true]
238
239 --forwardeffort=0..1e6
240 relative effort in per mille [100]
241
242 --hyper=<bool>
243 on-the-fly hyper binary resolution [true]
244
245 --ifthenelse=<bool>
246 extract and eliminate if-then-else gates [true]
247
248 --incremental=<bool>
249 enable incremental solving [false]
250
251 --mineffort=0...
252 minimum absolute effort [1e4]
253
254 --minimize=<bool>
255 learned clause minimization [true]
256
257 --minimizedepth=1..1e6
258 minimization depth [1e3]
259
260 --minimizeticks=<bool>
261 count ticks in minimize and shrink [true]
262
263 --modeconflicts=10..1e8
264 initial focused conflicts limit [1e3]
265
266 --modeticks=1e3...
267 initial focused ticks limit [1e8]
268
269 --otfs=<bool>
270 on-the-fly strengthening [true]
271
272 --phase=<bool>
273 initial decision phase [true]
274
275 --phasesaving=<bool>
276 enable phase saving [true]
277
278 --probe=<bool>
279 enable probing [true]
280
281 --probedelay=<bool>
282 delay probing [false]
283
284 --probeinit=0...
285 initial probing interval [100]
286
287 --probeint=2...
288 probing interval [100]
289
290 --profile=0..4
291 profile level [2]
292
293 --promote=<bool>
294 promote clauses [true]
295
296 --quiet=<bool>
297 disable all messages [false]
298
299 --really=<bool>
300 delay preprocessing after scheduling [true]
301
302 --reap=<bool>
303 enable radix-heap for shrinking [false]
304
305 --reduce=<bool>
306 learned clause reduction [true]
307
308 --reducefraction=10..100
309 reduce fraction in percent [75]
310
311 --reduceinit=2..1e5
312 initial reduce interval [300]
313
314 --reduceint=2..1e5
315 base reduce interval [1e3]
316
317 --reducerestart=0..2
318 restart at reduce (1=stable,2=always) [0]
319
320 --reluctant=<bool>
321 stable reluctant doubling restarting [true]
322
323 --reluctantint=2..2^15
324 reluctant interval [2^10]
325
326 --reluctantlim=0..2^30
327 reluctant limit (0=unlimited) [2^20]
328
329 --rephase=<bool>
330 reinitialization of decision phases [true]
331
332 --rephasebest=<bool>
333 rephase best phase [true]
334
335 --rephaseinit=10..1e5
336 initial rephase interval [1e3]
337
338 --rephaseint=10..1e5
339 base rephase interval [1e3]
340
341 --rephaseinverted=<bool>
342 rephase inverted phase [true]
343
344 --rephaseoriginal=<bool>
345 rephase original phase [true]
346
347 --rephaseprefix=0...
348 initial 'OI' prefix repetition [1]
349
350 --rephasewalking=<bool>
351 rephase walking phase [true]
352
353 --restart=<bool>
354 enable restarts [true]
355
356 --restartint=1..1e4
357 base restart interval [1]
358
359 --restartmargin=0..25
360 fast/slow margin in percent [10]
361
362 --restartreusetrail=<bool> restarts reuse trail [true]
363
364 --seed=0...
365 random seed [0]
366
367 --shrink=0..3
368 learned clauses (1=bin,2=lrg,3=rec) [3]
369
370 --shrinkminimize=<bool>
371 minimize during shrinking [true]
372
373 --simplify=<bool>
374 enable probing and elimination [true]
375
376 --stable=0..2
377 enable stable search mode [1]
378
379 --statistics=<bool>
380 print complete statistics [false]
381
382 --substitute=<bool>
383 equivalent literal substitution [true]
384
385 --substituteeffort=1..1e3
386 maximum substitution round effort [10]
387
388 --substituterounds=1..100
389 maximum substitution rounds [2]
390
391 --subsumeclslim=1...
392 subsumption clause size limit [1e3]
393
394 --subsumeocclim=0...
395 subsumption occurrence limit [1e3]
396
397 --target=0..2
398 target phases (1=stable,2=focused) [1]
399
400 --ternary=<bool>
401 enable hyper ternary resolution [true]
402
403 --ternarydelay=<bool>
404 delay hyper ternary resolution [true]
405
406 --ternaryeffort=0..2e3
407 relative effort in per mille [70]
408
409 --ternaryheap=<bool>
410 use heap to schedule ternary resolution [true]
411
412 --ternarymaxadd=0..1e4
413 maximum clauses added in percent [20]
414
415 --tier1=1..100
416 learned clause tier one glue limit [2]
417
418 --tier2=1..1e3
419 learned clause tier two glue limit [6]
420
421 --transitive=<bool>
422 transitive reduction of binary clauses [true]
423
424 --transitiveeffort=0..2e3
425 relative effort in per mille [20]
426
427 --transitivekeep=<bool>
428 keep transitivity candidates [true]
429
430 --tumble=<bool>
431 tumbled external indices order [true]
432
433 --verbose=0..3
434 verbosity level [0]
435
436 --vivify=<bool>
437 vivify clauses [true]
438
439 --vivifyeffort=0..1e3
440 relative effort in per mille [100]
441
442 --vivifyimply=0..2
443 remove implied redundant clauses [2]
444
445 --vivifyirred=1..100
446 relative irredundant effort [1]
447
448 --vivifykeep=<bool>
449 keep vivification candidates [false]
450
451 --vivifytier1=1..100
452 relative tier1 effort [3]
453
454 --vivifytier2=1..100
455 relative tier2 effort [6]
456
457 --walkeffort=0..1e6
458 relative effort in per mille [5]
459
460 --walkfit=<bool>
461 fit CB value to average clause length [true]
462
463 --walkinitially=<bool>
464 initial local search [false]
465
466 --walkreuse=0..2
467 reuse walking results (2=always) [1]
468
469 --walkweighted=<bool>
470 use clause weights [true]
471
472 --xors=<bool>
473 extract and eliminate XOR gates [true]
474
475 --xorsbound=0..2^13
476 minimum elimination bound [1]
477
478 --xorsclslim=3..31
479 XOR extraction clause size limit [5]
480
481 Furthermore '<dimacs>' is the input file in DIMACS format. The solver
482 reads from '<stdin>' if '<dimacs>' is unspecified. If the path has a
483 '.bz2', '.gz', '.lzma', '7z' or '.xz' suffix then the solver tries to
484 find a corresponding decompression tool ('bzip2', 'gzip', 'lzma', '7z',
485 or 'xz') to decompress the input file on-the-fly after checking that
486 the input file has the correct format (starts with the corresponding
487 signature bytes).
488
489 If '<proof>' is specified then a proof trace is written to the given
490 file. If the file name is '-' then the proof is written to '<stdout>'.
491 In this case the ASCII version of the DRAT format is used. For real
492 files the binary proof format is used unless '--no-binary' is speci‐
493 fied.
494
495 Writing of compressed proof files follows the same principle as reading
496 compressed files. The compression format is based on the file suffix
497 and it is checked that the corresponding compression utility can be
498 found.
499
500
501
502kissat sc2021 January 2022 KISSAT(1)