lpsinvelm - check invariants and use these to simplify or
eliminate summands of an LPS
lpsinvelm [OPTION]... --invfile=INVFILE
[INFILE [OUTFILE]]
Checks whether the boolean formula (an mCRL2 data expression of
sort Bool) provided as invariant is an invariant of the linear process
specification (LPS) in INFILE. If this is the case, the tool eliminates all
summands of the LPS whose condition violates the invariant, and writes the
result to OUTFILE. If INFILE is present, stdin is used. If OUTFILE is not
present, stdout is used.
The tool can also be used to simplify the conditions of the
summands of the given LPS.
- OPTION can be any
of the following:
- -y,
--all-violations
- do not terminate as soon as a single violation of the invariant is found,
but report all violations instead
- -c,
--counter-example
- display a valuation indicating why the invariant could possibly be
violated if it is uncertain whether a summand violates the invariant
- -o,
--induction
- apply induction on lists
- -iINVFILE,
--invariant=INVFILE
- use the boolean formula (an mCRL2 data expression of sort Bool) in INVFILE
as invariant
- -n,
--no-check
- do not check if the invariant holds before eliminating unreachable
summands
- -e,
--no-elimination
- do not eliminate or simplify summands, but add the invariant to each
condition
- -pPREFIX,
--print-dot=PREFIX
- save a .dot file of the resulting BDD if it is impossible to determine
whether a summand violates the invariant; PREFIX will be used as prefix of
the output files
- -QNUM,
--qlimit=NUM
- limit enumeration of quantifiers to NUM variables. (Default NUM=1000,
NUM=0 for unlimited).
- -rNAME,
--rewriter=NAME
- use rewrite strategy NAME: 'jitty' jitty rewriting (default) 'jittyc'
compiled jitty rewriting 'jittyp' jitty rewriting with prover
- -l,
--simplify-all
- simplify the conditions of all summands, instead of just eliminating the
summands whose conditions in conjunction with the invariant are
contradictions
- -zSOLVER,
--smt-solver=SOLVER
- use SOLVER to remove inconsistent paths from the internally used BDDs (by
default, no path elimination is applied): 'cvc' the SMT solver CVC3
- -tLIMIT,
--time-limit=LIMIT
- spend at most LIMIT seconds on proving a single formula
- --timings[=FILE]
- append timing measurements to FILE. Measurements are written to standard
error if no FILE is provided
- Standard
options:
- -q, --quiet
- do not display warning messages
- -v, --verbose
- display short intermediate messages
- -d, --debug
- display detailed intermediate messages
- --log-level=LEVEL
- display intermediate messages up to and including level
- -h, --help
- display help information
- --version
- display version information
Report bugs at <http://www.mcrl2.org/issuetracker>.
Copyright © 2014 Technische Universiteit Eindhoven.
This is free software. You may redistribute copies of it under the terms of
the Boost Software License <http://www.boost.org/LICENSE_1_0.txt>.
There is NO WARRANTY, to the extent permitted by law.
See also the manual at
<http://www.mcrl2.org/release/user_manual/tools/lpsinvelm.html>.