SBSAT(1)

NAME
sbsat - manual page for sbsat 2.7b

SYNOPSIS
sbsat [OPTIONS]... [inputfile [outputfile]]

DESCRIPTION
SBSAT is a SAT solver.

OPTIONS

--help, -h
    Show all program options

--version
    Show program version

--create-ini
    Create ini file

--ini <string>
    Set the ini file [default="~/sbsat.ini"]

--debug <number>
    debugging level (0-none, 9-max) [default=2]

--debug-dev <string>
    debugging device [default="stderr"]

--params-dump, -D
    dump all internal parameters before processing

--input-file <string>
    input filename [default="-"]

--output-file <string>, -o <string>
    output filename [default="-"]

--protect-output-file <number>, -pof <number>
    If set to 1, SBSAT will not to overwrite an existing output file [default=1]

--random-seed <number>, -seed <number>
    Random seed to use (0 generates a random seed). [default=0]

--temp-dir <string>
    directory for temporary files [default="$TEMP"]

--show-result <string>, -R <string>
    Show result (n=no result, r=raw, f=fancy, b=binary) [default="n"]

--verify-solution <number>
    Verify solution [default=1]

--expected-result <string>
    Report error if the result is not as specified. Options are SAT, UNSAT, TRIV_SAT, TRIV_UNSAT, SOLV_SAT and SOLV_UNSAT [default=""]

--comment <string>
    Comment to appear next to the filename [default=""]

--ctrl-c <number>
    Enable/Disable Ctrl-c handler to end preproc/brancher [default=0]

--reports <number>
    Reporting style during branching (0 - standard, 1 - crtwin) [default=0]

--competition <number>
    Competition reporting style [default=0]

--sattimeout <number>
    For SAT Competition SATTIMEOUT [default=0]

--satram <number>
    For SAT Competition SATRAM [default=0]

--parse-filename
    For testing purposes

  BDD options:

--num-buckets <number>
    Set the number of buckets in power of 2 [default=16]

--size-buckets <number> Set the size of a bucket in power of 2 [default=5]

--bdd-pool-size <number>
    The size of the bdd pool increment [default=1000000]

--gc <number>
    Use garbage collection [default=1]

  Input options:

--limit-and-equ <number>
    The minimum # of literals to flag sp. function and_equ [default=2]

--limit-or-equ <number> The minimum # of literals to flag sp. function
    or_equ [default=2]

--limit-or <number>
    The minimum # of literals to flag sp. function or [default=2]

--limit-and <number>
    The minimum # of literals to flag sp. function or [default=2]

--limit-xor <number>
    The minimum # of literals to flag sp. function xor [default=2]

--limit-minmax <number> The minimum # of literals to flag sp. function
    minmax [default=3]

--limit-neg-minmax <number>
    The minimum # of literals to flag sp. function minmax [default=3]

--break-xors <number>
    Break XORS into linear and non-linear functions during search [default=1]

  Output options:

-b  Start SMURF solver [default]

-w  Start BDD WalkSAT solver

-m  Start WVF solver

-t  Start a stripped down version of the SMURF solver

-n  Don't start any brancher or conversion

-s  Output in SMURF format

-c  Output in CNF format

-i  Output in ITE(bdd) format

-a  Output in AAG format

-x  Output in XOR format

-v  Output in VHDL/FPGA format

-p  Output in tree like format

--formatout <char>
    Output format [default='b']

--cnf <string>
    Format of CNF output (3sat, qm, noqm) [default="noqm"]

--print-indep <number>
    Print independent variables, CNF format only (1/0) [default=0]

--formatin <char>
    Input format [default=' ']

--tree
    Output BDDs in tree representation (used in conjunction with -p)

--tree-width <number>
    Set BDD tree printing width [default=64]

--prover3-max-vars <number>
    Max vars per BDD when reading 3 address code (intput format 3) [default=10]

  Preprocessing options:

--preset-variables <string>
    Variables forced during preprocessing [default=""]

