pbespareqelm
This tool aims to detect invariants [OW10] of a very specific form in PBESs. The invariants detected by the tool are identities between parameters of predicate variables. Pairs of parameters that are always equal are discovered, and one of these parameters is eliminated.
Consider, for instance, the following example (The Mutual Exclusion Problem (2) taken from [OW10]).
Observe that with this initial configuration, $n_r = r$ and $n_w = w$ are invariants. The resulting PBES is as follows.
Usage
pbeseqelm [OPTION]... [INFILE [OUTFILE]]
Description
Reads a file containing a PBES, and applies the eqelm algorithm to detect equivalence relations between the parameters. If OUTFILE is not present, standard output is used. If INFILE is not present, standard input is used.
Command line options
-I , --ignore-initial-state
ignore the initial state in the computation
-iFORMAT , --in=FORMAT
use input format FORMAT:
pbesPBES in internal format
pgsolverBES in PGSolver format
textPBES in textual (mCRL2) format
-oFORMAT , --out=FORMAT
use output format FORMAT:
besBES in internal format
pbesPBES in internal format
pgsolverBES in PGSolver format
textPBES in textual (mCRL2) format
-pNAME , --pbes-rewriter=NAME
use pbes rewrite strategy NAME:
simplifyfor simplification
quantifier-allfor eliminating all quantifiers
quantifier-finitefor eliminating finite quantifier variables
quantifier-insidefor pushing quantifiers inside
quantifier-one-pointfor one point rule quantifier elimination
pfnffor rewriting into PFNF normal form
ppgfor rewriting into Parameterised Parity Game form
srffor rewriting into SRF normal form
pre-srffor rewriting into pre-SRF normal form
prune-dataspecfor removing unused data equations and mappings
bqnf-quantifierfor rewriting quantifiers over conjuncts to conjuncts of quantifiers (experimental)
remove-cex-variablesfor removing counterexample variables from the right-hand side of each equation, i.e., obtaining the core of a pbes
-QNUM , --qlimit=NUM
limit enumeration of universal and existential quantifiers in data expressions to NUM iterations (default NUM=10, NUM=0 for unlimited).
-rNAME , --rewriter=NAME
use rewrite strategy NAME:
jittyjitty rewriting
jittyccompiled jitty rewriting
jittypjitty rewriting with prover
--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 log messages
-d , --debug
display detailed log messages
--log-level=LEVEL
display log messages up to and including level; either warn, verbose, debug or trace
-h , --help
display help information
--version
display version information
--help-all
display help information, including hidden and experimental options