#1220 CIF to mCRL2: support initialization predicates in components
- Best to review per commit.
- End-user visible changes:
- The CIF to mCRL2 transformer now supports CIF specifications with initialization predicates in components (so outside locations).
- This also fixes handling of initialization predicates that come from linearization, which can now occur, due to allowing automata with multiple initial locations in an earlier merge request.
- Other changes/notes:
- I had to split the way I determine initialization predicates, simplify them, etc, into two statements. If I do it in one statement, then I get concurrent modification exceptions.
- I had to parameterize the conversion of predicates/expressions, to account for using 'sum' variables when discrete/input variables are referenced in initialization predicates, while using the parameters of process
P
within processP
.
Addresses #1220 (closed)