1CADICAL(1) User Commands CADICAL(1)
2
3
4
6 cadical - manual page for cadical 1.5.2
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 --checkconstraint=bool
142 check constraint satisfied [true]
143
144 --checkfailed=bool
145 check failed literals form core [true]
146
147 --checkfrozen=bool
148 check all frozen semantics [false]
149
150 --checkproof=bool
151 check proof internally [true]
152
153 --checkwitness=bool
154 check witness internally [true]
155
156 --chrono=0..2
157 chronological backtracking [1]
158
159 --chronoalways=bool
160 force always chronological [false]
161
162 --chronolevelim=0..2e9
163 chronological level limit [1e2]
164
165 --chronoreusetrail=bool
166 reuse trail chronologically [true]
167
168 --compact=bool
169 compact internal variables [true]
170
171 --compactint=1..2e9
172 compacting interval [2e3]
173
174 --compactlim=0..1e3
175 inactive limit per mille [1e2]
176
177 --compactmin=1..2e9
178 minimum inactive limit [1e2]
179
180 --condition=bool
181 globally blocked clause elim [false]
182
183 --conditionint=1..2e9
184 initial conflict interval [1e4]
185
186 --conditionmaxeff=0..2e9
187 maximum condition efficiency [1e7]
188
189 --conditionmaxrat=1..2e9
190 maximum clause variable ratio [100]
191
192 --conditionmineff=0..2e9
193 minimum condition efficiency [1e6]
194
195 --conditionreleff=1..1e5
196 relative efficiency per mille [100]
197
198 --cover=bool
199 covered clause elimination [false]
200
201 --covermaxclslim=1..2e9
202 maximum clause size [1e5]
203
204 --covermaxeff=0..2e9
205 maximum cover efficiency [1e8]
206
207 --coverminclslim=2..2e9
208 minimum clause size [2]
209
210 --covermineff=0..2e9
211 minimum cover efficiency [1e6]
212
213 --coverreleff=1..1e5
214 relative efficiency per mille [4]
215
216 --decompose=bool
217 decompose BIG in SCCs and ELS [true]
218
219 --decomposerounds=1..16
220 number of decompose rounds [2]
221
222 --deduplicate=bool
223 remove duplicated binaries [true]
224
225 --eagersubsume=bool
226 subsume recently learned [true]
227
228 --eagersubsumelim=1..1e3
229 limit on subsumed candidates [20]
230
231 --elim=bool
232 bounded variable elimination [true]
233
234 --elimands=bool
235 find AND gates [true]
236
237 --elimaxeff=0..2e9
238 maximum elimination efficiency [2e9]
239
240 --elimbackward=bool
241 eager backward subsumption [true]
242
243 --elimboundmax=-1..2e6
244 maximum elimination bound [16]
245
246 --elimboundmin=-1..2e6
247 minimum elimination bound [0]
248
249 --elimclslim=2..2e9
250 resolvent size limit [1e2]
251
252 --elimequivs=bool
253 find equivalence gates [true]
254
255 --elimineff=0..2e9
256 minimum elimination efficiency [1e7]
257
258 --elimint=1..2e9
259 elimination interval [2e3]
260
261 --elimites=bool
262 find if-then-else gates [true]
263
264 --elimlimited=bool
265 limit resolutions [true]
266
267 --elimocclim=0..2e9
268 occurrence limit [1e2]
269
270 --elimprod=0..1e4
271 elim score product weight [1]
272
273 --elimreleff=1..1e5
274 relative efficiency per mille [1e3]
275
276 --elimrounds=1..512
277 usual number of rounds [2]
278
279 --elimsubst=bool
280 elimination by substitution [true]
281
282 --elimsum=0..1e4
283 elimination score sum weight [1]
284
285 --elimxorlim=2..27
286 maximum XOR size [5]
287
288 --elimxors=bool
289 find XOR gates [true]
290
291 --emagluefast=1..2e9
292 window fast glue [33]
293
294 --emaglueslow=1..2e9
295 window slow glue [1e5]
296
297 --emajump=1..2e9
298 window back-jump level [1e5]
299
300 --emalevel=1..2e9
301 window back-track level [1e5]
302
303 --emasize=1..2e9
304 window learned clause size [1e5]
305
306 --ematrailfast=1..2e9
307 window fast trail [1e2]
308
309 --ematrailslow=1..2e9
310 window slow trail [1e5]
311
312 --flush=bool
313 flush redundant clauses [false]
314
315 --flushfactor=1..1e3
316 interval increase [3]
317
318 --flushint=1..2e9
319 initial limit [1e5]
320
321 --forcephase=bool
322 always use initial phase [false]
323
324 --inprocessing=bool
325 enable inprocessing [true]
326
327 --instantiate=bool
328 variable instantiation [false]
329
330 --instantiateclslim=2..2e9 minimum clause size [3]
331
332 --instantiateocclim=1..2e9 maximum occurrence limit [1]
333
334 --instantiateonce=bool
335 instantiate each clause once [true]
336
337 --lucky=bool
338 search for lucky phases [true]
339
340 --minimize=bool
341 minimize learned clauses [true]
342
343 --minimizedepth=0..1e3
344 minimization depth [1e3]
345
346 --phase=bool
347 initial phase [true]
348
349 --probe=bool
350 failed literal probing [true]
351
352 --probehbr=bool
353 learn hyper binary clauses [true]
354
355 --probeint=1..2e9
356 probing interval [5e3]
357
358 --probemaxeff=0..2e9
359 maximum probing efficiency [1e8]
360
361 --probemineff=0..2e9
362 minimum probing efficiency [1e6]
363
364 --probereleff=1..1e5
365 relative efficiency per mille [20]
366
367 --proberounds=1..16
368 probing rounds [1]
369
370 --profile=0..4
371 profiling level [2]
372
373 --quiet=bool
374 disable all messages [false]
375
376 --radixsortlim=0..2e9
377 radix sort limit [800]
378
379 --realtime=bool
380 real instead of process time [false]
381
382 --reduce=bool
383 reduce useless clauses [true]
384
385 --reduceint=10..1e6
386 reduce interval [300]
387
388 --reducetarget=10..1e2
389 reduce fraction in percent [75]
390
391 --reducetier1glue=1..2e9
392 glue of kept learned clauses [2]
393
394 --reducetier2glue=1..2e9
395 glue of tier two clauses [6]
396
397 --reluctant=0..2e9
398 reluctant doubling period [1024]
399
400 --reluctantmax=0..2e9
401 reluctant doubling period [1048576]
402
403 --rephase=bool
404 enable resetting phase [true]
405
406 --rephaseint=1..2e9
407 rephase interval [1e3]
408
409 --report=bool
410 enable reporting [false]
411
412 --reportall=bool
413 report even if not successful [false]
414
415 --reportsolve=bool
416 use solving not process time [false]
417
418 --restart=bool
419 enable restarts [true]
420
421 --restartint=1..2e9
422 restart interval [2]
423
424 --restartmargin=0..1e2
425 slow fast margin in percent [10]
426
427 --restartreusetrail=bool
428 enable trail reuse [true]
429
430 --restoreall=0..2
431 restore all clauses (2=really) [0]
432
433 --restoreflush=bool
434 remove satisfied clauses [false]
435
436 --reverse=bool
437 reverse variable ordering [false]
438
439 --score=bool
440 use EVSIDS scores [true]
441
442 --scorefactor=500..1e3
443 score factor per mille [950]
444
445 --seed=0..2e9
446 random seed [0]
447
448 --shrink=0..3
449 shrink conflict clause [3]
450
451 --shrinkreap=bool
452 use a reap for shrinking [true]
453
454 --shuffle=bool
455 shuffle variables [false]
456
457 --shufflequeue=bool
458 shuffle variable queue [true]
459
460 --shufflerandom=bool
461 not reverse but random [false]
462
463 --shufflescores=bool
464 shuffle variable scores [true]
465
466 --stabilize=bool
467 enable stabilizing phases [true]
468
469 --stabilizefactor=101..2e9 phase increase in percent [200]
470
471 --stabilizeint=1..2e9
472 stabilizing interval [1e3]
473
474 --stabilizemaxint=1..2e9
475 maximum stabilizing phase [2e9]
476
477 --stabilizeonly=bool
478 only stabilizing phases [false]
479
480 --subsume=bool
481 enable clause subsumption [true]
482
483 --subsumebinlim=0..2e9
484 watch list length limit [1e4]
485
486 --subsumeclslim=0..2e9
487 clause length limit [1e2]
488
489 --subsumeint=1..2e9
490 subsume interval [1e4]
491
492 --subsumelimited=bool
493 limit subsumption checks [true]
494
495 --subsumemaxeff=0..2e9
496 maximum subsuming efficiency [1e8]
497
498 --subsumemineff=0..2e9
499 minimum subsuming efficiency [1e6]
500
501 --subsumeocclim=0..2e9
502 watch list length limit [1e2]
503
504 --subsumereleff=1..1e5
505 relative efficiency per mille [1e3]
506
507 --subsumestr=bool
508 strengthen during subsume [true]
509
510 --target=0..2
511 target phases (1=stable only) [1]
512
513 --terminateint=0..1e4
514 termination check interval [10]
515
516 --ternary=bool
517 hyper ternary resolution [true]
518
519 --ternarymaxadd=0..1e4
520 max clauses added in percent [1e3]
521
522 --ternarymaxeff=0..2e9
523 ternary maximum efficiency [1e8]
524
525 --ternarymineff=1..2e9
526 minimum ternary efficiency [1e6]
527
528 --ternaryocclim=1..2e9
529 ternary occurrence limit [1e2]
530
531 --ternaryreleff=1..1e5
532 relative efficiency per mille [10]
533
534 --ternaryrounds=1..16
535 maximum ternary rounds [2]
536
537 --transred=bool
538 transitive reduction of BIG [true]
539
540 --transredmaxeff=0..2e9
541 maximum efficiency [1e8]
542
543 --transredmineff=0..2e9
544 minimum efficiency [1e6]
545
546 --transredreleff=1..1e5
547 relative efficiency per mille [1e2]
548
549 --verbose=0..3
550 more verbose messages [0]
551
552 --vivify=bool
553 vivification [true]
554
555 --vivifymaxeff=0..2e9
556 maximum efficiency [2e7]
557
558 --vivifymineff=0..2e9
559 minimum efficiency [2e4]
560
561 --vivifyonce=0..2
562 vivify once: 1=red, 2=red+irr [0]
563
564 --vivifyredeff=0..1e3
565 redundant efficiency per mille [75]
566
567 --vivifyreleff=1..1e5
568 relative efficiency per mille [20]
569
570 --walk=bool
571 enable random walks [true]
572
573 --walkmaxeff=0..2e9
574 maximum efficiency [1e7]
575
576 --walkmineff=0..1e7
577 minimum efficiency [1e5]
578
579 --walknonstable=bool
580 walk in non-stabilizing phase [true]
581
582 --walkredundant=bool
583 walk redundant clauses too [false]
584
585 --walkreleff=1..1e5
586 relative efficiency per mille [20]
587
588 The internal options have their default value printed in brackets after
589 their description. They can also be used in the form '--<name>' which
590 is equivalent to '--<name>=1' and in the form '--no-<name>' which is
591 equivalent to '--<name>=0'. One can also use 'true' instead of '1',
592 'false' instead of '0', as well as numbers with positive exponent such
593 as '1e3' instead of '1000'.
594
595 Alternatively option values can also be specified in the header of the
596 DIMACS file, e.g., 'c --elim=false', or through environment variables,
597 such as 'CADICAL_ELIM=false'. The embedded options in the DIMACS file
598 have highest priority, followed by command line options and then values
599 specified through environment variables.
600
601 The input is read from '<input>' assumed to be in DIMACS format. In‐
602 cremental 'p inccnf' files are supported too with cubes at the end. If
603 '<proof>' is given then a DRAT proof is written to that file.
604
605 If '<input>' is missing then the solver reads from '<stdin>', also if
606 '-' is used as input path name '<input>'. Similarly,
607
608 For incremental files each cube is solved in turn. The solver stops at
609 the first satisfied cube if there is one and uses that one for the wit‐
610 ness to print. Conflict and decision limits are applied to each indi‐
611 vidual cube solving call while '-P', '-L' and '-t' remain global. Only
612 if all cubes were unsatisfiable the solver prints the standard unsatis‐
613 fiable solution line ('s UNSATISFIABLE').
614
615 By default the proof is stored in the binary DRAT format unless the op‐
616 tion '--no-binary' is specified or the proof is written to '<stdout>'
617 and '<stdout>' is connected to a terminal.
618
619 The input is assumed to be compressed if it is given explicitly and has
620 a '.gz', '.bz2', '.xz' or '.7z' suffix. The same applies to the output
621 file. In order to use compression and decompression the corresponding
622 utilities 'gzip', 'bzip', 'xz', and '7z' (depending on the format) are
623 required and need to be installed on the system. The solver checks
624 file type signatures though and falls back to non-compressed file read‐
625 ing if the signature does not match.
626
627
628
629cadical 1.5.2 July 2022 CADICAL(1)