NAME¶
lpsinvelm - check invariants and use these to simplify or eliminate summands of
an LPS
SYNOPSIS¶
lpsinvelm [
OPTION]... --invfile=INVFILE [
INFILE
[
OUTFILE]]
DESCRIPTION¶
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.
OPTIONS¶
- 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
- -rNAME, --rewriter=NAME
- use rewrite strategy NAME:
'jitty' for jitty rewriting (default),
'jittyc' for compiled jitty rewriting,
'jittyp' for 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' for the SMT solver CVC3
- -sNUM, --summand=NUM
- eliminate or simplify the summand with number NUM only
- -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
AUTHOR¶
Written by Luc Engelen.
REPORTING BUGS¶
Report bugs at <
http://www.mcrl2.org/issuetracker>.
COPYRIGHT¶
Copyright © 2012 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¶
See also the manual at
<
http://www.mcrl2.org/mcrl2/wiki/index.php/User_manual/lpsinvelm>.