CIF to CIF Remove requirements removes too much information.
Consider the following specification:
input bool X; event c_on; requirement p: plant invariant c_on needs X; location: initial; end
Removing requirements results in:
input bool X; event c_on;
Notice that the plant invariant is also removed. This should not happen.
We should add as a restriction that requirement automata may not contain kindless, plant, or supervisor invariants.
Alternatively, we could move the non-requirement invariants outside of locations to the parent group/specification. Location invariants can never be supported as the locations are removed and we cannot refer to them.