--preprocess-sequence <string>, -P <string>
    The preprocessing sequence [default="{ExDc}{ExSt}{ExPr}{ExSp}{Ff}"]

--All, -All
    Enable/Disable All Preprocessing Options (1/0)

--Cl <number>, -Cl <number>
    Enable/Disable Clustering (1/0) [default=1]

--Co <number>, -Co <number>
    Enable/Disable Cofactoring (1/0) [default=1]

--Pr <number>, -Pr <number>
    Enable/Disable Pruning (1/0) [default=1]

--St <number>, -St <number>
    Enable/Disable Strengthening (1/0) [default=1]

--In <number>, -In <number>
    Enable/Disable Inferences (1/0) [default=1]

--Eq <number>, -Eq <number>
    Enable/Disable Equivalences (1/0) [default=1]

--Ex <number>, -Ex <number>
    Enable/Disable Existential Quantification (1/0) [default=1]

--Ea <number>, -Ea <number>
    Enable/Disable AND-Existential Quantification (1/0) [default=1]

--Es <number>, -Es <number>
    Enable/Disable AND-Safe Assign + Existential Quantification (1/0) [default=1]

--Dc <number>, -Dc <number>
    Enable/Disable Dependent Variable Clustering (1/0) [default=1]

--Sp <number>, -Sp <number>
    Enable/Disable Large Function Splitting (1/0) [default=1]

--Rw <number>, -Rw <number>
    Enable/Disable Rewinding of BDDs back to their initial state (1/0) [default=1]

--Cf <number>, -Cf <number>
    Enable/Disable Clearing the Function Type of BDDs (1/0) [default=1]

--Ff <number>, -Ff <number>
    Enable/Disable Searching for the Function Type of BDDs (1/0) [default=1]

--P3 <number>, -P3 <number>
    Enable/Disable Recreating a new set of prover3 BDDs (1/0) [default=1]

--Er <number>, -Er <number>
    Enable/Disable Creating Extended Resolvents for all pairs of variables (1/0) [default=1]

--Mp <number>, -Mp <number>
    Enable/Disable Use of message passing routines like BP/SP etc. (1/0) [default=1]

--max-preproc-time <number>
    set the time limit in seconds (0=no limit) [default=0]

--do-split-max-vars <number>
    Threashold above which the Sp splits BDDs [default=10]

--mp-heuristic <string> Message Passing (Mp) heuristic (BP, EMBPL, EMBPG,
    EMBPGV2, SP, EMSPL, EMSPG, EMSPGV2) [default="SP"]

--mp-surveys <number>
    Number of surveys to take before exiting the Mp routine. [default=0]

--mp-vars-to-set <number>
    Number of variables to assign after each convergent Mp survey. [default=1]

--mp-epsilon <number>
    Change needed for an Mp survey to be considered non-convergent. [default=0.001000]

--cluster-step-increase <number>
    Step size used to increment the threshold under which BDDs are clustered [default=5]

--ex-infer <number>
    Enable/Disable Ex Quantification trying to safely assign variables before they are quantified away (1/0) [default=1]

--gaussian-elimination <number>, -gauss <number>
    Enable/Disable Gaussian Elimination in the preprocessor (1/0) [default=0]

  General solver options:

--dependence <char>
    Modify Independent/Dependent Variables (n=no change, r=reverse, c=clear) [default='c']

--max-solutions
    Set the maximum number of solutions to search for. 0 will cause the solver to find all solutions. [default=1]

--max-solver-time <number>
    set the time limit in seconds (0=no limit) [default=0]

  SMURF Solver options:

--lemma-out-file <string>
    File to dump lemmas to [default=""]

--lemma-in-file <string>
    File to read lemmas from [default=""]

--csv-trace-file <string>
    File to save execution trace in CSV format [default=""]

--var-stat-file <string>
    File to save var stats [default=""]

--csv-depth-breadth-file <string>
    Save depth/breadth statistic [default=""]

--backjumping <number>
    Enable/Disable backjumping (1/0) [default=1]

