\chapter{Command Line Interface}

\label{command_line_sec}

This chapter describes the command line interface of \cbmc{}. Like a C
compiler, \cbmc{} takes the names of the {\tt .c} source files as arguments.
Additional options allow to customize the behavior of \cbmc{}.

\begin{center}
\begin{tabular}{l|l}
Option & Description \\ \hline \hline
{\tt --program-only}             & only show program expression \\ \hline
{\tt --function} name            & set main function name \\ \hline
{\tt --no-simplify}              & do not simplify \\ \hline
{\tt --all-claims}               & keep all claims \\ \hline
{\tt --unwind} nr                & unwind nr times \\ \hline
{\tt --unwindset} nr             & unwind given loop nr times \\ \hline
{\tt --claims-only}              & only show claims \\ \hline
{\tt --decide}                   & run decision procedure \\ \hline
{\tt --dimacs}                   & generate CNF in DIMACS format \\ \hline
{\tt --document-subgoals}        & generate subgoals documentation \\ \hline
{\tt --remove-assignments}       & remove unrelated assignments \\ \hline
{\tt --no-substitution}          & do not perform substitution \\ \hline
{\tt --no-simplify-if}           & do not simplify ?: \\ \hline
{\tt --no-assertions}            & ignore assertions \\ \hline
{\tt --no-unwinding-assertions}  & do not generate unwinding assertions \\ \hline
{\tt --no-bounds-check}          & do not do array bounds check \\ \hline
{\tt --no-div-by-zero-check}     & do not do division by zero check \\ \hline
{\tt --no-pointer-check}         & do not do pointer check \\ \hline
{\tt --bound} nr                 & number of transitions \\ \hline
{\tt --module} name              & module to unwind \\ \hline
{\tt --counterexample} file      & write counterexample to file
\end{tabular}
\end{center}
