Scroll to navigation

ALT-ERGO(1) Alt-ergo Manual ALT-ERGO(1)

NAME

alt-ergo - Execute Alt-Ergo on the given file.

SYNOPSIS

alt-ergo [OPTION]… [FILE]

ARGUMENTS

Source file. Must be suffixed by .ae, (.mlw and .why are depreciated, .smt2 or .psmt2.

OPTIONS

-d, --debug
Set the debugging flag.
-i FMT, --input=FMT
Set the default input format to FMT and must be one of native, altergo, alt-ergo, smtlib2, smt-lib2 or why3. Useful when the extension does not allow to automatically select a parser (eg. JS mode, GUI mode, ...).
-m VAL, --model=VAL (absent=none)
Experimental support for models on labeled terms. VAL must be one of none, default, complete or all. 'complete' shows a complete model and 'all' shows all models.
-o FMT, --output=FMT
Control the output format of the solver, FMT must be either native or smtlib.The alt-ergo native format outputs Valid/Invalid/I don't know.The smtlib format outputs unsat/sat/unknown.If left unspecified, Alt-Ergo will use its heuristics to determine the adequate output format according to the input format.It must be noticed that not specifying an output format will let Alt-Ergo set it according to the input file's extension.
-p, --pretty-output
Print output with formatting rules, headers and colors
-r, --replay-used-context
Replay with axioms and predicates saved in .used file.
-S STEPS, --steps-bound=STEPS (absent=-1)
Set the maximum number of steps.
-s, --save-used-context
Save used axioms and predicates in a .used file. This option implies --unsat-core.
-t VAL, --timelimit=VAL
Set the time limit to VAL seconds (not supported on Windows).
-u, --unsat-core
Experimental support for computing and printing unsat-cores.
-v, --verbose
Set the verbose mode.

EXECUTION OPTIONS

--add-parser=VAL
Register a new parser for Alt-Ergo.
--colors-in-output
Print output with colors.
--frontend=FTD (absent=legacy)
Select the parsing and typing frontend.
--no-forced-flush-in-output
Print output without forced flush at the end of each print.
--no-formatting-in-output
Don not use formatting rule in output.
--no-headers-in-output
Print output without headers.
--no-locs-in-answers
Do not show the locations of goals when printing solver's answers.
--parse-only
Stop after parsing.
--prelude=VAL
Add a file that will be loaded as a prelude. The command is cumulative, and the order of successive preludes is preserved.
--type-only
Stop after typing.
--type-smt2
Stop after SMT2 typing.

LIMIT OPTIONS

--age-bound=AGE (absent=50)
Set the age limit bound.
--fm-cross-limit=VAL (absent=10000)
Skip Fourier-Motzkin variables elimination steps that may produce a number of inequalities that is greater than the given limit. However, unit eliminations are always done.
--timelimit-interpretation=SEC
Set the time limit to SEC seconds for model generation (not supported on Windows).
--timelimit-per-goal
Set the timelimit given by the --timelimit option to apply for each goal, in case of multiple goals per file. In this case, time spent in preprocessing is separated from resolution time. Not relevant for GUI-mode.

INTERNAL OPTIONS

--disable-weaks
Prevent the GC from collecting hashconsed data structrures that are not reachable (useful for more determinism).
--enable-assertions
Enable verification of some heavy invariants.
--gc-policy=PLCY (absent=0)
Set the gc policy allocation. 0 = next-fit policy, 1 = first-fit policy, 2 = best-fit policy. See the Gc module of the OCaml distribution for more informations.
--warning-as-error
Enable warning as error

OUTPUT OPTIONS

--interpretation=VAL (absent=0)
Experimental support for counter-example generation. Possible values are 1, 2, or 3 to compute an interpretation before returning Unknown, before instantiation (1), or before every decision (2) or instantiation (3). A negative value (-1, -2, or -3) will disable interpretation display. Note that --max-split limitation will be ignored in model generation phase.

CONTEXT OPTIONS

--replay
Replay session saved in file_name.agr.
--replay-all-used-context
Replay with all axioms and predicates saved in .used files of the current directory.

PROFILING OPTIONS

--cumulative-time-profiling
Record the time spent in called functions in callers
--profiling=DELAY
Activate the profiling module with the given frequency. Use Ctrl-C to switch between different views and "Ctrl + AltGr + \ " to exit.
--profiling-plugin=PGN
Use the given profiling plugin.

SAT OPTIONS

--bottom-classes
Show equivalence classes at each bottom of the sat.
--disable-flat-formulas-simplification
Disable facts simplifications in satML's flat formulas.
--enable-restarts
For satML: enable restarts or not. Default behavior is 'false'.
--no-arith-matching
Disable (the weak form of) matching modulo linear arithmetic.
--no-backjumping
Disable backjumping mechanism in the functional SAT solver.
--no-backward
Disable backward reasoning step (starting from the goal) done in the default SAT solver before deciding.
--no-decisions
Disable decisions at the SAT level.
--no-decisions-on=[INST1; INST2; ...]
Disable decisions at the SAT level for the instances generated from the given axioms. Arguments should be separated with a comma.
--no-minimal-bj
Disable minimal backjumping in satML CDCL solver.
--no-sat-learning
Disable learning/caching of unit facts in the Default SAT. These facts are used to improve bcp.
--no-tableaux-cdcl-in-instantiation
When satML is used, this disables the use of a tableaux-likemethod for instantiations with the CDCL solver.
--no-tableaux-cdcl-in-theories
When satML is used, this disables the use of a tableaux-likemethod for theories with the CDCL solver.
--sat-plugin=VAL
Use the given SAT-solver instead of the default DFS-based SAT solver.
--sat-solver=SAT (absent=CDCL-Tableaux)
Choose the SAT solver to use. Default value is CDCL (i.e. satML solver). Possible options are one of CDCL, satML, CDCL-Tableaux, satML-Tableaux or Tableaux-CDCL.

QUANTIFIERS OPTIONS

--inst-after-bj
Make a (normal) instantiation round after every backjump/backtrack.
--instantiation-heuristic=VAL (absent=auto)
Change the instantiation heuristic. VAL must be one of normal, auto or greedy. By default 'auto' is used for both sat solvers. 'normal' does one less phase of instantiation. 'greedy' use all available ground terms in instantiation.
--max-multi-triggers-size=VAL (absent=4)
Maximum size of multi-triggers, i.e. the maximum number of independent patterns in a multi-trigger.
--nb-triggers=VAL (absent=2)
Maximum number of triggers used (including regular and multi triggers).
--no-ematching
Disable matching modulo ground equalities.
--no-user-triggers
Ignore user triggers, except for triggers of theories' axioms
--normalize-instances
Normalize generated substitutions by matching w.r.t. the state of the theory. This means that only terms that are greater (w.r.t. depth) than the initial terms of the problem are normalized.
--triggers-var
Allows variables as triggers.

TERM OPTIONS

--disable-ites
Disable handling of ite(s) on terms in the backend.
--inline-lets
Enable substitution of variables bounds by Let. The default behavior is to only substitute variables that are bound to a constant, or that appear at most once.
--rwt, --rewriting
Use rewriting instead of axiomatic approach.
--term-like-pp
Output semantic values as terms.

THEORY OPTIONS

--disable-adts
Disable Algebraic Datatypes theory.
--inequalities-plugin=VAL
Use the given module to handle inequalities of linear arithmetic.
--no-ac
Disable the AC theory of Associative and Commutative function symbols.
--no-contracongru
Disable contracongru.
--no-fm
Disable Fourier-Motzkin algorithm.
--no-nla
Disable non-linear arithmetic reasoning (i.e. non-linear multplication, division and modulo on integers and rationals). Non-linear multiplication remains AC.
--no-tcp
Deactivate Boolean Constant Propagation (BCP) modulo theories.
--no-theory
Completely deactivate theory reasoning.
--restricted
Restrict set of decision procedures (equality, arithmetic and AC).
--tighten-vars
Compute the best bounds for arithmetic variables.
--use-fpa
Enable support for floating-point arithmetic.

CASE SPLIT OPTIONS

--case-split-policy=PLCY (absent=after-theory-assume)
Case-split policy. Set the case-split policy to use. Possible values are one of after-theory-assume, before-matching or after-matching.
--enable-adts-cs
Enable case-split for Algebraic Datatypes theory.
--max-split=VAL (absent=1000000)
Maximum size of case-split.

HALTING OPTIONS

--version-info
Print some info about this version (version, date released, date commited) .
--where=DIR
Print the directory of DIR. Possible arguments are one of lib, plugins, preludes, data or man.

FORMATTER OPTIONS

--err-formatter=VAL (absent=stderr)
Set the error formatter used by default to output error, debug and warning informations. Possible values are one of stdout, stderr or <filename>.
--std-formatter=VAL (absent=stdout)
Set the standard formatter used by default to output the results, models and unsat cores. Possible values are one of stdout, stderr or <filename>.

DEBUG OPTIONS

These options are used to output debug info for the concerned part of the solver.They are not used to check internal consistency.

--dac
Set the debugging flag of ac.
--dadt
Set the debugging flag of ADTs.
--darith
Set the debugging flag of Arith (without fm).
--darrays
Set the debugging flag of arrays.
--dbitv
Set the debugging flag of bitv.
--dcc
Set the debugging flag of cc.
--dcombine
Set the debugging flag of combine.
--dconstr
Set the debugging flag of constructors.
--debug-interpretation
Set debug flag for interpretation generatation.
--debug-unsat-core
Replay unsat-cores produced by --unsat-core. The option implies --unsat-core.
--dexplanations
Set the debugging flag of explanations.
--dfm
Set the debugging flag of inequalities.
--dfpa=VAL (absent=0)
Set the debugging flag of floating-point.
--dgc
Prints some debug info about the GC's activity.
--dite
Set the debugging flag of ite.
--dmatching=FLAG (absent=0)
Set the debugging flag of E-matching (0=disabled, 1=light, 2=full).
--dsat
Set the debugging flag of sat.
--dsplit
Set the debugging flag of case-split analysis.
--dsum
Set the debugging flag of Sum.
--dtriggers
Set the debugging flag of triggers.
--dtypes
Set the debugging flag of types.
--dtyping
Set the debugging flag of typing.
--duf
Set the debugging flag of uf.
--duse
Set the debugging flag of use.
--dwarnings
Set the debugging flag of warnings.
--rule=TR (absent=none)
TR = parsing|typing|sat|cc|arith, output rule used on stderr.

COMMON OPTIONS

--help[=FMT] (default=auto)
Show this help in format FMT. The value FMT must be one of auto, pager, groff or plain. With auto, the format is pager or plain whenever the TERM env var is dumb or undefined.
--version
Show version information.

EXIT STATUS

alt-ergo exits with the following status:

0
on success.
1
on default errors
123
on indiscriminate errors reported on standard error.
124
on command line parsing errors.
125
on unexpected internal errors (bugs).
142
on timeout errors

BUGS

You can open an issue on: https://github.com/OCamlPro/alt-ergo/issues

Or you can write to: 

alt-ergo@ocamlpro.com

AUTHORS

CURRENT AUTHORS

Sylvain Conchon
Albin Coquereau
Guillaume Bury
Mattias Roux

ORIGINAL AUTHORS

Sylvain Conchon
Evelyne Contejean
Mohamed Iguernlala
Stephane Lescuyer
Alain Mebsout
Alt-ergo dev