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

NAME

6       cryptominisat5 - SAT solver
7

DESCRIPTION

9       A universal, fast SAT solver with XOR and Gaussian Elimination support.
10       Input can be either plain or gzipped DIMACS with XOR extension
11
12       cryptominisat5 [options] inputfile [drat-trim-file]
13
14   Preprocessor usage:
15              cryptominisat5   --preproc   1   [options]   inputfile   simpli‐
16              fied-cnf-file
17
18              cryptominisat5 --preproc 2 [options] solution-file
19
20   Main options:
21       -h [ --help ]
22              Print simple help
23
24       --hhelp
25              Print extensive help
26
27       -v [ --version ]
28              Print version info
29
30       --verb arg (=1)
31              [0-10] Verbosity of solver. 0 = only solution
32
33       -r [ --random ] arg (=0)
34              [0..] Random seed
35
36       -t [ --threads ] arg (=1)
37              Number of threads
38
39       --maxtime arg (=MAX)
40              Stop solving after this much time (s)
41
42       --maxconfl arg (=MAX)
43              Stop solving after this many conflicts
44
45       -m [ --mult ] arg (=4)
46              Time multiplier for all simplification cutoffs
47
48       --memoutmult arg (=1)
49              Multiplier    for    memory-out    checks   on   variables   and
50              clause-link-in, etc.  Useful when you have limited memory.
51
52       -p [ --preproc ] arg (=0)
53              0 = normal run, 1 = preprocess and dump, 2 = read back dump  and
54              solution to produce final solution
55
56       --polar arg (=auto)
57              {true,false,rnd,auto}  Selects  polarity mode. 'true' -> selects
58              only positive polarity when branching. 'false' ->  selects  only
59              negative  polarity when branching. 'auto' -> selects last polar‐
60              ity used (also called 'caching')
61
62   Restart options:
63       --restart arg
64              {geom, glue, luby}  Restart strategy to follow.
65
66       --gluehist arg (=50)
67              The size of the moving window for  short-term  glue  history  of
68              redundant  clauses.  If  higher, the minimal number of conflicts
69              between restarts is longer
70
71       --blkrest arg (=1)
72              Perform blocking restarts as per Glucose 3.0
73
74       --blkrestlen arg (=5000)
75              Length of the long term trail size for blocking restart
76
77       --blkrestmultip arg (=1.4)
78              Multiplier used for blocking restart cut-off (called 'R' in Glu‐
79              cose 3.0)
80
81       --lwrbndblkrest arg (=10000)
82              Lower  bound on blocking restart -- don't block before this many
83              conflicts
84
85       --locgmult arg (=0.80000000000000004) The multiplier used to  determine
86       if we
87              should restart during glue-based restart
88
89       --brokengluerest arg (=1)
90              Should glue restart be broken as before 8e74cb5010bb4
91
92       --ratiogluegeom arg (=5)
93              Ratio of glue vs geometric restarts -- more is more glue
94
95   Printing options:
96       --verbstat arg (=1)
97              Change verbosity of statistics at the end of the solving [0..2]
98
99       --verbrestart arg (=0)
100              Print more thorough, but different stats
101
102       --verballrestarts arg (=0)
103              Print a line for every restart
104
105       -s [ --printsol ] arg (=1)
106              Print assignment if solution is SAT
107
108       --restartprint arg (=8192)
109              Print restart status lines at least every N conflicts
110
111   Propagation options:
112       --updateglueonanalysis arg (=1)
113              Update glues while analyzing
114
115       --otfhyper arg (=1)
116              Perform  hyper-binary  resolution  at  dec.  level 1 after every
117              restart and during probing
118
119   Redundant clause options:
120       --gluecut0 arg (=3)
121              Glue value for lev 0 ('keep') cut
122
123       --gluecut1 arg (=6)
124              Glue value for lev 1 cut ('give another shot'
125
126       --adjustglue arg (=0.7)
127              If more than this % of clauses is LOW glue (level 0) then  lower
128              the glue cutoff by 1 -- once and never again
129
130       --everylev1 arg (=10000)
131              Reduce lev1 clauses every N
132
133       --everylev2 arg (=15000)
134              Reduce lev2 clauses every N
135
136       --lev1usewithin arg (=30000)
137              Learnt  clause  must be used in lev1 within this timeframe or be
138              dropped to lev2
139
140       --dumpred arg
141              Dump redundant clauses of gluecut0&1 to this filename
142
143       --dumpredmaxlen arg (=10000)
144              When dumping redundant clauses, only dump clauses at  most  this
145              long
146
147       --dumpredmaxglue arg (=1000)
148              When  dumping  redundant clauses, only dump clauses with at most
149              this large glue
150
151       Clause dumping after problem finishing:
152
153   Variable branching options:
154       --vardecaystart arg (=0.8)
155              variable activity increase divider (MUST be smaller than  multi‐
156              plier)
157
158       --vardecaymax arg (=0.95)
159              variable  activity increase divider (MUST be smaller than multi‐
160              plier)
161
162       --vincstart arg (=1)
163              variable activity increase starts with  this  value.  Make  sure
164              that  this  multiplied  by  multiplier and divided by divider is
165              larger than itself
166
167       --freq arg (=0)
168              [0 - 1] freq. of picking var at random
169
170       --maple arg (=1)
171              Use maple-type variable picking sometimes
172
173       --maplemod arg (=3)
174              Use maple N-1 of N rounds. Normally, N is 2, so used every other
175              round. Set to 3 so it will use maple 2/3rds of the time.
176
177       --maplemorebump arg (=0)
178              Bump variable usefulness more when glue is HIGH
179
180   Conflict options:
181       --recur arg (=1)
182              Perform recursive minimisation
183
184       --moreminim arg (=1)
185              Perform strong minimisation at conflict gen.
186
187       --moremoreminim arg (=0)
188              Perform even stronger minimisation at conflict gen.
189
190       --moremorecachelimit arg (=400)
191              Time-out  in  microsteps  for each more minimisation with cache.
192              Only active if 'moreminim' is on
193
194       --moremorestamp arg (=0)
195              Use cache for otf more minim of learnt clauses
196
197       --moremorealways arg (=0)
198              Always strong-minimise clause
199
200       --otfsubsume arg (=0)
201              Perform on-the-fly subsumption
202
203       --decbased arg (=1)
204              Create decision-based conflict clauses when the  UIP  clause  is
205              too large
206
207       --decbasemaxlev arg (=9)
208              Create  decision-based conflict if the maximum level is below or
209              equal to this
210
211       --decbaseminsz arg (=50)
212              Create decision-based conflict if the learnt  clause  is  larger
213              than this
214
215   Iterative solve options:
216       --maxsol arg (=1)
217              Search  for  given amount of solutions.  Thanks to Jannis Harder
218              for the decision-based banning idea
219
220       --debuglib arg
221              MainSolver at specific 'solve()' points in CNF file
222
223       --dumpresult arg
224              Write solution(s) to this file
225
226   Probing options:
227       --bothprop arg (=1)
228              Do propagations solely to propagate the same value twice
229
230       --probe arg (=0)
231              Carry out probing
232
233       --probemaxm arg (=800)
234              Time in mega-bogoprops to perform probing
235
236       --transred arg (=1)
237              Remove useless binary clauses (transitive reduction)
238
239       --intree arg (=1)
240              Carry out intree-based probing
241
242       --intreemaxm arg (=1200)
243              Time in mega-bogoprops to perform intree probing
244
245   Stamping options:
246       --stamp arg (=0)
247              Use time stamping as per Heule&Jarvisalo&Biere paper
248
249       --cache arg (=0)
250              Use implication cache -- may use a lot of memory
251
252       --cachesize arg (=2048)
253              Maximum size of the implication cache in MB. It may  temporarily
254              reach  higher  usage, but will be deleted&disabled if this limit
255              is reached.
256
257       --cachecutoff arg (=2000)
258              If the number of literals propagated by a literal is  more  than
259              this, it's not included into the implication cache
260
261   Simplification schedules:
262       --schedsimp arg (=1)
263              Perform simplification rounds. If 0, we never perform any.
264
265       --presimp arg (=0)
266              Perform simplification at the very start
267
268       --allpresimp arg (=0)
269              Perform simplification at EVERY start -- only matters in library
270              mode
271
272       -n [ --nonstop ] arg (=0)
273              Never stop the search() process in class SATSolver
274
275       --schedule arg
276              Schedule for simplification during run
277
278       --preschedule arg
279              Schedule for simplification at startup
280
281       --occsimp arg (=1)
282              Perform occurrence-list-based optimisations  (variable  elimina‐
283              tion, subsumption, bounded variable addition...)
284
285       --confbtwsimp arg (=50000)
286              Start first simplification after this many conflicts
287
288       --confbtwsimpinc arg (=1.3999999999999999)
289              Simp rounds increment by this power of N
290
291   Occ-based simplification memory limits:
292       --occredmax arg (=200)
293              Don't add to occur list any redundant clause larger than this
294
295       --occredmaxmb arg (=600)
296              Don't allow redundant occur size to be beyond this many MB
297
298       --occirredmaxmb arg (=2500)
299              Don't allow irredundant occur size to be beyond this many MB
300
301   Ternary resolution:
302       --tern arg (=0)
303              Perform Ternary resolution'
304
305       --terntimelim arg (=100)
306              Time-out  in  bogoprops  M  of  ternary  resolution as per paper
307              'Look-Ahead Versus Look-Back for Satisfiability Problems'
308
309   Occ-based subsumption and strengthening time limits:
310       --strengthen arg (=1)
311              Perform clause contraction through self-subsuming resolution  as
312              part of the occurrence-subsumption system
313
314       --substimelim arg (=300)
315              Time-out in bogoprops M of subsumption of long clauses with long
316              clauses, after computing occur
317
318       --strstimelim arg (=300)
319              Time-out in bogoprops M of strengthening of  long  clauses  with
320              long clauses, after computing occur
321
322   BVE options:
323       --varelim arg (=1)
324              Perform variable elimination as per Een and Biere
325
326       --varelimto arg (=350)
327              Var elimination bogoprops M time limit
328
329       --varelimover arg (=32)
330              Do  BVE  until the resulting no. of clause increase is less than
331              X. Only power of 2 makes sense, i.e. 2,4,8...
332
333       --emptyelim arg (=1)
334              Perform empty resolvent elimination using bit-map trick
335
336       --varelimmaxmb arg (=1000)
337              Maximum extra MB of memory to use for new clauses during varelim
338
339       --eratio arg (=norm: 1.6 preproc: 1)
340              Eliminate this ratio of free  variables  at  most  per  variable
341              elimination iteration
342
343       --skipresol arg (=1)
344              Skip BVE resolvents in case they belong to a gate
345
346       --agrelimtimelim arg (=300)
347              Time-out  in  bogoprops  M of aggressive(=uses reverse distilla‐
348              tion) var-elimination
349
350   BVA options:
351       --bva arg (=0)
352              Perform bounded variable addition
353
354       --bvalim arg (=150000)
355              Maximum number of variables to add by BVA per call
356
357       --bva2lit arg (=1)
358              BVA with 2-lit difference hack, too.  Beware, this  reduces  the
359              effectiveness of 1-lit diff
360
361       --bvato arg (=100)
362              BVA time limit in bogoprops M
363
364   Equivalent literal options:
365       --scc arg (=1)
366              Find equivalent literals through SCC and replace them
367
368       --extscc arg (=1)
369              Perform SCC using cache
370
371   Component options:
372       --comps arg (=0)
373              Perform component-finding and separate handling
374
375       --compsfrom arg (=0)
376              Component finding only after this many simplification rounds
377
378       --compsvar arg (=1000000)
379              Only  use  components  in  case the number of variables is below
380              this limit
381
382       --compslimit arg (=500)
383              Limit how much time is spent in component-finding
384
385   XOR-related options:
386       --xor arg (=1)
387              Discover long XORs
388
389       --maxxorsize arg (=7)
390              Maximum XOR size to find
391
392       --xorcache arg (=0)
393              Use cache when finding XORs. Finds a LOT more XORs, but takes  a
394              lot more time
395
396       --varsperxorcut arg (=2)
397              Number  of _real_ variables per XOR when cutting them. So 2 will
398              have XORs of size 4 because 1 = connecting to previous, 1 = con‐
399              necting  to  next, 2 in the midde. If the XOR is 4 long, it will
400              be just one 4-long XOR, no connectors
401
402       --maxxormat arg (=400)
403              Maximum matrix size (=num elements) that we should try to echel‐
404              onize
405
406   Gate-related options:
407       --gates arg (=0)
408              Find gates. Disables all sub-options below
409
410       --gorshort arg (=1)
411              Shorten clauses with OR gates
412
413       --gandrem arg (=1)
414              Remove clauses with AND gates
415
416       --gateeqlit arg (=1)
417              Find equivalent literals using gates
418
419       --printgatedot arg (=0)
420              Print gate structure regularly to file 'gatesX.dot'
421
422       --gatefindto arg (=200)
423              Max time in bogoprops M to find gates
424
425       --shortwithgatesto arg (=200)
426              Max time to shorten with gates, bogoprops M
427
428       --remwithgatesto arg (=100)
429              Max time to remove with gates, bogoprops M
430
431   Misc options:
432       --distill arg (=1)
433              Regularly execute clause distillation
434
435       --distillmaxm arg (=20)
436              Maximum  number  of  Mega-bogoprops(~time)  to  spend on vivify‐
437              ing/distilling long cls by enqueueing and propagating
438
439       --distillto arg (=120)
440              Maximum time in bogoprops M for distillation
441
442   Reconf options:
443       --reconfat arg (=2)
444              Reconfigure after this many simplifications
445
446       --reconf arg (=0)
447              Reconfigure after some time to this solver configuration [0..15]
448
449   Misc options:
450       --strcachemaxm arg (=30)
451              Maximum number of Mega-bogoprops(~time) to  spend  on  vivifying
452              long irred cls through watches, cache and stamps
453
454       --renumber arg (=1)
455              Renumber variables to increase CPU cache efficiency
456
457       --savemem arg (=1)
458              Save  memory  by  deallocating variable space after renumbering.
459              Only works if renumbering is active.
460
461       --fullwatchconseveryn arg (=4000000)
462              Consolidate watchlists fully once every N  conflicts.  Scheduled
463              during simplification rounds.
464
465       --implicitmanip arg (=1)
466              Subsume and strengthen implicit clauses with each other
467
468       --implsubsto arg (=100)
469              Timeout (in bogoprop Millions) of implicit subsumption
470
471       --implstrto arg (=200)
472              Timeout (in bogoprop Millions) of implicit strengthening
473
474   Normal run schedules:
475              Default     schedule:    handle-comps,scc-vrepl,    cache-clean,
476              cache-tryboth,sub-impl,                            intree-probe,
477              probe,sub-str-cls-with-bin,   distill-cls,scc-vrepl,   sub-impl,
478              str-impl,    sub-impl,occ-backw-sub-str,     occ-clean-implicit,
479              occ-bve,       occ-bva,occ-ternary-res,      occ-xor,cl-consoli‐
480              date,str-impl,    cache-clean,    sub-str-cls-with-bin,     dis‐
481              till-cls,scc-vrepl, check-cache-size, renumber
482
483              Schedule       at      startup:      sub-impl,occ-backw-sub-str,
484              occ-clean-implicit, occ-bve,occ-ternary-res,  occ-backw-sub-str,
485              occ-xor, cl-consolidate,scc-vrepl,sub-cls-with-bin
486
487   Preproc run schedule:
488              handle-comps,scc-vrepl,          cache-clean,         cache-try‐
489              both,sub-impl,sub-str-cls-with-bin,   distill-cls,    scc-vrepl,
490              sub-impl,occ-backw-sub-str,     occ-clean-implicit,     occ-bve,
491              occ-bva,occ-ternary-res,        occ-xor,cl-consolidate,str-impl,
492              cache-clean,   sub-str-cls-with-bin,   distill-cls,   scc-vrepl,
493              sub-impl,str-impl, sub-impl,  sub-str-cls-with-bin,intree-probe,
494              probe,must-renumber
495

BUG TRACKER

497       Please don't hesitate to file any and all issues at:
498
499       https://github.com/msoos/cryptominisat/issues
500

AUTHORS

502       cryptominisat5    is    written    and    maintained   by   Mate   Soos
503       soos.mate@gmail.com
504
506       cryptominisat5 is under  the  MIT  license.  Please  see  https://open
507       source.org/licenses/MIT for the full text
508

SEE ALSO

510       More  documentation  for  the cryptominisat5 SAT solver can be found at
511       https://www.msoos.org/cryptominisat5/
512
513
514
515cryptominisat5 5.6.8             February 2019               CRYPTOMINISAT5(1)
Impressum