usage: cadical [ <option> ... ] [ <input> [ <proof> ] ]
where '<option>' is one of the following common options:
-h print alternatively only a list of common options
--help print this complete list of all options
--version print version
-n do not print witness (same as '--no-witness')
-v increase verbosity (see also '--verbose' below)
-q be quiet (same as '--quiet')
-t <sec> set wall clock time limit
Or '<option>' is one of the less common options
-L<rounds> run local search initially (default '0' rounds)
-O<level> increase limits by '2^<level>' or '10^<level>'
-P<rounds> initial preprocessing (default '0' rounds)
Note there is no separating space for the options above while the
following options require a space after the option name:
-c <limit> limit the number of conflicts (default unlimited)
-d <limit> limit the number of decisions (default unlimited)
-o <output> write simplified CNF in DIMACS format to file
-e <extend> write reconstruction/extension stack to file
--force | -f parsing broken DIMACS header and writing proofs
--strict strict parsing (no white space in header)
-r <sol> read solution in competition output format
to check consistency of learned clauses
during testing and debugging
-w <sol> write result including a potential witness
solution in competition format to the given file
--colors force colored output
--no-colors disable colored output to terminal
--no-witness do not print witness (see also '-n' above)
--build print build configuration
--copyright print copyright information
There are pre-defined configurations of advanced internal options:
--default set default advanced internal options
--plain disable all internal preprocessing options
--sat set internal options to target satisfiable instances
--unsat set internal options to target unsatisfiable instances
Or '<option>' is one of the following advanced internal options:
--arena=bool allocate clauses in arena [true]
--arenacompact=bool keep clauses compact [true]
--arenasort=bool sort clauses in arena [true]
--arenatype=1..3 1=clause, 2=var, 3=queue [3]
--backbone=0..2 binary clause backbone [1]
--backboneeffort=0..1e5 binary effort in per mile [20]
--backbonemaxrounds=0..1e5 backbone rounds limit [1e3]
--backbonerounds=0..1e5 backbone rounds limit [100]
--backbonethresh=0..1e9 delay if ticks smaller thresh*clauses [5]
--binary=bool use binary proof format [true]
--block=bool blocked clause elimination [false]
--blockmaxclslim=1..2e9 maximum clause size [1e5]
--blockminclslim=2..2e9 minimum clause size [2]
--blockocclim=1..2e9 occurrence limit [1e2]
--bump=bool bump variables [true]
--bumpreason=bool bump reason literals too [true]
--bumpreasondepth=1..3 bump reason depth [1]
--bumpreasonlimit=1..2e9 bump reason limit [10]
--bumpreasonrate=1..2e9 bump reason decision rate [100]
--check=bool enable internal checking [false]
--checkassumptions=bool check assumptions satisfied [true]
--checkconstraint=bool check constraint satisfied [true]
--checkfailed=bool check failed literals form core [true]
--checkfrozen=bool check all frozen semantics [false]
--checkproof=0..3 1=drat, 2=lrat, 3=both [3]
--checkwitness=bool check witness internally [true]
--chrono=0..2 chronological backtracking [1]
--chronoalways=bool force always chronological [false]
--chronolevelim=0..2e9 chronological level limit [1e2]
--chronoreusetrail=bool reuse trail chronologically [true]
--compact=bool compact internal variables [true]
--compactint=1..2e9 compacting interval [2e3]
--compactlim=0..1e3 inactive limit per mille [1e2]
--compactmin=1..2e9 minimum inactive limit [1e2]
--condition=bool globally blocked clause elim [false]
--conditioneffort=1..1e5 relative efficiency per mille [100]
--conditionint=1..2e9 initial conflict interval [1e4]
--conditionmaxeff=0..2e9 maximum condition efficiency [1e7]
--conditionmaxrat=1..2e9 maximum clause variable ratio [100]
--conditionmineff=0..2e9 minimum condition efficiency [0]
--congruence=bool congruence closure [true]
--congruenceand=bool extract AND gates [true]
--congruenceandarity=2..5e7 AND gate arity limit [1e6]
--congruencebinaries=bool extract binary and strengthen ternary clauses [true]
--congruenceite=bool extract ITE gates [true]
--congruencexor=bool extract XOR gates [true]
--congruencexorarity=2..31 XOR gate arity limit [4]
--congruencexorcounts=1..5e6 XOR gate round [1]
--cover=bool covered clause elimination [false]
--covereffort=1..1e5 relative efficiency per mille [4]
--covermaxclslim=1..2e9 maximum clause size [1e5]
--covermaxeff=0..2e9 maximum cover efficiency [1e8]
--coverminclslim=2..2e9 minimum clause size [2]
--covermineff=0..2e9 minimum cover efficiency [0]
--decompose=bool decompose BIG in SCCs and ELS [true]
--decomposerounds=1..16 number of decompose rounds [2]
--deduplicate=bool remove duplicated binaries [true]
--deduplicateallinit=bool remove duplicated clauses once before solving [false]
--eagersubsume=bool subsume recently learned [true]
--eagersubsumelim=1..1e3 limit on subsumed candidates [20]
--elevate=-1..3 elevate during clause addition [2]
--elim=bool bounded variable elimination [true]
--elimands=bool find AND gates [true]
--elimbackward=bool eager backward subsumption [true]
--elimboundmax=-1..2e6 maximum elimination bound [16]
--elimboundmin=-1..2e6 minimum elimination bound [0]
--elimclslim=2..2e9 resolvent size limit [1e2]
--elimdef=bool mine definitions with kitten [false]
--elimdefcores=1..100 number of unsat cores [1]
--elimdefticks=0..2e9 kitten ticks limit [2e5]
--elimeffort=1..1e5 relative efficiency per mille [1e3]
--elimequivs=bool find equivalence gates [true]
--elimint=1..2e9 elimination interval [2e3]
--elimites=bool find if-then-else gates [true]
--elimlimited=bool limit resolutions [true]
--elimmaxeff=0..2e9 maximum elimination efficiency [2e9]
--elimmineff=0..2e9 minimum elimination efficiency [1e7]
--elimocclim=0..2e9 occurrence limit [1e2]
--elimprod=0..1e4 elim score product weight [1]
--elimrounds=1..512 usual number of rounds [2]
--elimsubst=bool elimination by substitution [true]
--elimsum=0..1e4 elimination score sum weight [1]
--elimxorlim=2..27 maximum XOR size [5]
--elimxors=bool find XOR gates [true]
--emadecisions=1..2e9 window decision rate [1e5]
--emagluefast=1..2e9 window fast glue [33]
--emaglueslow=1..2e9 window slow glue [1e5]
--emajump=1..2e9 window back-jump level [1e5]
--emalevel=1..2e9 window back-track level [1e5]
--emasize=1..2e9 window learned clause size [1e5]
--ematrailfast=1..2e9 window fast trail [1e2]
--ematrailslow=1..2e9 window slow trail [1e5]
--exteagerreasons=bool eagerly ask for all reasons (0: only when needed) [false]
--exteagerrecalc=bool after eagerly asking for reasons recalculate all levels (0: trust the external tool) [true]
--exttracecalls=bool trace propagator call-backs when tracing API calls [false]
--factor=bool bounded variable addition [false]
--factorcandrounds=0..2e9 candidates reduction rounds [2]
--factorcheck=0..2 API checks that variables have been declared (1 = only with factor on, 2 = always) [1]
--factordelay=0..12 delay bounded variable addition between eliminations [4]
--factoreffort=0..1e6 relative effort per mille [50]
--factoriniticks=1..1e6 initial effort in millions [300]
--factorsize=2..2e9 clause size limit [5]
--factorthresh=0..100 delay if ticks smaller thresh*clauses [7]
--factorunbump=bool extension variable with lowest importance [1: as in kissat] [true]
--fastelim=bool fast BVE during preprocessing [true]
--fastelimbound=1..1e3 fast BVE bound during preprocessing [8]
--fastelimclslim=2..2e9 fast BVE resolvent size limit [1e2]
--fastelimocclim=1..2e9 fast BVE occurence limit during preprocessing [100]
--fastelimrounds=1..512 number of fastelim rounds [4]
--flush=bool flush redundant clauses [false]
--flushfactor=1..1e3 interval increase [3]
--flushint=1..2e9 initial limit [1e5]
--forcephase=bool always use initial phase [false]
--frat=0..2 1=frat(lrat), 2=frat(drat) [0]
--idrup=bool incremental proof format [false]
--ilb=0..2 ILB (incremental lazy backtrack) (0: no, 1: assumptions only, 2: everything) [0]
--incdecay=0..4 decay clauses when doing incremental clauses [1]
--incdecayint=1..2e9 decay interval when doing incremental clauses [1e6]
--inprobeint=1..2e9 inprobing interval [100]
--inprobing=bool enable probe inprocessing [true]
--inprocessing=bool enable general inprocessing [true]
--instantiate=bool variable instantiation [false]
--instantiateclslim=2..2e9 minimum clause size [3]
--instantiateocclim=1..2e9 maximum occurrence limit [1]
--instantiateonce=bool instantiate each clause once [true]
--lidrup=bool linear incremental proof format [false]
--lrat=bool use LRAT proof format [false]
--lucky=bool lucky phases [true]
--luckyassumptions=bool lucky phases with assumptions [true]
--luckyearly=bool lucky phases before preprocessing [true]
--luckylate=bool lucky phases after preprocessing [true]
--minimize=bool minimize learned clauses [true]
--minimizedepth=0..1e3 minimization depth [1e3]
--minimizeticks=bool increment ticks in minimization [true]
--otfs=bool on-the-fly self subsumption [true]
--phase=bool initial phase [true]
--preprocessinit=0..2e9 initial preprocessing base limit [2e6]
--preprocesslight=bool lightweight preprocessing [false]
--probe=bool failed literal probing [true]
--probeeffort=1..1e5 relative efficiency per mille [8]
--probehbr=bool learn hyper binary clauses [true]
--probethresh=0..100 delay if ticks smaller thresh*clauses [0]
--profile=0..4 profiling level [2]
--quiet=bool disable all messages [false]
--radixsortlim=0..2e9 radix sort limit [32]
--randec=bool random decisions [false]
--randecfocused=bool random decisions in focused mode [true]
--randecinit=2..2e9 inital random decision interval [1e3]
--randecint=0..2e9 random conflict length [500]
--randeclength=1..1e9 length random decisions phases [10]
--randecstable=bool random decisions in stable mode [false]
--realtime=bool real instead of process time [false]
--recomputetier=bool recompute tiers [true]
--reduce=bool reduce useless clauses [true]
--reduceinit=1..1e6 initial interval [300]
--reduceint=2..1e6 reduce interval [25]
--reduceopt=0..2 0=prct,1=sqrt,2=max [1]
--reducetarget=10..1e2 reduce fraction in percent [75]
--reducetier1glue=1..2e9 glue of kept learned clauses [2]
--reducetier2glue=1..2e9 glue of tier two clauses [6]
--reluctant=bool stable reluctant doubling restarts [true]
--reluctantint=0..2e9 reluctant doubling period [1024]
--reluctantmax=0..2e9 maximum reluctant doubling period [1048576]
--rephase=0..2 enable resetting phase (0=no,1=always,2=stable-only) [1]
--rephaseint=1..2e9 rephase interval [1e3]
--report=bool enable reporting [false]
--reportall=bool report even if not successful [false]
--reportsolve=bool use solving not process time [false]
--restart=bool enable restarts [true]
--restartint=1..2e9 restart interval [2]
--restartmarginfocused=0..25 focused slow fast margin in percent [10]
--restartmarginstable=0..25 stable slow fast margin in percent [25]
--restartreusetrail=bool enable trail reuse [true]
--restoreall=0..2 restore all clauses (2=really) [0]
--restoreflush=bool remove satisfied clauses [false]
--reverse=bool reverse variable ordering [false]
--score=bool use EVSIDS scores [true]
--scorefactor=500..1e3 score factor per mille [950]
--seed=0..2e9 random seed [0]
--shrink=0..3 shrink conflict clause (1=binary-only,2=minimize-on-pulling,3=full) [3]
--shrinkreap=bool use a reap for shrinking [true]
--shuffle=bool shuffle variables [false]
--shufflequeue=bool shuffle variable queue [true]
--shufflerandom=bool not reverse but random [false]
--shufflescores=bool shuffle variable scores [true]
--stabilize=bool enable stabilizing phases [true]
--stabilizeinit=1..2e9 stabilizing interval [1e3]
--stabilizeonly=bool only stabilizing phases [false]
--stats=bool print all statistics at the end of the run [false]
--stubbornIOfocused=bool force phases to I/O in focused mode every once in a while (requires rephase==2) [false]
--subsume=bool enable clause subsumption [true]
--subsumebinlim=0..2e9 watch list length limit [1e4]
--subsumeclslim=0..2e9 clause length limit [1e2]
--subsumeeffort=1..1e5 relative efficiency per mille [1e3]
--subsumelimited=bool limit subsumption checks [true]
--subsumemaxeff=0..2e9 maximum subsuming efficiency [1e8]
--subsumemineff=0..2e9 minimum subsuming efficiency [0]
--subsumeocclim=0..2e9 watch list length limit [1e2]
--subsumestr=bool subsume strengthen [true]
--sweep=bool enable SAT sweeping [true]
--sweepclauses=0..2e9 environment clauses [1024]
--sweepcomplete=bool run SAT sweeping to completion [false]
--sweepcountbinary=bool count binaries to environment [true]
--sweepdepth=0..2e9 environment depth [2]
--sweepeffort=0..1e4 relative effort in ticks per mille [1e2]
--sweepfliprounds=0..2e9 flipping rounds [1]
--sweepmaxclauses=2..2e9 maximum environment clauses [3e5]
--sweepmaxdepth=1..2e9 maximum environment depth [3]
--sweepmaxvars=2..2e9 maximum environment variables [8192]
--sweeprand=bool randomize sweeping environment [false]
--sweepthresh=0..100 delay if ticks smaller thresh*clauses [5]
--sweepvars=0..2e9 environment variables [256]
--target=0..2 target phases (1=stable only) [1]
--terminateint=0..1e4 termination check interval [10]
--ternary=bool hyper ternary resolution [true]
--ternaryeffort=1..1e5 relative efficiency per mille [8]
--ternarymaxadd=0..1e4 max clauses added in percent [1e3]
--ternaryocclim=1..2e9 ternary occurrence limit [1e2]
--ternaryrounds=1..16 maximum ternary rounds [2]
--ternarythresh=0..100 delay if ticks smaller thresh*clauses [6]
--tier1limit=0..100 limit of tier1 usage in percentage [50]
--tier1minglue=0..100 lowest tier1 limit [0]
--tier2limit=0..100 limit of tier2 usage in percentage [90]
--tier2minglue=0..100 lowest tier2 limit [0]
--transred=bool transitive reduction of BIG [true]
--transredeffort=1..1e5 relative efficiency per mille [1e2]
--transredmaxeff=0..2e9 maximum efficiency [1e8]
--transredmineff=0..2e9 minimum efficiency [0]
--verbose=0..3 more verbose messages [0]
--veripb=0..4 odd=check-deletions, >2 drat [0]
--vivify=bool vivification [true]
--vivifycalctier=bool recalculate tier limits [false]
--vivifydemote=bool demote irredundant or delete directly [false]
--vivifyeffort=0..1e5 overall efficiency per mille [50]
--vivifyflush=bool flush subsumed before vivification rounds [true]
--vivifyinst=bool instantiate last literal when vivify [true]
--vivifyirred=bool vivification of irredundant clauses [true]
--vivifyirredeff=1..100 irredundant efficiency per mille [3]
--vivifyonce=0..2 vivify once: 1=red, 2=red+irr [0]
--vivifyretry=0..5 re-vivify clause if vivify was successful [0]
--vivifyschedmax=10..2e9 maximum schedule size [5e3]
--vivifythresh=0..100 delay if ticks smaller thresh*clauses [20]
--vivifytier1=bool vivification tier1 [true]
--vivifytier1eff=0..100 relative tier1 effort [4]
--vivifytier2=bool vivification tier2 [true]
--vivifytier2eff=1..100 relative tier2 effort [2]
--vivifytier3=bool vivification tier3 [true]
--vivifytier3eff=1..100 relative tier3 effort [1]
--walk=bool enable random walks [true]
--walkeffort=1..1e5 relative efficiency per mille [80]
--walkfullocc=bool use Kissat's full occurrences instead of the single watched [false]
--walkmaxeff=0..2e9 maximum efficiency (in 1e3 ticks) [1e7]
--walkmineff=0..1e7 minimum efficiency [0]
--walknonstable=bool walk in non-stabilizing phase [true]
--walkredundant=bool walk redundant clauses too [false]
--warmup=bool warmup before walk using propagation [true]
The internal options have their default value printed in brackets
after their description. They can also be used in the form
'--<name>' which is equivalent to '--<name>=1' and in the form
'--no-<name>' which is equivalent to '--<name>=0'. One can also
use 'true' instead of '1', 'false' instead of '0', as well as
numbers with positive exponent such as '1e3' instead of '1000'.
Alternatively option values can also be specified in the header
of the DIMACS file, e.g., 'c --elim=false', or through environment
variables, such as 'CADICAL_ELIM=false'. The embedded options in
the DIMACS file have highest priority, followed by command line
options and then values specified through environment variables.
The input is read from '<input>' assumed to be in DIMACS format.
Incremental 'p inccnf' files are supported too with cubes at the end.
If '<proof>' is given then a DRAT proof is written to that file.
If '<input>' is missing then the solver reads from '<stdin>',
also if '-' is used as input path name '<input>'. Similarly,
For incremental files each cube is solved in turn. The solver
stops at the first satisfied cube if there is one and uses that
one for the witness to print. Conflict and decision limits are
applied to each individual cube solving call while '-P', '-L' and
'-t' remain global. Only if all cubes were unsatisfiable the solver
prints the standard unsatisfiable solution line ('s UNSATISFIABLE').
By default the proof is stored in the binary DRAT format unless
the option '--no-binary' is specified or the proof is written
to '<stdout>' and '<stdout>' is connected to a terminal.
The input is assumed to be compressed if it is given explicitly
and has a '.gz', '.bz2', '.xz' or '.7z' suffix. The same applies
to the output file. In order to use compression and decompression
the corresponding utilities 'gzip', 'bzip', 'xz', and '7z' (depending
on the format) are required and need to be installed on the system.
The solver checks file type signatures though and falls back to
non-compressed file reading if the signature does not match.
Options (275)
| Option | Description | Source |
|---|---|---|
-h | print alternatively only a list of common options | help |
--help | print this complete list of all options | help |
--version | print version | help |
-n | do not print witness (same as '--no-witness') | help |
-v | increase verbosity (see also '--verbose' below) | help |
-q | be quiet (same as '--quiet') | help |
-t sec | set wall clock time limit | help |
-L rounds | run local search initially (default '0' rounds) | help |
-O level | increase limits by '2^<level>' or '10^<level>' | help |
-P rounds | initial preprocessing (default '0' rounds) | help |
-c limit | limit the number of conflicts (default unlimited) | help |
-d limit | limit the number of decisions (default unlimited) | help |
-o output | write simplified CNF in DIMACS format to file | help |
-e extend | write reconstruction/extension stack to file | help |
--force, -f | parsing broken DIMACS header and writing proofs | help |
--strict | strict parsing (no white space in header) | help |
-r sol | read solution in competition output format to check consistency of learned clauses during testing and debugging | help |
-w sol | write result including a potential witness solution in competition format to the given file | help |
--colors | force colored output | help |
--no-colors | disable colored output to terminal | help |
--no-witness | do not print witness (see also '-n' above) | help |
--build | print build configuration | help |
--copyright | print copyright information | help |
--default | set default advanced internal options | help |
--plain | disable all internal preprocessing options | help |
--sat | set internal options to target satisfiable instances | help |
--unsat | set internal options to target unsatisfiable instances | help |
--arena bool | allocate clauses in arena [true] | help |
--arenacompact bool | keep clauses compact [true] | help |
--arenasort bool | sort clauses in arena [true] | help |
--arenatype 1..3 | 1=clause, 2=var, 3=queue [3] | help |
--backbone 0..2 | binary clause backbone [1] | help |
--backboneeffort 0..1e5 | binary effort in per mile [20] | help |
--backbonerounds 0..1e5 | backbone rounds limit [100] | help |
--backbonethresh 0..1e9 | delay if ticks smaller thresh*clauses [5] | help |
--binary bool | use binary proof format [true] | help |
--block bool | blocked clause elimination [false] | help |
--blockmaxclslim 1..2e9 | maximum clause size [1e5] | help |
--blockminclslim 2..2e9 | minimum clause size [2] | help |
--blockocclim 1..2e9 | occurrence limit [1e2] | help |
--bump bool | bump variables [true] | help |
--bumpreason bool | bump reason literals too [true] | help |
--bumpreasondepth 1..3 | bump reason depth [1] | help |
--bumpreasonlimit 1..2e9 | bump reason limit [10] | help |
--bumpreasonrate 1..2e9 | bump reason decision rate [100] | help |
--check bool | enable internal checking [false] | help |
--checkassumptions bool | check assumptions satisfied [true] | help |
--checkconstraint bool | check constraint satisfied [true] | help |
--checkfailed bool | check failed literals form core [true] | help |
--checkfrozen bool | check all frozen semantics [false] | help |
--checkproof 0..3 | 1=drat, 2=lrat, 3=both [3] | help |
--checkwitness bool | check witness internally [true] | help |
--chrono 0..2 | chronological backtracking [1] | help |
--chronoalways bool | force always chronological [false] | help |
--chronolevelim 0..2e9 | chronological level limit [1e2] | help |
--chronoreusetrail bool | reuse trail chronologically [true] | help |
--compact bool | compact internal variables [true] | help |
--compactint 1..2e9 | compacting interval [2e3] | help |
--compactlim 0..1e3 | inactive limit per mille [1e2] | help |
--compactmin 1..2e9 | minimum inactive limit [1e2] | help |
--condition bool | globally blocked clause elim [false] | help |
--conditioneffort 1..1e5 | relative efficiency per mille [100] | help |
--conditionint 1..2e9 | initial conflict interval [1e4] | help |
--conditionmaxeff 0..2e9 | maximum condition efficiency [1e7] | help |
--conditionmaxrat 1..2e9 | maximum clause variable ratio [100] | help |
--conditionmineff 0..2e9 | minimum condition efficiency [0] | help |
--congruence bool | congruence closure [true] | help |
--congruenceand bool | extract AND gates [true] | help |
--congruencebinaries bool | extract binary and strengthen ternary clauses [true] | help |
--congruenceite bool | extract ITE gates [true] | help |
--congruencexor bool | extract XOR gates [true] | help |
--cover bool | covered clause elimination [false] | help |
--covereffort 1..1e5 | relative efficiency per mille [4] | help |
--covermaxclslim 1..2e9 | maximum clause size [1e5] | help |
--covermaxeff 0..2e9 | maximum cover efficiency [1e8] | help |
--coverminclslim 2..2e9 | minimum clause size [2] | help |
--covermineff 0..2e9 | minimum cover efficiency [0] | help |
--decompose bool | decompose BIG in SCCs and ELS [true] | help |
--decomposerounds 1..16 | number of decompose rounds [2] | help |
--deduplicate bool | remove duplicated binaries [true] | help |
--deduplicateallinit bool | remove duplicated clauses once before solving [false] | help |
--eagersubsume bool | subsume recently learned [true] | help |
--eagersubsumelim 1..1e3 | limit on subsumed candidates [20] | help |
--elevate -1..3 | elevate during clause addition [2] | help |
--elim bool | bounded variable elimination [true] | help |
--elimands bool | find AND gates [true] | help |
--elimbackward bool | eager backward subsumption [true] | help |
--elimboundmax -1..2e6 | maximum elimination bound [16] | help |
--elimboundmin -1..2e6 | minimum elimination bound [0] | help |
--elimclslim 2..2e9 | resolvent size limit [1e2] | help |
--elimdef bool | mine definitions with kitten [false] | help |
--elimdefcores 1..100 | number of unsat cores [1] | help |
--elimdefticks 0..2e9 | kitten ticks limit [2e5] | help |
--elimeffort 1..1e5 | relative efficiency per mille [1e3] | help |
--elimequivs bool | find equivalence gates [true] | help |
--elimint 1..2e9 | elimination interval [2e3] | help |
--elimites bool | find if-then-else gates [true] | help |
--elimlimited bool | limit resolutions [true] | help |
--elimmaxeff 0..2e9 | maximum elimination efficiency [2e9] | help |
--elimmineff 0..2e9 | minimum elimination efficiency [1e7] | help |
--elimocclim 0..2e9 | occurrence limit [1e2] | help |
--elimprod 0..1e4 | elim score product weight [1] | help |
--elimrounds 1..512 | usual number of rounds [2] | help |
--elimsubst bool | elimination by substitution [true] | help |
--elimsum 0..1e4 | elimination score sum weight [1] | help |
--elimxorlim 2..27 | maximum XOR size [5] | help |
--elimxors bool | find XOR gates [true] | help |
--emadecisions 1..2e9 | window decision rate [1e5] | help |
--emagluefast 1..2e9 | window fast glue [33] | help |
--emaglueslow 1..2e9 | window slow glue [1e5] | help |
--emajump 1..2e9 | window back-jump level [1e5] | help |
--emalevel 1..2e9 | window back-track level [1e5] | help |
--emasize 1..2e9 | window learned clause size [1e5] | help |
--ematrailfast 1..2e9 | window fast trail [1e2] | help |
--ematrailslow 1..2e9 | window slow trail [1e5] | help |
--exteagerreasons bool | eagerly ask for all reasons (0: only when needed) [false] | help |
--exteagerrecalc bool | after eagerly asking for reasons recalculate all levels (0: trust the external tool) [true] | help |
--exttracecalls bool | trace propagator call-backs when tracing API calls [false] | help |
--factor bool | bounded variable addition [false] | help |
--factorcandrounds 0..2e9 | candidates reduction rounds [2] | help |
--factorcheck 0..2 | API checks that variables have been declared (1 = only with factor on, 2 = always) [1] | help |
--factordelay 0..12 | delay bounded variable addition between eliminations [4] | help |
--factoreffort 0..1e6 | relative effort per mille [50] | help |
--factoriniticks 1..1e6 | initial effort in millions [300] | help |
--factorsize 2..2e9 | clause size limit [5] | help |
--factorthresh 0..100 | delay if ticks smaller thresh*clauses [7] | help |
--factorunbump bool | extension variable with lowest importance [1: as in kissat] [true] | help |
--fastelim bool | fast BVE during preprocessing [true] | help |
--fastelimbound 1..1e3 | fast BVE bound during preprocessing [8] | help |
--fastelimclslim 2..2e9 | fast BVE resolvent size limit [1e2] | help |
--fastelimocclim 1..2e9 | fast BVE occurence limit during preprocessing [100] | help |
--fastelimrounds 1..512 | number of fastelim rounds [4] | help |
--flush bool | flush redundant clauses [false] | help |
--flushfactor 1..1e3 | interval increase [3] | help |
--flushint 1..2e9 | initial limit [1e5] | help |
--forcephase bool | always use initial phase [false] | help |
--frat 0..2 | 1=frat(lrat), 2=frat(drat) [0] | help |
--idrup bool | incremental proof format [false] | help |
--ilb 0..2 | ILB (incremental lazy backtrack) (0: no, 1: assumptions only, 2: everything) [0] | help |
--incdecay 0..4 | decay clauses when doing incremental clauses [1] | help |
--incdecayint 1..2e9 | decay interval when doing incremental clauses [1e6] | help |
--inprobeint 1..2e9 | inprobing interval [100] | help |
--inprobing bool | enable probe inprocessing [true] | help |
--inprocessing bool | enable general inprocessing [true] | help |
--instantiate bool | variable instantiation [false] | help |
--instantiateonce bool | instantiate each clause once [true] | help |
--lidrup bool | linear incremental proof format [false] | help |
--lrat bool | use LRAT proof format [false] | help |
--lucky bool | lucky phases [true] | help |
--luckyassumptions bool | lucky phases with assumptions [true] | help |
--luckyearly bool | lucky phases before preprocessing [true] | help |
--luckylate bool | lucky phases after preprocessing [true] | help |
--minimize bool | minimize learned clauses [true] | help |
--minimizedepth 0..1e3 | minimization depth [1e3] | help |
--minimizeticks bool | increment ticks in minimization [true] | help |
--otfs bool | on-the-fly self subsumption [true] | help |
--phase bool | initial phase [true] | help |
--preprocessinit 0..2e9 | initial preprocessing base limit [2e6] | help |
--preprocesslight bool | lightweight preprocessing [false] | help |
--probe bool | failed literal probing [true] | help |
--probeeffort 1..1e5 | relative efficiency per mille [8] | help |
--probehbr bool | learn hyper binary clauses [true] | help |
--probethresh 0..100 | delay if ticks smaller thresh*clauses [0] | help |
--profile 0..4 | profiling level [2] | help |
--quiet bool | disable all messages [false] | help |
--radixsortlim 0..2e9 | radix sort limit [32] | help |
--randec bool | random decisions [false] | help |
--randecfocused bool | random decisions in focused mode [true] | help |
--randecinit 2..2e9 | inital random decision interval [1e3] | help |
--randecint 0..2e9 | random conflict length [500] | help |
--randeclength 1..1e9 | length random decisions phases [10] | help |
--randecstable bool | random decisions in stable mode [false] | help |
--realtime bool | real instead of process time [false] | help |
--recomputetier bool | recompute tiers [true] | help |
--reduce bool | reduce useless clauses [true] | help |
--reduceinit 1..1e6 | initial interval [300] | help |
--reduceint 2..1e6 | reduce interval [25] | help |
--reduceopt 0..2 | 0=prct,1=sqrt,2=max [1] | help |
--reducetarget 10..1e2 | reduce fraction in percent [75] | help |
--reducetier1glue 1..2e9 | glue of kept learned clauses [2] | help |
--reducetier2glue 1..2e9 | glue of tier two clauses [6] | help |
--reluctant bool | stable reluctant doubling restarts [true] | help |
--reluctantint 0..2e9 | reluctant doubling period [1024] | help |
--reluctantmax 0..2e9 | maximum reluctant doubling period [1048576] | help |
--rephase 0..2 | enable resetting phase (0=no,1=always,2=stable-only) [1] | help |
--rephaseint 1..2e9 | rephase interval [1e3] | help |
--report bool | enable reporting [false] | help |
--reportall bool | report even if not successful [false] | help |
--reportsolve bool | use solving not process time [false] | help |
--restart bool | enable restarts [true] | help |
--restartint 1..2e9 | restart interval [2] | help |
--restartreusetrail bool | enable trail reuse [true] | help |
--restoreall 0..2 | restore all clauses (2=really) [0] | help |
--restoreflush bool | remove satisfied clauses [false] | help |
--reverse bool | reverse variable ordering [false] | help |
--score bool | use EVSIDS scores [true] | help |
--scorefactor 500..1e3 | score factor per mille [950] | help |
--seed 0..2e9 | random seed [0] | help |
--shrink 0..3 | shrink conflict clause (1=binary-only,2=minimize-on-pulling,3=full) [3] | help |
--shrinkreap bool | use a reap for shrinking [true] | help |
--shuffle bool | shuffle variables [false] | help |
--shufflequeue bool | shuffle variable queue [true] | help |
--shufflerandom bool | not reverse but random [false] | help |
--shufflescores bool | shuffle variable scores [true] | help |
--stabilize bool | enable stabilizing phases [true] | help |
--stabilizeinit 1..2e9 | stabilizing interval [1e3] | help |
--stabilizeonly bool | only stabilizing phases [false] | help |
--stats bool | print all statistics at the end of the run [false] | help |
--stubbornIOfocused bool | force phases to I/O in focused mode every once in a while (requires rephase==2) [false] | help |
--subsume bool | enable clause subsumption [true] | help |
--subsumebinlim 0..2e9 | watch list length limit [1e4] | help |
--subsumeclslim 0..2e9 | clause length limit [1e2] | help |
--subsumeeffort 1..1e5 | relative efficiency per mille [1e3] | help |
--subsumelimited bool | limit subsumption checks [true] | help |
--subsumemaxeff 0..2e9 | maximum subsuming efficiency [1e8] | help |
--subsumemineff 0..2e9 | minimum subsuming efficiency [0] | help |
--subsumeocclim 0..2e9 | watch list length limit [1e2] | help |
--subsumestr bool | subsume strengthen [true] | help |
--sweep bool | enable SAT sweeping [true] | help |
--sweepclauses 0..2e9 | environment clauses [1024] | help |
--sweepcomplete bool | run SAT sweeping to completion [false] | help |
--sweepcountbinary bool | count binaries to environment [true] | help |
--sweepdepth 0..2e9 | environment depth [2] | help |
--sweepeffort 0..1e4 | relative effort in ticks per mille [1e2] | help |
--sweepfliprounds 0..2e9 | flipping rounds [1] | help |
--sweepmaxclauses 2..2e9 | maximum environment clauses [3e5] | help |
--sweepmaxdepth 1..2e9 | maximum environment depth [3] | help |
--sweepmaxvars 2..2e9 | maximum environment variables [8192] | help |
--sweeprand bool | randomize sweeping environment [false] | help |
--sweepthresh 0..100 | delay if ticks smaller thresh*clauses [5] | help |
--sweepvars 0..2e9 | environment variables [256] | help |
--target 0..2 | target phases (1=stable only) [1] | help |
--terminateint 0..1e4 | termination check interval [10] | help |
--ternary bool | hyper ternary resolution [true] | help |
--ternaryeffort 1..1e5 | relative efficiency per mille [8] | help |
--ternarymaxadd 0..1e4 | max clauses added in percent [1e3] | help |
--ternaryocclim 1..2e9 | ternary occurrence limit [1e2] | help |
--ternaryrounds 1..16 | maximum ternary rounds [2] | help |
--ternarythresh 0..100 | delay if ticks smaller thresh*clauses [6] | help |
--tier1limit 0..100 | limit of tier1 usage in percentage [50] | help |
--tier1minglue 0..100 | lowest tier1 limit [0] | help |
--tier2limit 0..100 | limit of tier2 usage in percentage [90] | help |
--tier2minglue 0..100 | lowest tier2 limit [0] | help |
--transred bool | transitive reduction of BIG [true] | help |
--transredeffort 1..1e5 | relative efficiency per mille [1e2] | help |
--transredmaxeff 0..2e9 | maximum efficiency [1e8] | help |
--transredmineff 0..2e9 | minimum efficiency [0] | help |
--verbose 0..3 | more verbose messages [0] | help |
--veripb 0..4 | odd=check-deletions, >2 drat [0] | help |
--vivify bool | vivification [true] | help |
--vivifycalctier bool | recalculate tier limits [false] | help |
--vivifydemote bool | demote irredundant or delete directly [false] | help |
--vivifyeffort 0..1e5 | overall efficiency per mille [50] | help |
--vivifyflush bool | flush subsumed before vivification rounds [true] | help |
--vivifyinst bool | instantiate last literal when vivify [true] | help |
--vivifyirred bool | vivification of irredundant clauses [true] | help |
--vivifyirredeff 1..100 | irredundant efficiency per mille [3] | help |
--vivifyonce 0..2 | vivify once: 1=red, 2=red+irr [0] | help |
--vivifyretry 0..5 | re-vivify clause if vivify was successful [0] | help |
--vivifyschedmax 10..2e9 | maximum schedule size [5e3] | help |
--vivifythresh 0..100 | delay if ticks smaller thresh*clauses [20] | help |
--vivifytier1 bool | vivification tier1 [true] | help |
--vivifytier1eff 0..100 | relative tier1 effort [4] | help |
--vivifytier2 bool | vivification tier2 [true] | help |
--vivifytier2eff 1..100 | relative tier2 effort [2] | help |
--vivifytier3 bool | vivification tier3 [true] | help |
--vivifytier3eff 1..100 | relative tier3 effort [1] | help |
--walk bool | enable random walks [true] | help |
--walkeffort 1..1e5 | relative efficiency per mille [80] | help |
--walkfullocc bool | use Kissat's full occurrences instead of the single watched [false] | help |
--walkmaxeff 0..2e9 | maximum efficiency (in 1e3 ticks) [1e7] | help |
--walkmineff 0..1e7 | minimum efficiency [0] | help |
--walknonstable bool | walk in non-stabilizing phase [true] | help |
--walkredundant bool | walk redundant clauses too [false] | help |
--warmup bool | warmup before walk using propagation [true] | help |