lpsinvelm(1)

lpsinvelm1

Check invariants and use these to simplify or eliminate summands of an lps

Usage

lpsinvelm [OPTION] ... --invfile=INVFILE [INFILE [OUTFILE]]

Overview

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

-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

Releases

4 releases since Debian 6.0 (Squeeze); the text changed 3 times.

  1. 6.0
  2. 7
  3. 8
  4. 10

--log-level since Debian 7 (Wheezy); --qlimit since Debian 8 (Jessie); --timings since Debian 7 (Wheezy); -Q since Debian 8 (Jessie).

--mcrl2-gui until Debian 6.0 (Squeeze); --summand until Debian 7 (Wheezy); -s until Debian 7 (Wheezy).

Author

Written by Luc Engelen.

Reporting bugs

Report bugs at <http://www.mcrl2.org/issuetracker>.

From mcrl2 201409.0-1+b2 in Debian 10 (Buster). Parsed by carta from the page's man source.