Provided by: cryptominisat_5.8.0+dfsg1-2_amd64 bug

NAME

       cryptominisat5 - SAT solver

DESCRIPTION

       A  universal,  fast  SAT  solver with XOR and Gaussian Elimination support.  Input can be either plain or
       gzipped DIMACS with XOR extension

       cryptominisat5 [options] inputfile [drat-trim-file]

   Preprocessor usage:
              cryptominisat5 --preproc 1 [options] inputfile simplified-cnf-file

              cryptominisat5 --preproc 2 [options] solution-file

   Main options:
       -h [ --help ]
              Print simple help

       --hhelp
              Print extensive help

       -v [ --version ]
              Print version info

       --verb arg (=1)
              [0-10] Verbosity of solver. 0 = only solution

       -r [ --random ] arg (=0)
              [0..] Random seed

       -t [ --threads ] arg (=1)
              Number of threads

       --maxtime arg
              Stop solving after this much time (s)

       --maxconfl arg
              Stop solving after this many conflicts

       -m [ --mult ] arg (=3)
              Time multiplier for all simplification cutoffs

       --memoutmult arg (=1)
              Multiplier  for  memory-out  checks  on  inprocessing  functions.  It  limits   things   such   as
              clause-link-in. Useful when you have limited memory but still want to do some inprocessing

       -p [ --preproc ] arg (=0)
              0 = normal run, 1 = preprocess and dump, 2 = read back dump and solution to produce final solution

   Polarity options:
       --polar arg (=auto)
              {true,false,rnd,auto}  Selects  polarity  mode.  'true'  ->  selects  only  positive polarity when
              branching. 'false' -> selects only negative  polarity  when  branching.  'auto'  ->  selects  last
              polarity used (also called 'caching')

       --polarstablen arg (=4)
              When to use stable polarities. 0 = always, otherwise every n. Negative is special, see code

       --lucky arg (=20)
              Try computing lucky polarities

       --polarbestinvmult arg (=9)
              How often should we use inverted best polarities instead of stable

       --polarbestmult arg (=1000)
              How often should we use best polarities instead of stable

   Restart options:
       --restart arg
              {geom, glue, luby}  Restart strategy to follow.

       --gluehist arg (=50)
              The  size  of  the  moving window for short-term glue history of redundant clauses. If higher, the
              minimal number of conflicts between restarts is longer

       --lwrbndblkrest arg (=10000)
              Lower bound on blocking restart -- don't block before this many conflicts

       --locgmult arg (=0.8)
              The multiplier used to determine if we should restart during glue-based restart

       --ratiogluegeom arg (=5)
              Ratio of glue vs geometric restarts -- more is more glue

   Printing options:
       --verbstat arg (=2)
              Change verbosity of statistics at the end of the solving [0..3]

       --verbrestart arg (=0)
              Print more thorough, but different stats

       --verballrestarts arg (=0)
              Print a line for every restart

       -s [ --printsol ] arg (=1)
              Print assignment if solution is SAT

       --restartprint arg (=8192)
              Print restart status lines at least every N conflicts

       --dumpresult arg
              Write solution(s) to this file

   Glue options:
       --updateglueonanalysis arg (=1)
              Update glues while analyzing

       --maxgluehistltlimited arg (=50)
              Maximum glue used by glue-based restart strategy when populating glue history.

   Propagation options:
       --diffdeclevelchrono arg (=20)
              Difference in decision level is more than  this,  perform  chonological  backtracking  instead  of
              non-chronological  backtracking. Giving -1 means it is never turned on (overrides '--confltochrono
              -1' in this case).

   Redundant clause options:
       --gluecut0 arg (=3)
              Glue value for lev 0 ('keep') cut

       --gluecut1 arg (=6)
              Glue value for lev 1 cut ('give another shot'

       --adjustglue arg (=0.7)
              If more than this % of clauses is LOW glue (level 0) then lower the glue cutoff by 1 --  once  and
              never again

       --everylev1 arg (=10000)
              Reduce lev1 clauses every N

       --everylev2 arg (=15000)
              Reduce lev2 clauses every N

       --lev1usewithin arg (=70000)
              Learnt clause must be used in lev1 within this timeframe or be dropped to lev2

       --dumpred arg
              Dump redundant clauses of gluecut0&1 to this filename

       --dumpredmaxlen arg (=10000)
              When dumping redundant clauses, only dump clauses at most this long

       --dumpredmaxglue arg (=1000)
              When dumping redundant clauses, only dump clauses with at most this large glue

       Clause dumping after problem finishing:

   Variable branching options:
       --branchstr arg (=maple1+maple2+vsids2+maple1+maple2+vsids1)
              Branch strategy. E.g.  'vmtf+vsids+maple+rnd'

   Conflict options:
       --recur arg (=1)
              Perform recursive minimisation

       --moreminim arg (=1)
              Perform strong minimisation at conflict gen.

       --moremoreminim arg (=1)
              Perform even stronger minimisation at conflict gen.

       --moremorealways arg (=0)
              Always strong-minimise clause

       --decbased arg (=1)
              Create decision-based conflict clauses when the UIP clause is too large

   Iterative solve options:
       --maxsol arg (=1)
              Search for given amount of solutions.  Thanks to Jannis Harder for the decision-based banning idea

       --nobansol
              Don't ban the solution once it's found

       --debuglib arg
              Parse special comments to run solve/simplify during parsing of CNF

   Probing options:
       --transred arg (=1)
              Remove useless binary clauses (transitive reduction)

       --intree arg (=1)
              Carry out intree-based probing

       --intreemaxm arg (=1200)
              Time in mega-bogoprops to perform intree probing

       --otfhyper arg (=1)
              Perform hyper-binary resolution during probing

   Stochastic Local Search options:
       --sls arg (=1)
              Run SLS during simplification

       --slstype arg (=ccnr)
              Which SLS to run. Allowed values: walksat, yalsat, ccnr, ccnr_yalsat

       --slsmaxmem arg (=500)
              Maximum  number  of  MB to give to SLS solver. Doesn't run SLS solver if the memory usage would be
              more than this.

       --slseveryn arg (=2)
              Run SLS solver every N simplifications only

       --yalsatmems arg (=40)
              Run Yalsat with this many mems*million timeout. Limits time of yalsat run

       --walksatruns arg (=50)
              Max 'runs' for WalkSAT. Limits time of WalkSAT run

       --slsgetphase arg (=1)
              Get phase from SLS solver, set as new phase for CDCL

       --slsccnraspire arg (=1)
              Turn aspiration on/off for CCANR

       --slstobump arg (=100)
              How many variables to bump in CCNR

       --slstobumpmaxpervar arg (=100)
              How many times to bump an individual variable's activity in CCNR

       --slsbumptype arg (=6)
              How to calculate what variable to bump.  1 = clause-based, 2 = var-flip-based, 3 = var-score-based

       --slsoffset arg (=0)
              Should SLS set the VSIDS/Maple offsetsd

   Simplification schedules:
       --schedsimp arg (=1)
              Perform simplification rounds. If 0, we never perform any.

       --presimp arg (=0)
              Perform simplification at the very start

       --allpresimp arg (=0)
              Perform simplification at EVERY start -- only matters in library mode

       -n [ --nonstop ] arg (=0)
              Never stop the search() process in class SATSolver

       --maxnumsimppersolve arg (=25)
              Maximum number of simplifiactions  to  perform  for  every  solve()  call.  After  this,  no  more
              inprocessing will take place.

       --schedule arg
              Schedule for simplification during run

       --preschedule arg
              Schedule for simplification at startup

       --occsimp arg (=1)
              Perform  occurrence-list-based  optimisations (variable elimination, subsumption, bounded variable
              addition...)

       --confbtwsimp arg (=50000)
              Start first simplification after this many conflicts

       --confbtwsimpinc arg (=1.4)
              Simp rounds increment by this power of N

   Occ-based simplification memory limits:
       --occredmax arg (=200)
              Don't add to occur list any redundant clause larger than this

       --occredmaxmb arg (=600)
              Don't allow redundant occur size to be beyond this many MB

       --occirredmaxmb arg (=2500)
              Don't allow irredundant occur size to be beyond this many MB

   Ternary resolution:
       --tern arg (=1)
              Perform Ternary resolution'

       --terntimelim arg (=100)
              Time-out in bogoprops M of ternary resolution  as  per  paper  'Look-Ahead  Versus  Look-Back  for
              Satisfiability Problems'

       --ternkeep arg (=6)
              Keep ternary resolution clauses only if they are touched within this multiple of 'lev1usewithin'

       --terncreate arg (=1)
              Create only this multiple (of linked in cls) ternary resolution clauses per simp run

       --ternbincreate arg (=1)
              Allow ternary resolving to generate binary clauses

   Occ-based subsumption and strengthening time limits:
       --strengthen arg (=1)
              Perform clause contraction through self-subsuming resolution as part of the occurrence-subsumption
              system

       --substimelim arg (=300)
              Time-out in bogoprops M of subsumption of long clauses with long clauses, after computing occur

       --substimelimbinratio arg (=0.10000000000000001)
              Ratio of subsumption time limit to spend on sub&str long clauses with bin

       --substimelimlongratio arg (=0.90000000000000002)
              Ratio of subsumption time limit to spend on sub long clauses with long

       --strstimelim arg (=300)
              Time-out in bogoprops M of strengthening of long clauses with long clauses, after computing occur

       --sublonggothrough arg (=1)
              How many times go through subsume

   BVE options:
       --varelim arg (=1)
              Perform variable elimination as per Een and Biere

       --varelimto arg (=750)
              Var elimination bogoprops M time limit

       --varelimover arg (=32)
              Do  BVE  until  the  resulting no. of clause increase is less than X. Only power of 2 makes sense,
              i.e. 2,4,8...

       --emptyelim arg (=1)
              Perform empty resolvent elimination using bit-map trick

       --varelimmaxmb arg (=1000)
              Maximum extra MB of memory to use for new clauses during varelim

       --eratio arg (=1.6)
              Eliminate this ratio of free variables at most per variable elimination iteration

       --skipresol arg (=1)
              Skip BVE resolvents in case they belong to a gate

   BVA options:
       --bva arg (=1)
              Perform bounded variable addition

       --bvaeveryn arg (=7)
              Perform BVA only every N occ-simplify calls

       --bvalim arg (=250000)
              Maximum number of variables to add by BVA per call

       --bva2lit arg (=1)
              BVA with 2-lit difference hack, too.  Beware, this reduces the effectiveness of 1-lit diff

       --bvato arg (=50)
              BVA time limit in bogoprops M

   Equivalent literal options:
       --scc arg (=1)
              Find equivalent literals through SCC and replace them

   Component options:
       --comps arg (=0)
              Perform component-finding and separate handling

       --compsfrom arg (=0)
              Component finding only after this many simplification rounds

       --compsvar arg (=1000000)
              Only use components in case the number of variables is below this limit

       --compslimit arg (=500)
              Limit how much time is spent in component-finding

   Memory saving options:
       --renumber arg (=1)
              Renumber variables to increase CPU cache efficiency

       --savemem arg (=1)
              Save memory by deallocating variable space after renumbering. Only works if renumbering is active.

       --mustrenumber arg (=0)
              Treat all 'renumber' strategies as 'must-renumber'

       --fullwatchconseveryn arg (=4000000)
              Consolidate watchlists fully once every N conflicts. Scheduled during simplification rounds.

   XOR-related options:
       --xor arg (=1)
              Discover long XORs

       --maxxorsize arg (=7)
              Maximum XOR size to find

       --xorfindtout arg (=400)
              Time limit for finding XORs

       --varsperxorcut arg (=2)
              Number of _real_ variables per XOR when cutting them. So 2 will have XORs of size 4  because  1  =
              connecting  to  previous, 1 = connecting to next, 2 in the midde. If the XOR is 4 long, it will be
              just one 4-long XOR, no connectors

       --maxxormat arg (=400)
              Maximum matrix size (=num elements) that we should try to echelonize

       --forcepreservexors arg (=0)
              Force preserving XORs when they have been found. Easier to make sure XORs  are  not  lost  through
              simplifiactions such as strenghtening

       --m4ri arg (=1)
              Use M4RI

   Gate-related options:
       --gates arg (=0)
              Find gates. Disables all sub-options below

       --gorshort arg (=1)
              Shorten clauses with OR gates

       --gandrem arg (=1)
              Remove clauses with AND gates

       --gateeqlit arg (=1)
              Find equivalent literals using gates

       --printgatedot arg (=0)
              Print gate structure regularly to file 'gatesX.dot'

       --gatefindto arg (=200)
              Max time in bogoprops M to find gates

       --shortwithgatesto arg (=200)
              Max time to shorten with gates, bogoprops M

       --remwithgatesto arg (=100)
              Max time to remove with gates, bogoprops M

   Gauss options:
       --maxmatrixrows arg (=5000)
              Set maximum no. of rows for gaussian matrix. Too large matricesshould bee discarded for reasons of
              efficiency

       --autodisablegauss arg (=1)
              Automatically disable gauss when performing badly

       --minmatrixrows arg (=3)
              Set  minimum  no.  of  rows  for  gaussian  matrix. Normally, too small matrices are discarded for
              reasons of efficiency

       --maxnummatrices arg (=5)
              Maximum number of matrices to treat.

       --detachxor arg (=0)
              Detach and reattach XORs

       --useallmatrixes arg (=0)
              Force using all matrices

       --detachverb arg (=0)
              If set, verbosity for XOR detach code is upped, ignoring normal verbosity

       --gaussusefulcutoff arg (=0.20000000000000001)
              Turn off Gauss if less than this many usefulenss ratio is recorded

   Distill options:
       --distill arg (=1)
              Regularly execute clause distillation

       --distillmaxm arg (=20)
              Maximum number of Mega-bogoprops(~time) to spend on vivifying/distilling long  cls  by  enqueueing
              and propagating

       --distillto arg (=120)
              Maximum time in bogoprops M for distillation

       --distillincconf arg (=0.02)
              Multiplier for current number of conflicts OTF distill

       --distillminconf arg (=10000)
              Minimum number of conflicts between OTF distill

       --distilltier1ratio arg (=0.029999999999999999)
              How much of tier 1 to distill

   Reconf options:
       --reconfat arg (=2)
              Reconfigure after this many simplifications

       --reconf arg (=0)
              Reconfigure after some time to this solver configuration [3,4,6,7,12,13,14,15,16]

   Misc options:
       --strmaxt arg (=30)
              Maximum MBP to spend on distilling long irred cls through watches

       --implicitmanip arg (=1)
              Subsume and strengthen implicit clauses with each other

       --implsubsto arg (=100)
              Timeout (in bogoprop Millions) of implicit subsumption

       --implstrto arg (=200)
              Timeout (in bogoprop Millions) of implicit strengthening

       --cardfind arg (=0)
              Find cardinality constraints

   Normal run schedules:
              Default   schedule:   handle-comps,   scc-vrepl,   sub-impl,  intree-probe,  sub-str-cls-with-bin,
              distill-cls,   scc-vrepl,    sub-impl,    str-impl,    sub-impl,    breakid,    occ-backw-sub-str,
              occ-clean-implicit,   occ-bve,   occ-bva,  occ-ternary-res,  occ-xor,  card-find,  cl-consolidate,
              str-impl, sub-str-cls-with-bin, distill-cls, scc-vrepl, renumber, bosphorus, sls, lucky

              Schedule  at  startup:  sub-impl,   breakid,   occ-backw-sub-str,   occ-clean-implicit,   occ-bve,
              occ-ternary-res,     occ-backw-sub-str,    occ-xor,    card-find,    cl-consolidate,    scc-vrepl,
              sub-cls-with-bin, bosphorus, sls, lucky

   Preproc run schedule:
              handle-comps, scc-vrepl, sub-impl, sub-str-cls-with-bin, distill-cls, scc-vrepl, sub-impl,breakid,
              occ-backw-sub-str, occ-clean-implicit, occ-bve, occ-bva,occ-ternary-res, occ-xor,  cl-consolidate,
              str-impl,    sub-str-cls-with-bin,    distill-cls,    scc-vrepl,    sub-impl,str-impl,   sub-impl,
              sub-str-cls-with-bin,intree-probe, must-renumber

BUG TRACKER

       Please don't hesitate to file any and all issues at:

       https://github.com/msoos/cryptominisat/issues

AUTHORS

       cryptominisat5 is written and maintained by Mate Soos soos.mate@gmail.com

COPYRIGHT

       cryptominisat5 is under the MIT license. Please see https://opensource.org/licenses/MIT for the full text

SEE ALSO

       More    documentation    for    the     cryptominisat5     SAT     solver     can     be     found     at
       https://www.msoos.org/cryptominisat5/

cryptominisat5 5.8.0                              February 2022                                CRYPTOMINISAT5(1)