* * Goto-synthesizer 6.11.0 (cbmc-6.11.0-dirty) 64-bit * *
* * Copyright (C) 2022 * *
* * Qinheping Hu * *
* * qinhh@amazon.com * *
Usage: Purpose:
goto-synthesizer [-?] [-h] [--help] show this help
goto-synthesizer --version show version and exit
goto-synthesizer in out synthesize and apply loop invariants.
Main options:
--dump-loop-contracts dump synthesized loop contracts as JSON
--json-output <file> specify the output destination of the dumped loop contracts
--loop-contracts-no-unwind do not unwind transformed loops
Accepts all of cbmc's options plus the following backend options:
--object-bits n number of bits used for object addresses
--sat-solver solver use specified SAT solver
--external-sat-solver cmd command to invoke SAT solver process
--no-sat-preprocessor disable the SAT solver's simplifier
--dimacs generate CNF in DIMACS format
--beautify beautify the counterexample (greedy heuristic)
--smt1 use default SMT1 solver (obsolete)
--smt2 use default SMT2 solver (Z3)
--bitwuzla use Bitwuzla
--boolector use Boolector
--cprover-smt2 use CPROVER SMT2 solver
--cvc5 use CVC5
--mathsat use MathSAT
--yices use Yices
--z3 use Z3
--fpa use theory of floating-point arithmetic
--external-smt2-solver cmd command to invoke SMT2 solver (combine with one
of the solver choices for solver-specific
constraints)
--refine use refinement procedure (experimental)
--refine-arrays use refinement for arrays only
--refine-arithmetic refinement of arithmetic expressions only
--max-node-refinement maximum refinement iterations for arithmetic
expressions
--incremental-smt2-solver cmd command to invoke external SMT solver for
incremental solving (experimental)
--outfile filename output formula to given file
--dump-smt-formula filename output smt incremental formula to the given file
--write-solver-stats-to json-file collect the solver query complexity
--arrays-uf-never never turn arrays into uninterpreted functions
--arrays-uf-always always turn arrays into uninterpreted functions
Other options:
--xml-ui use XML-formatted output
--json-ui use JSON-formatted output
--verbosity # verbosity level
Options (35)
| Option | Description | Source |
|---|---|---|
--dump-loop-contracts | dump the synthesized loop contracts as JSON | help + man |
--json-output file | specify the output destination of the dumped loop contracts | help |
--loop-contracts-no-unwind | do not unwind transformed loops | help |
--object-bits n | number of bits used for object addresses | help + man |
--sat-solver solver | use specified SAT solver | help + man |
--external-sat-solver cmd | command to invoke SAT solver process | help + man |
--no-sat-preprocessor | disable the SAT solver's simplifier | help + man |
--dimacs | generate CNF in DIMACS format | help + man |
--beautify | beautify the counterexample (greedy heuristic) | help + man |
--smt1 | use default SMT1 solver (obsolete) | help + man |
--smt2 | use default SMT2 solver (Z3) | help + man |
--bitwuzla | use Bitwuzla | help + man |
--boolector | use Boolector | help + man |
--cprover-smt2 | use CPROVER SMT2 solver | help + man |
--cvc5 | use CVC5 | help + man |
--mathsat | use MathSAT | help + man |
--yices | use Yices | help + man |
--z3 | use Z3 | help + man |
--fpa | use theory of floating-point arithmetic | help + man |
--external-smt2-solver cmd | command to invoke SMT2 solver (combine with one of the solver choices for solver-specific constraints) | help + man |
--refine | use refinement procedure (experimental) | help + man |
--refine-arrays | use refinement for arrays only | help + man |
--refine-arithmetic | refinement of arithmetic expressions only | help + man |
--max-node-refinement | maximum refinement iterations for arithmetic expressions | help + man |
--incremental-smt2-solver cmd | Use the incremental SMT backend where cmd is the command to invoke the SMT solver of choice. | help + man |
--outfile filename | output formula to given file | help + man |
--dump-smt-formula filename | output smt incremental formula to the given file | help + man |
--write-solver-stats-to json-file | collect the solver query complexity | help + man |
--arrays-uf-never | never turn arrays into uninterpreted functions | help + man |
--arrays-uf-always | always turn arrays into uninterpreted functions | help + man |
--xml-ui | use XML-formatted output | help + man |
--json-ui | use JSON-formatted output | help + man |
--verbosity # | verbosity level | help + man |
-loop-contracts-no-unwind | do not unwind transformed loops after applying the synthesized loop contracts (in the manual page but not in --help) | man |
--json-pt file | specify the output destination of the loop-contracts JSON (in the manual page but not in --help) | man |