1CADICAL(1) User Commands CADICAL(1)
2
3
4
6 cadical - manual page for cadical 1.4.0
7
9 usage: cadical [ <option> ... ] [ <input> [ <proof> ] ]
10
11 where '<option>' is one of the following common options:
12
13 -h print alternatively only a list of common options
14
15 --help print this complete list of all options
16
17 --version
18 print version
19
20 -n do not print witness (same as '--no-witness')
21
22 -v increase verbosity (see also '--verbose' below)
23
24 -q be quiet (same as '--quiet')
25
26 -t <sec>
27 set wall clock time limit
28
29 Or '<option>' is one of the less common options
30
31 -L<rounds>
32 run local search initially (default '0' rounds)
33
34 -O<level>
35 increase limits by '2^<level>' or '10^<level>'
36
37 -P<rounds>
38 initial preprocessing (default '0' rounds)
39
40 Note there is no separating space for the options above while the fol‐
41 lowing options require a space after the option name:
42
43 -c <limit>
44 limit the number of conflicts (default unlimited)
45
46 -d <limit>
47 limit the number of decisions (default unlimited)
48
49 -o <output>
50 write simplified CNF in DIMACS format to file
51
52 -e <extend>
53 write reconstruction/extension stack to file
54
55 --force | -f
56 parsing broken DIMACS header and writing proofs
57
58 --strict
59 strict parsing (no white space in header)
60
61 -r <sol>
62 read solution in competition output format to check consistency
63 of learned clauses during testing and debugging
64
65 -w <sol>
66 write result including a potential witness solution in competi‐
67 tion format to the given file
68
69 --colors
70 force colored output
71
72 --no-colors
73 disable colored output to terminal
74
75 --no-witness
76 do not print witness (see also '-n' above)
77
78 --build
79 print build configuration
80
81 --copyright
82 print copyright information
83
84 There are pre-defined configurations of advanced internal options:
85
86 --default
87 set default advanced internal options
88
89 --plain
90 disable all internal preprocessing options
91
92 --sat set internal options to target satisfiable instances
93
94 --unsat
95 set internal options to target unsatisfiable instances
96
97 Or '<option>' is one of the following advanced internal options:
98
99 --arena=bool
100 allocate clauses in arena [true]
101
102 --arenacompact=bool
103 keep clauses compact [true]
104
105 --arenasort=bool
106 sort clauses in arena [true]
107
108 --arenatype=1..3
109 1=clause, 2=var, 3=queue [3]
110
111 --binary=bool
112 use binary proof format [true]
113
114 --block=bool
115 blocked clause elimination [false]
116
117 --blockmaxclslim=1..2e9
118 maximum clause size [1e5]
119
120 --blockminclslim=2..2e9
121 minimum clause size [2]
122
123 --blockocclim=1..2e9
124 occurrence limit [1e2]
125
126 --bump=bool
127 bump variables [true]
128
129 --bumpreason=bool
130 bump reason literals too [true]
131
132 --bumpreasondepth=1..3
133 bump reason depth [1]
134
135 --check=bool
136 enable internal checking [false]
137
138 --checkassumptions=bool
139 check assumptions satisfied [true]
140
141 --checkfailed=bool
142 check failed literals form core [true]
143
144 --checkfrozen=bool
145 check all frozen semantics [false]
146
147 --checkproof=bool
148 check proof internally [true]
149
150 --checkwitness=bool
151 check witness internally [true]
152
153 --chrono=0..2
154 chronological backtracking [1]
155
156 --chronoalways=bool
157 force always chronological [false]
158
159 --chronolevelim=0..2e9
160 chronological level limit [1e2]
161
162 --chronoreusetrail=bool
163 reuse trail chronologically [true]
164
165 --compact=bool
166 compact internal variables [true]
167
168 --compactint=1..2e9
169 compacting interval [2e3]
170
171 --compactlim=0..1e3
172 inactive limit per mille [1e2]
173
174 --compactmin=1..2e9
175 minimum inactive limit [1e2]
176
177 --condition=bool
178 globally blocked clause elim [false]
179
180 --conditionint=1..2e9
181 initial conflict interval [1e4]
182
183 --conditionmaxeff=0..2e9
184 maximum condition efficiency [1e7]
185
186 --conditionmaxrat=1..2e9
187 maximum clause variable ratio [100]
188
189 --conditionmineff=0..2e9
190 minimum condition efficiency [1e6]
191
192 --conditionreleff=1..1e5
193 relative efficiency per mille [100]
194
195 --cover=bool
196 covered clause elimination [false]
197
198 --covermaxclslim=1..2e9
199 maximum clause size [1e5]
200
201 --covermaxeff=0..2e9
202 maximum cover efficiency [1e8]
203
204 --coverminclslim=2..2e9
205 minimum clause size [2]
206
207 --covermineff=0..2e9
208 minimum cover efficiency [1e6]
209
210 --coverreleff=1..1e5
211 relative efficiency per mille [4]
212
213 --decompose=bool
214 decompose BIG in SCCs and ELS [true]
215
216 --decomposerounds=1..16
217 number of decompose rounds [2]
218
219 --deduplicate=bool
220 remove duplicated binaries [true]
221
222 --eagersubsume=bool
223 subsume recently learned [true]
224
225 --eagersubsumelim=1..1e3
226 limit on subsumed candidates [20]
227
228 --elim=bool
229 bounded variable elimination [true]
230
231 --elimands=bool
232 find AND gates [true]
233
234 --elimaxeff=0..2e9
235 maximum elimination efficiency [2e9]
236
237 --elimbackward=bool
238 eager backward subsumption [true]
239
240 --elimboundmax=-1..2e6
241 maximum elimination bound [16]
242
243 --elimboundmin=-1..2e6
244 minimum elimination bound [0]
245
246 --elimclslim=2..2e9
247 resolvent size limit [1e2]
248
249 --elimequivs=bool
250 find equivalence gates [true]
251
252 --elimineff=0..2e9
253 minimum elimination efficiency [1e7]
254
255 --elimint=1..2e9
256 elimination interval [2e3]
257
258 --elimites=bool
259 find if-then-else gates [true]
260
261 --elimlimited=bool
262 limit resolutions [true]
263
264 --elimocclim=0..2e9
265 occurrence limit [1e2]
266
267 --elimprod=0..1e4
268 elim score product weight [1]
269
270 --elimreleff=1..1e5
271 relative efficiency per mille [1e3]
272
273 --elimrounds=1..512
274 usual number of rounds [2]
275
276 --elimsubst=bool
277 elimination by substitution [true]
278
279 --elimsum=0..1e4
280 elimination score sum weight [1]
281
282 --elimxorlim=2..27
283 maximum XOR size [5]
284
285 --elimxors=bool
286 find XOR gates [true]
287
288 --emagluefast=1..2e9
289 window fast glue [33]
290
291 --emaglueslow=1..2e9
292 window slow glue [1e5]
293
294 --emajump=1..2e9
295 window back-jump level [1e5]
296
297 --emalevel=1..2e9
298 window back-track level [1e5]
299
300 --emasize=1..2e9
301 window learned clause size [1e5]
302
303 --ematrailfast=1..2e9
304 window fast trail [1e2]
305
306 --ematrailslow=1..2e9
307 window slow trail [1e5]
308
309 --flush=bool
310 flush redundant clauses [false]
311
312 --flushfactor=1..1e3
313 interval increase [3]
314
315 --flushint=1..2e9
316 initial limit [1e5]
317
318 --forcephase=bool
319 always use initial phase [false]
320
321 --inprocessing=bool
322 enable inprocessing [true]
323
324 --instantiate=bool
325 variable instantiation [false]
326
327 --instantiateclslim=2..2e9 minimum clause size [3]
328
329 --instantiateocclim=1..2e9 maximum occurrence limit [1]
330
331 --instantiateonce=bool
332 instantiate each clause once [true]
333
334 --lucky=bool
335 search for lucky phases [true]
336
337 --minimize=bool
338 minimize learned clauses [true]
339
340 --minimizedepth=0..1e3
341 minimization depth [1e3]
342
343 --phase=bool
344 initial phase [true]
345
346 --probe=bool
347 failed literal probing [true]
348
349 --probehbr=bool
350 learn hyper binary clauses [true]
351
352 --probeint=1..2e9
353 probing interval [5e3]
354
355 --probemaxeff=0..2e9
356 maximum probing efficiency [1e8]
357
358 --probemineff=0..2e9
359 minimum probing efficiency [1e6]
360
361 --probereleff=1..1e5
362 relative efficiency per mille [20]
363
364 --proberounds=1..16
365 probing rounds [1]
366
367 --profile=0..4
368 profiling level [2]
369
370 --quiet=bool
371 disable all messages [false]
372
373 --radixsortlim=0..2e9
374 radix sort limit [800]
375
376 --realtime=bool
377 real instead of process time [false]
378
379 --reduce=bool
380 reduce useless clauses [true]
381
382 --reduceint=10..1e6
383 reduce interval [300]
384
385 --reducetarget=10..1e2
386 reduce fraction in percent [75]
387
388 --reducetier1glue=1..2e9
389 glue of kept learned clauses [2]
390
391 --reducetier2glue=1..2e9
392 glue of tier two clauses [6]
393
394 --reluctant=0..2e9
395 reluctant doubling period [1024]
396
397 --reluctantmax=0..2e9
398 reluctant doubling period [1048576]
399
400 --rephase=bool
401 enable resetting phase [true]
402
403 --rephaseint=1..2e9
404 rephase interval [1e3]
405
406 --report=bool
407 enable reporting [false]
408
409 --reportall=bool
410 report even if not successful [false]
411
412 --reportsolve=bool
413 use solving not process time [false]
414
415 --restart=bool
416 enable restarts [true]
417
418 --restartint=1..2e9
419 restart interval [2]
420
421 --restartmargin=0..1e2
422 slow fast margin in percent [10]
423
424 --restartreusetrail=bool
425 enable trail reuse [true]
426
427 --restoreall=0..2
428 restore all clauses (2=really) [0]
429
430 --restoreflush=bool
431 remove satisfied clauses [false]
432
433 --reverse=bool
434 reverse variable ordering [false]
435
436 --score=bool
437 use EVSIDS scores [true]
438
439 --scorefactor=500..1e3
440 score factor per mille [950]
441
442 --seed=0..2e9
443 random seed [0]
444
445 --shuffle=bool
446 shuffle variables [false]
447
448 --shufflequeue=bool
449 shuffle variable queue [true]
450
451 --shufflerandom=bool
452 not reverse but random [false]
453
454 --shufflescores=bool
455 shuffle variable scores [true]
456
457 --stabilize=bool
458 enable stabilizing phases [true]
459
460 --stabilizefactor=101..2e9 phase increase in percent [200]
461
462 --stabilizeint=1..2e9
463 stabilizing interval [1e3]
464
465 --stabilizemaxint=1..2e9
466 maximum stabilizing phase [2e9]
467
468 --stabilizeonly=bool
469 only stabilizing phases [false]
470
471 --subsume=bool
472 enable clause subsumption [true]
473
474 --subsumebinlim=0..2e9
475 watch list length limit [1e4]
476
477 --subsumeclslim=0..2e9
478 clause length limit [1e2]
479
480 --subsumeint=1..2e9
481 subsume interval [1e4]
482
483 --subsumelimited=bool
484 limit subsumption checks [true]
485
486 --subsumemaxeff=0..2e9
487 maximum subsuming efficiency [1e8]
488
489 --subsumemineff=0..2e9
490 minimum subsuming efficiency [1e6]
491
492 --subsumeocclim=0..2e9
493 watch list length limit [1e2]
494
495 --subsumereleff=1..1e5
496 relative efficiency per mille [1e3]
497
498 --subsumestr=bool
499 strengthen during subsume [true]
500
501 --target=0..2
502 target phases (1=stable only) [1]
503
504 --terminateint=0..1e4
505 termination check interval [10]
506
507 --ternary=bool
508 hyper ternary resolution [true]
509
510 --ternarymaxadd=0..1e4
511 max clauses added in percent [1e3]
512
513 --ternarymaxeff=0..2e9
514 ternary maximum efficiency [1e8]
515
516 --ternarymineff=1..2e9
517 minimum ternary efficiency [1e6]
518
519 --ternaryocclim=1..2e9
520 ternary occurrence limit [1e2]
521
522 --ternaryreleff=1..1e5
523 relative efficiency per mille [10]
524
525 --ternaryrounds=1..16
526 maximum ternary rounds [2]
527
528 --transred=bool
529 transitive reduction of BIG [true]
530
531 --transredmaxeff=0..2e9
532 maximum efficiency [1e8]
533
534 --transredmineff=0..2e9
535 minimum efficiency [1e6]
536
537 --transredreleff=1..1e5
538 relative efficiency per mille [1e2]
539
540 --verbose=0..3
541 more verbose messages [0]
542
543 --vivify=bool
544 vivification [true]
545
546 --vivifymaxeff=0..2e9
547 maximum efficiency [2e7]
548
549 --vivifymineff=0..2e9
550 minimum efficiency [2e4]
551
552 --vivifyonce=0..2
553 vivify once: 1=red, 2=red+irr [0]
554
555 --vivifyredeff=0..1e3
556 redundant efficiency per mille [75]
557
558 --vivifyreleff=1..1e5
559 relative efficiency per mille [20]
560
561 --walk=bool
562 enable random walks [true]
563
564 --walkmaxeff=0..2e9
565 maximum efficiency [1e7]
566
567 --walkmineff=0..1e7
568 minimum efficiency [1e5]
569
570 --walknonstable=bool
571 walk in non-stabilizing phase [true]
572
573 --walkredundant=bool
574 walk redundant clauses too [false]
575
576 --walkreleff=1..1e5
577 relative efficiency per mille [20]
578
579 The internal options have their default value printed in brackets after
580 their description. They can also be used in the form '--<name>' which
581 is equivalent to '--<name>=1' and in the form '--no-<name>' which is
582 equivalent to '--<name>=0'. One can also use 'true' instead of '1',
583 'false' instead of '0', as well as numbers with positive exponent such
584 as '1e3' instead of '1000'.
585
586 Alternatively option values can also be specified in the header of the
587 DIMACS file, e.g., 'c --elim=false', or through environment variables,
588 such as 'CADICAL_ELIM=false'. The embedded options in the DIMACS file
589 have highest priority, followed by command line options and then values
590 specified through environment variables.
591
592 The input is read from '<input>' assumed to be in DIMACS format. In‐
593 cremental 'p inccnf' files are supported too with cubes at the end. If
594 '<proof>' is given then a DRAT proof is written to that file.
595
596 If '<input>' is missing then the solver reads from '<stdin>', also if
597 '-' is used as input path name '<input>'. Similarly,
598
599 For incremental files each cube is solved in turn. The solver stops at
600 the first satisfied cube if there is one and uses that one for the wit‐
601 ness to print. Conflict and decision limits are applied to each indi‐
602 vidual cube solving call while '-P', '-L' and '-t' remain global. Only
603 if all cubes were unsatisfiable the solver prints the standard unsatis‐
604 fiable solution line ('s UNSATISFIABLE').
605
606 By default the proof is stored in the binary DRAT format unless the op‐
607 tion '--no-binary' is specified or the proof is written to '<stdout>'
608 and '<stdout>' is connected to a terminal.
609
610 The input is assumed to be compressed if it is given explicitly and has
611 a '.gz', '.bz2', '.xz' or '.7z' suffix. The same applies to the output
612 file. In order to use compression and decompression the corresponding
613 utilities 'gzip', 'bzip', 'xz', and '7z' (depending on the format) are
614 required and need to be installed on the system. The solver checks
615 file type signatures though and falls back to non-compressed file read‐
616 ing if the signature does not match.
617
618
619
620cadical 1.4.0 February 2021 CADICAL(1)