--force-backjump-level <number>
    Set the search tree level (given by initial_branch) to backjump to once a solution is found [default=-1]

--solver-presets <string>
    Variables that are preset before the solver is called. Options are ([[=|!|#|+var|-var] ]*) [default=""]

--solver-polarity-presets <string>
    Force the polarity of the top K choice points. Options are ([+|-]*) [default=""]

--solver-reset-level <number>
    Force the solver to explore only the subtree under the first 'solver-reset-level' choice points [default=0]

--precompute-smurfs <number>
    Smurf states can either be precomputed before search (default), or built during search (may use less memory, but some heuristics are weaker) [default=1]

--smurfs-share-states <number>
    Share Smurf states between Smurfs. May reduce memory usage if enabled (1/0) [default=1]

--lemmas <number>
    Turn lemmas on or off (1/0) [default=0]

--max-cached-lemmas <number>, -L <number>
    set the maximum # of lemmas [default=5000]

--print-search-tree <number>
    Enable/Disable printing the search tree in .dot format (1/0) [default=0]

--gelim-smurfs <number> Use Gaussian Elimination during search (1/0)
    [default=0]

--watched-smurfs <number>
    Allow dynamic Smurf association lists during search (1/0) [default=0]

--rapid-restarts <string>
    Choose heuristic 0=None, m=MiniSAT, p=PicoSAT, l=Luby [default="0"]

--num-watched-variables <number>
    Number of variables per Smurf to watch if watched-smurfs is enabled [default=2]

--K-top-variables <number>
    Try to set top K variables and collect common inferences [default=0]

--max-vbles-per-smurf <number>, -S <number>
    set the maximum number variables per smurf [default=8]

--backtracks-per-report <number>
    set the number of backtracks per report [default=10000]

--max-brancher-cp <number>
    set the choice point limit (0=no limit) [default=0]

--brancher-trace-start <number>
    number of backtracks to start the trace (when debug=9) [default=0]

--heuristic <string>, -H <string>
    Choose heuristic j=LSGB, l=lemma baswed, v=VSIDS, b=BerkMin, m=MiniSAT [default="j"]

--jheuristic-k <number>, -K <number>
    set the value of K [default=3.000000]

--jheuristic-k-true <number>
    set the value of True state [default=0.000000]

--jheuristic-k-inf <number>
    set the value of the inference multiplier [default=1.000000]

--jheuristic-k-unk <number>
    set the value of unknown states (used with --precompute-states 0) [default=0.000000]

  BDD WalkSAT solver options:

--cutoff <number>
    BDD WalkSAT number of flips per random restart [default=100000]

--random-option <number>
    BDD WalkSAT option for random walk (1=Pick a random path to true in current BDD, 2=Randomly flip every variable in current BDD, 3=Randomly flip one variable, 4=Randomly flip one variable in current BDD) [default=1]

--bddwalk-heur <char>
    BDD WalkSAT Heuristic (a=adaptive novelty+, n=novelty+, r=random) [default='a']

--tabu-max <number>
    BDD WalkSAT length of tabu list (used in conjunction with novelty+ heuristic) [default=6]

--tabu-multi <number>
    BDD WalkSAT multiplier for the probablity of picking variables with tabu (used in conjunction with novelty+ heuristic) [default=1.500000]

--bddwalk-wp-prob <number>
    BDD WalkSAT probablity of making a random walk (used in conjunction with novelty+ heuristic) [default=0.100000]

--bddwalk-prob <number> BDD WalkSAT probablity of picking second best path
    (used in conjunction with novelty+ heuristic) [default=0.100000]

Please report bugs to weaversa@gmail.com.

AUTHOR
Written by a research team lead by John Franco.

COPYRIGHT
Copyright © 1999-2009, University of Cincinnati. All rights reserved.

SEE ALSO
The full documentation for sbsat is maintained as a Texinfo manual. If the info and sbsat programs are properly installed at your site, the command

    info sbsat

should give you access to the complete manual.