lpssuminst
Instantiate the summation variables in an LPS by applying induction on the values of the sort of the variable.
Example
Take the the following LPS:
sort D = struct d1 | d2;
E = struct e1(D) | e2;
act a: D;
b: E;
proc P = sum d: D. a(d) . P
+ sum e: E. b(e) . P
;
init P;
lpssuminst instantiates the variable d
to the constructors
d1
and d2
of sort D
, and variable e
to the constructors
e1(d1)
, e1(d2)
and e2
:
sort D = struct d1 | d2;
E = struct e1(D) | e2;
act a: D;
b: E;
proc P = a(d1) . P
+ a(d2) . P
+ b(e1(d1)) . P
+ b(e1(d2)) . P
+ b(e2) . P
;
init P;
- orphan:
Usage
lpssuminst [OPTION]... [INFILE [OUTFILE]]
Description
Instantiate the summation variables of the linear process specification (LPS) in INFILE and write the result to OUTFILE. If INFILE is not present, stdin is used. If OUTFILE is not present, stdout is used.
Command line options
-f
, --finite
only instantiate variables whose sorts are finite
-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:
jitty
jitty rewriting
jittyc
compiled jitty rewriting
jittyp
jitty rewriting with prover
-s[NAME]
, --sorts[=NAME]
select sorts that need to be expanded (comma separated list). Examples: Bool; Bool, List(Nat)
-t
, --tau
only instantiate variables in tau summands
--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