1CADICAL(1)                       User Commands                      CADICAL(1)
2
3
4

NAME

6       cadical - manual page for cadical 1.2.1
7

DESCRIPTION

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