stp - Man Page
Simple Theorem Prover SMT solver
Description
USAGE: stp [options] <input-file>
where input is SMTLIB1/2 or CVC depending on options and file extension
Most important options
- -h [ --help ]
print this help
- --version
print version number
Simplifications
- --disable-simplifications
disable all simplifications
- -w [ --switch-word ]
switch off wordlevel solver
- -a [ --disable-opt-inc ]
disable rewriting simplifier
- --disable-cbitp
disable constant bit propagation
- --disable-equality
disable equality propagation
- --size-reducing-only
size reducing simplifications only
- --unconstrained-variable-elimination arg (=1)
Unconstrained variables are eliminated.
- --aig-rewrite-passes arg (=0)
Iterations of AIG rewriting to perform
- --flattening arg (=0)
Enable sharing-aware flattening of >2 arity nodes
- --rewriting arg (=1)
Enable sharing-aware rewriting
- --split-extracts arg (=1)
Create new variables for some extracts
- --ite-context-simplifications arg (=0)
Use what is known to be true in an if-then-else node to simplify the true or false branches
- --aig-core-simplification arg (=0)
Simplify the propositional core with AIGs
- --use-intervals arg (=1)
Simplify with interval analysis
- --pure-literals arg (=1)
Pure literals are replaced.
- --always-true arg (=0)
Nodes that are always true (e.g. asserted) are replaced through out the problem by true
- --merge-same arg (=0)
Uses simple boolean algebra rules to combine conjuncts at the top level
- --bit-blast-simplification arg (=0)
Part-way through simplifying, convert to AIGs and look for bits that the AIGs figure out are true/false or the same as another node. If the difficulty is less than this number. -1 means always.
- --size-reducing-fixed-point-limit arg (=0)
If the number of non-leaf nodes is fewer than this number, run size-reducing simplifications to a fixed-point. -1 means always.
- --simplify-to-constants-only arg (=0) Use just the simplifications from the
potentially size increasing suite that transform nodes to constants
- --difficulty-reversion arg (=1)
Undo size increasing simplifications if they haven't made the problem simpler
SAT Solver options
- --cryptominisat
use cryptominisat as the solver. Only use CryptoMiniSat 5.0 or above (default).
- --threads arg (=1)
Number of threads for cryptominisat
- --simplifying-minisat
use installed simplifying minisat version as the solver
- --minisat
use installed minisat version as the solver
Refinement options
- -r [ --ackermanize ]
eagerly encode array-read axioms (Ackermannistaion)
Bit-blasting options
- --bb.div-v1 arg (=1)
unsigned division encoding variant 1
- --bb.div-v2 arg (=1)
unsigned division encoding variant 2
- --bb.div-v3 arg (=0)
unsigned division encoding variant 3
- --bb.add-v1 arg (=1)
addition encoding variant 1
- --bb.add-v2 arg (=1)
addition encoding variant 2
- --bb.vle-v1 arg (=1)
comparison encoding variant 1
- --bb.mult-variant arg (=1)
unsigned multiplication variant
- --bb.mult-v2 arg (=0)
unsigned multiplication variant 2
- --bb.conjoin-constant arg (=0)
When constant-bit propagation detects a constant bit during AIG construction, assert the AIG node and replace it, in the AIG, by the constant bit
Printing options
- -b [ --print-stpinput ]
print STP input back to cout
- --print-back-CVC
print input in CVC format, then exit
- --print-back-SMTLIB2
print input in SMT-LIB2 format, then exit
- --print-back-SMTLIB1
print input in SMT-LIB1 format, then exit
- --print-back-GDL
print AiSee's graph format, then exit
- --print-back-dot
print dotty/neato's graph format, then exit
- -p [ --print-counterex ]
print counterexample
- -y [ --print-counterexbin ]
print counterexample in binary
- -q [ --print-arrayval ]
print arrayval declared order
- -s [ --print-functionstat ]
print function statistics
- -t [ --print-quickstat ]
print quick statistics
- -v [ --print-nodes ]
print nodes
- -n [ --print-output ]
Print output
Input options
- -m [ --SMTLIB1 ]
use the SMT-LIB1 format parser
- --SMTLIB2
use the SMT-LIB2 format parser
- --CVC
use the CVC format parser
Output options
- --output-CNF
Save the CNF into output_[0..n].cnf. NOTE: variables cannot be mapped back, and problems solved by the preprocessing simplifier alone will not generate any CNF as the SAT solver is never invoked
- --output-bench
save in ABC's bench format to output.bench
Output options
- --exit-after-CNF
exit after the CNF has been generated
- -g [ --max-num-confl ] arg (=-1)
Number of conflicts after which the SAT solver gives up. -1 means never
- -k [ --max-time ] arg (=-1)
Number of seconds after which the SAT solver gives up. -1 means never.
- -d [ --check-sanity ]
construct counterexample and check it
Hidden options
- --file arg
input file
See Also
The full documentation for stp is maintained as a Texinfo manual. If the info and stp programs are properly installed at your site, the command
info stp
should give you access to the complete manual.