CRYPTOMINISAT5(1) User Commands CRYPTOMINISAT5(1) NAME cryptominisat5 - manual page for cryptominisat5 5.12.1 SYNOPSIS cryptominisat5 [--help] [--version] [--verb VAR] [--version] [--maxtime VAR] [--maxconfl VAR] [--random VAR] [--threads VAR] [--mult VAR] [--nextm VAR] [--memoutmult VAR] [--maxsol VAR] [--polar VAR] [--scc VAR] [--restart VAR] [--rstfirst VAR] [--gluehist VAR] [--lwrbndblkrest VAR] [--locgmult VAR] [--ratiogluegeom VAR] [--blockingglue VAR] [--gluecut0 VAR] [--gluecut1 VAR] [--adjustglue VAR] [--everylev1 VAR] [--everylev2 VAR] [--lev1usewithin VAR] [--branchstr VAR] [--nobansol] [--debuglib VAR] [--breakid VAR] [--breakideveryn VAR] [--breakidmaxlits VAR] [--breakidmaxcls VAR] [--breakidmaxvars VAR] [--breakidtime VAR] [--breakidcls VAR] [--breakidmatrix VAR] [--sls VAR] [--slstype VAR] [--slsmaxmem VAR] [--slseveryn VAR] [--yalsatmems VAR] [--walksatruns VAR] [--slsgetphase VAR] [--slsccnraspire VAR] [--slstobump VAR] [--slstobumpmaxpervar VAR] [--slsbumptype VAR] [--transred VAR] [--intree VAR] [--intreemaxm VAR] [--otfhyper VAR] [--schedsimp VAR] [--presimp VAR] [--allpresimp VAR] [--nonstop VAR] [--maxnumsimppersolve VAR] [--schedule VAR] [--preschedule VAR] [--occsimp VAR] [--confbtwsimp VAR] [--confbtwsimpinc VAR] [--tern VAR] [--terntimelim VAR] [--ternkeep VAR] [--terncreate VAR] [--ternbincreate VAR] [--occredmax VAR] [--occredmaxmb VAR] [--occirredmaxmb VAR] [--strengthen VAR] [--weakentimelim VAR] [--substimelim VAR] [--substimelimbinratio VAR] [--substimelimlongratio VAR] [--strstimelim VAR] [--sublonggothrough VAR] [--bva VAR] [--bvaeveryn VAR] [--bvalim VAR] [--bva2lit VAR] [--bvato VAR] [--varelim VAR] [--varelimto VAR] [--varelimover VAR] [--emptyelim VAR] [--varelimmaxmb VAR] [--eratio VAR] [--varelimcheckres VAR] [--xor VAR] [--maxxorsize VAR] [--xorfindtout VAR] [--maxxormat VAR] [--gates VAR] [--printgatedot VAR] [--gatefindto VAR] [--recur VAR] [--moreminim VAR] [--moremoreminim VAR] [--moremorealways VAR] [--decbased VAR] [--updateglueonanalysis VAR] [--maxgluehistltlimited VAR] [--diffdeclevelchrono VAR] [--verbstat VAR] [--verbrestart VAR] [--verballrestarts VAR] [--printsol,s VAR] [--restartprint VAR] [--distill VAR] [--distillbin VAR] [--distillmaxm VAR] [--distillincconf VAR] [--distillminconf VAR] [--distilltier0ratio VAR] [--distilltier1ratio VAR] [--distillirredalsoremratio VAR] [--distillirrednoremratio VAR] [--distillshuffleeveryn VAR] [--distillsort VAR] [--renumber VAR] [--mustconsolidate VAR] [--savemem VAR] [--mustrenumber VAR] [--fullwatchconseveryn VAR] [--strmaxt VAR] [--implicitmanip VAR] [--implsubsto VAR] [--implstrto VAR] [--cardfind VAR] [--sync VAR] [--clearinter VAR] [--zero-exit-status] [--printtimes VAR] [--maxsccdepth VAR] [--idrup VAR] [--sampling VAR] [--assump VAR] [--maxmatrixrows VAR] [--maxmatrixcols VAR] [--autodisablegauss VAR] [--minmatrixrows VAR] [--maxnummatrices VAR] [--gaussusefulcutoff VAR] [--dumpresult VAR] files DESCRIPTION Positional arguments: files input file and FRAT output [nargs: 0 or more] Optional arguments: -h, --help shows help message and exits -v, --version prints version information and exits --verb [0-10] Verbosity of solver. 0 = only solution [nargs=0..1] [default: 1] -v, --version Print version information --maxtime Stop solving after this much time (s) --maxconfl Stop solving after this many conflicts -r, --random [0..] Random seed [nargs=0..1] [default: 0] -t, --threads Number of threads [nargs=0..1] [default: 1] -m, --mult Time multiplier for all simplification cutoffs [nargs=0..1] [default: 3] --nextm Global multiplier when the next inprocessing should take place [nargs=0..1] [default: 1] --memoutmult 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 [nargs=0..1] [default: 1] --maxsol Search for given amount of solutions. Thanks to Jannis Harder for the decision-based banning idea [nargs=0..1] [default: 1] --polar {true,false,rnd,auto,stable} 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') [nargs=0..1] [default: "auto"] --scc Find equivalent literals through SCC and replace them [nargs=0..1] [default: 1] --restart {geom, glue, luby} Restart strategy to follow. [nargs=0..1] [default: "auto"] --rstfirst The size of the base restart [nargs=0..1] [default: 100] --gluehist 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 [nargs=0..1] [default: 50] --lwrbndblkrest Lower bound on blocking restart -- don't block before this many conflicts [nargs=0..1] [default: 10000] --locgmult The multiplier used to determine if we should restart during glue-based restart [nargs=0..1] [default: 0.8] --ratiogluegeom Ratio of glue vs geometric restarts -- more is more glue [nargs=0..1] [default: 5] --blockingglue Do blocking restart for glues [nargs=0..1] [default: 1] --gluecut0 Glue value for lev 0 ('keep') cut [nargs=0..1] [default: 3] --gluecut1 Glue value for lev 1 cut ('give another shot' [nargs=0..1] [default: 6] --adjustglue If more than this % of clauses is LOW glue (level 0) then lower the glue cutoff by 1 -- once and never again [nargs=0..1] [default: 0.7] --everylev1 Reduce lev1 clauses every N [nargs=0..1] [default: 10000] --everylev2 Reduce lev2 clauses every N [nargs=0..1] [default: 15000] --lev1usewithin Learnt clause must be used in lev1 within this timeframe or be dropped to lev2 [nargs=0..1] [default: 70000] --branchstr Branch strategy string that switches between different branch strategies while solving e.g. 'vsids1+vsids2' [nargs=0..1] [default: "vmtf+vsids"] --nobansol Don't ban the solution once it's found --debuglib Parse special comments to run solve/simplify during parsing of CNF --breakid Run BreakID to break symmetries. [nargs=0..1] [default: false] --breakideveryn Run BreakID every N simplification iterations [nargs=0..1] [default: 5] --breakidmaxlits Maximum number of literals in thousands. If exceeded, BreakID will not run [nargs=0..1] [default: 3500] --breakidmaxcls Maximum number of clauses in thousands. If exceeded, BreakID will not run [nargs=0..1] [default: 600] --breakidmaxvars Maximum number of variables in thousands. If exceeded, BreakID will not run [nargs=0..1] [default: 300] --breakidtime Maximum number of steps taken during automorphism finding. [nargs=0..1] [default: 2000] --breakidcls Maximum number of breaking clauses per permutation. [nargs=0..1] [default: 50] --breakidmatrix Detect matrix row interchangability [nargs=0..1] [default: true] --sls Run SLS during simplification [nargs=0..1] [default: 1] --slstype Which SLS to run. Allowed values: walksat, yalsat, ccnr, ccnr_yalsat [nargs=0..1] [default: "ccnr"] --slsmaxmem Maximum number of MB to give to SLS solver. Doesn't run SLS solver if the memory usage would be more than this. [nargs=0..1] [default: 500] --slseveryn Run SLS solver every N simplifications only [nargs=0..1] [default: 2] --yalsatmems Run Yalsat with this many mems*million timeout. Limits time of yalsat run [nargs=0..1] [default: 10] --walksatruns Max 'runs' for WalkSAT. Limits time of WalkSAT run [nargs=0..1] [default: 50] --slsgetphase Get phase from SLS solver, set as new phase for CDCL [nargs=0..1] [default: 1] --slsccnraspire Turn aspiration on/off for CCANR [nargs=0..1] [default: 1] --slstobump How many variables to bump in CCNR [nargs=0..1] [default: 100] --slstobumpmaxpervar How many times to bump an individual variable's activity in CCNR [nargs=0..1] [default: 100] --slsbumptype How to calculate what variable to bump. 1 = clause-based, 2 = var-flip-based, 3 = var-score-based [nargs=0..1] [default: 6] --transred Remove useless binary clauses (transitive reduction) [nargs=0..1] [default: 1] --intree Carry out intree-based probing [nargs=0..1] [default: 1] --intreemaxm Time in mega-bogoprops to perform intree probing [nargs=0..1] [default: 400] --otfhyper Perform hyper-binary resolution during probing [nargs=0..1] [default: 1] --schedsimp Perform simplification rounds. If 0, we never perform any. [nargs=0..1] [default: 1] --presimp Perform simplification at the very start [nargs=0..1] [default: 0] --allpresimp Perform simplification at EVERY start -- only matters in library mode [nargs=0..1] [default: 0] -n, --nonstop Never stop the search() process in class SATSolver [nargs=0..1] [default: 0] --maxnumsimppersolve Maximum number of simplifiactions to perform for every solve() call. After this, no more inprocessing will take place. [nargs=0..1] [default: 25] --schedule Schedule for simplification during run --preschedule Schedule for simplification at startup --occsimp Perform occurrence-list-based optimisations (variable elimination, subsumption, bounded variable addition...) [nargs=0..1] [default: 1] --confbtwsimp Start first simplification after this many conflicts [nargs=0..1] [default: 40000] --confbtwsimpinc Simp rounds increment by this power of N [nargs=0..1] [default: 1.4] --tern Perform Ternary resolution [nargs=0..1] [default: true] --terntimelim Time-out in bogoprops M of ternary resolution as per paper 'Look-Ahead Versus Look-Back for Satisfiability Problems' [nargs=0..1] [default: 100] --ternkeep Keep ternary resolution clauses only if they are touched within this multiple of 'lev1usewithin' [nargs=0..1] [default: 5] --terncreate Create only this multiple (of linked in cls) ternary resolution clauses per simp run [nargs=0..1] [default: 0.3] --ternbincreate Allow ternary resolving to generate binary clauses [nargs=0..1] [default: 0] --occredmax Don't add to occur list any redundant clause larger than this [nargs=0..1] [default: 50] --occredmaxmb Don't allow redundant occur size to be beyond this many MB [nargs=0..1] [default: 600] --occirredmaxmb Don't allow irredundant occur size to be beyond this many MB [nargs=0..1] [default: 2500] --strengthen Perform clause contraction through self-subsuming resolution as part of the occurrence-subsumption system [nargs=0..1] [default: 1] --weakentimelim Time-out in bogoprops M of weakeaning used [nargs=0..1] [default: 300] --substimelim Time-out in bogoprops M of subsumption of long clauses with long clauses, after computing occur [nargs=0..1] [default: 300] --substimelimbinratio Ratio of subsumption time limit to spend on sub&str long clauses with bin [nargs=0..1] [default: 0.1] --substimelimlongratio Ratio of subsumption time limit to spend on sub long clauses with long [nargs=0..1] [default: 0.9] --strstimelim Time-out in bogoprops M of strengthening of long clauses with long clauses, after computing occur [nargs=0..1] [default: 300] --sublonggothrough How many times go through subsume [nargs=0..1] [default: 1] --bva Perform bounded variable addition [nargs=0..1] [default: 0] --bvaeveryn Perform BVA only every N occ-simplify calls [nargs=0..1] [default: 7] --bvalim Maximum number of variables to add by BVA per call [nargs=0..1] [default: 250000] --bva2lit BVA with 2-lit difference hack, too. Beware, this reduces the effectiveness of 1-lit diff [nargs=0..1] [default: 1] --bvato BVA time limit in bogoprops M [nargs=0..1] [default: 50] --varelim Perform variable elimination as per Een and Biere [nargs=0..1] [default: 1] --varelimto Var elimination bogoprops M time limit [nargs=0..1] [default: 750] --varelimover Do BVE until the resulting no. of clause increase is less than X. Only power of 2 makes sense, i.e. 2,4,8... [nargs=0..1] [default: 16] --emptyelim Perform empty resolvent elimination using bit-map trick [nargs=0..1] [default: 1] --varelimmaxmb Maximum extra MB of memory to use for new clauses during varelim [nargs=0..1] [default: 1000] --eratio Eliminate this ratio of free variables at most per variable elimination iteration [nargs=0..1] [default: 1.6] --varelimcheckres BVE should check whether resolvents subsume others and check for exact size increase [nargs=0..1] [default: 0] --xor Discover long XORs [nargs=0..1] [default: 1] --maxxorsize Maximum XOR size to find [nargs=0..1] [default: 7] --xorfindtout Time limit for finding XORs [nargs=0..1] [default: 400] --maxxormat Maximum matrix size (=num elements) that we should try to echelonize [nargs=0..1] [default: 400] --gates Find gates. [nargs=0..1] [default: 0] --printgatedot Print gate structure regularly to file 'gatesX.dot' [nargs=0..1] [default: 0] --gatefindto Max time in bogoprops M to find gates [nargs=0..1] [default: 200] --recur Perform recursive minimisation [nargs=0..1] [default: 1] --moreminim Perform strong minimisation at conflict gen. [nargs=0..1] [default: 1] --moremoreminim Perform even stronger minimisation at conflict gen. [nargs=0..1] [default: 2] --moremorealways Always strong-minimise clause [nargs=0..1] [default: 0] --decbased Create decision-based conflict clauses when the UIP clause is too large [nargs=0..1] [default: 1] --updateglueonanalysis Update glues while analyzing [nargs=0..1] [default: 1] --maxgluehistltlimited Maximum glue used by glue-based restart strategy when populating glue history. [nargs=0..1] [default: 50] --diffdeclevelchrono 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). [nargs=0..1] [default: 20] --verbstat Change verbosity of statistics at the end of the solving [0..3] [nargs=0..1] [default: 2] --verbrestart Print more thorough, but different stats [nargs=0..1] [default: 0] --verballrestarts Print a line for every restart [nargs=0..1] [default: 0] --printsol,s Print assignment if solution is SAT [nargs=0..1] [default: 1] --restartprint Print restart status lines at least every N conflicts [nargs=0..1] [default: 8192] --distill Regularly execute clause distillation [nargs=0..1] [default: 1] --distillbin Regularly execute clause distillation [nargs=0..1] [default: 1] --distillmaxm Maximum number of Mega-bogoprops(~time) to spend on vivifying/distilling long cls by enqueueing and propagating [nargs=0..1] [default: 20] --distillincconf Multiplier for current number of conflicts OTF distill [nargs=0..1] [default: 0.1] --distillminconf Minimum number of conflicts between OTF distill [nargs=0..1] [default: 10000] --distilltier0ratio How much of tier 0 to distill [nargs=0..1] [default: 10] --distilltier1ratio How much of tier 1 to distill [nargs=0..1] [default: 0.03] --distillirredalsoremratio How much of irred to distill when doing also removal [nargs=0..1] [default: 1.2] --distillirrednoremratio How much of irred to distill when doing no removal [nargs=0..1] [default: 1] --distillshuffleeveryn Shuffle to-be-distilled clauses every N cases randomly [nargs=0..1] [default: 3] --distillsort Distill sorting type [nargs=0..1] [default: 1] --renumber Renumber variables to increase CPU cache efficiency [nargs=0..1] [default: 1] --mustconsolidate Always consolidate, even if not useful. This is used for debugging ONLY [nargs=0..1] [default: 0] --savemem Save memory by deallocating variable space after renumbering. Only works if renumbering is active. [nargs=0..1] [default: 1] --mustrenumber Treat all 'renumber' strategies as 'must-renumber' [nargs=0..1] [default: 0] --fullwatchconseveryn Consolidate watchlists fully once every N conflicts. Scheduled during simplification rounds. [nargs=0..1] [default: 4000000] --strmaxt Maximum MBP to spend on distilling long irred cls through watches [nargs=0..1] [default: 20] --implicitmanip Subsume and strengthen implicit clauses with each other [nargs=0..1] [default: 1] --implsubsto Timeout (in bogoprop Millions) of implicit subsumption [nargs=0..1] [default: 100] --implstrto Timeout (in bogoprop Millions) of implicit strengthening [nargs=0..1] [default: 200] --cardfind Find cardinality constraints [nargs=0..1] [default: 0] --sync Sync threads every N conflicts [nargs=0..1] [default: 7000] --clearinter Interrupt threads cleanly, all the time [nargs=0..1] [default: 0] --zero-exit-status Exit with status zero in case the solving has finished without an issue --printtimes Print time it took for each simplification run. If set to 0, logs are easier to compare [nargs=0..1] [default: 1] --maxsccdepth The maximum for scc search depth [nargs=0..1] [default: 10000] --idrup idrup [nargs=0..1] [default: 0] --sampling Set sampling vars such as '1,84,44' --assump Assumptions file [nargs=0..1] [default: ""] --maxmatrixrows Set maximum no. of rows for gaussian matrix. Too large matricesshould bee discarded for reasons of efficiency [nargs=0..1] [default: 2000] --maxmatrixcols Set maximum no. of columns for gaussian matrix. Too large matricesshould bee discarded for reasons of efficiency [nargs=0..1] [default: 1000] --autodisablegauss Automatically disable gauss when performing badly [nargs=0..1] [default: true] --minmatrixrows Set minimum no. of rows for gaussian matrix. Normally, too small matrices are discarded for reasons of efficiency [nargs=0..1] [default: 3] --maxnummatrices Maximum number of matrices to treat. [nargs=0..1] [default: 5] --gaussusefulcutoff Turn off Gauss if less than this many usefulenss ratio is recorded [nargs=0..1] [default: 0.2] --dumpresult Write solution(s) to this file SEE ALSO The full documentation for cryptominisat5 is maintained as a Texinfo manual. If the info and cryptominisat5 programs are properly installed at your site, the command info cryptominisat5 should give you access to the complete manual. cryptominisat5 5.12.1 February 2025 CRYPTOMINISAT5(1)