OS Manuals

/usr/bin/goto-synthesizer

CBMC bounded model checker for C and C++ programs

From cbmc 6.11.0-r0 (os), captured 2026-11-05 by running goto-synthesizer --help (exit 0). permalink

* *    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)
OptionDescriptionSource
--dump-loop-contractsdump the synthesized loop contracts as JSONhelp + man
--json-output filespecify the output destination of the dumped loop contractshelp
--loop-contracts-no-unwinddo not unwind transformed loopshelp
--object-bits nnumber of bits used for object addresseshelp + man
--sat-solver solveruse specified SAT solverhelp + man
--external-sat-solver cmdcommand to invoke SAT solver processhelp + man
--no-sat-preprocessordisable the SAT solver's simplifierhelp + man
--dimacsgenerate CNF in DIMACS formathelp + man
--beautifybeautify the counterexample (greedy heuristic)help + man
--smt1use default SMT1 solver (obsolete)help + man
--smt2use default SMT2 solver (Z3)help + man
--bitwuzlause Bitwuzlahelp + man
--boolectoruse Boolectorhelp + man
--cprover-smt2use CPROVER SMT2 solverhelp + man
--cvc5use CVC5help + man
--mathsatuse MathSAThelp + man
--yicesuse Yiceshelp + man
--z3use Z3help + man
--fpause theory of floating-point arithmetichelp + man
--external-smt2-solver cmdcommand to invoke SMT2 solver (combine with one of the solver choices for solver-specific constraints)help + man
--refineuse refinement procedure (experimental)help + man
--refine-arraysuse refinement for arrays onlyhelp + man
--refine-arithmeticrefinement of arithmetic expressions onlyhelp + man
--max-node-refinementmaximum refinement iterations for arithmetic expressionshelp + man
--incremental-smt2-solver cmdUse the incremental SMT backend where cmd is the command to invoke the SMT solver of choice.help + man
--outfile filenameoutput formula to given filehelp + man
--dump-smt-formula filenameoutput smt incremental formula to the given filehelp + man
--write-solver-stats-to json-filecollect the solver query complexityhelp + man
--arrays-uf-nevernever turn arrays into uninterpreted functionshelp + man
--arrays-uf-alwaysalways turn arrays into uninterpreted functionshelp + man
--xml-uiuse XML-formatted outputhelp + man
--json-uiuse JSON-formatted outputhelp + man
--verbosity #verbosity levelhelp + man
-loop-contracts-no-unwinddo not unwind transformed loops after applying the synthesized loop contracts (in the manual page but not in --help)man
--json-pt filespecify the output destination of the loop-contracts JSON (in the manual page but not in --help)man

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.