use new synth.pure_mutex for env actions

This replaces the conjunction:
	(pure mutex) && (at least one True)
with a pure mutex for the environment actions.

reasons
-------
1. the TS specifies that the system state is:
        - at one of the possible system states
        - a pure mutex holds between the system states
   but does not specify as much about the environment actions.

   Moreover, mutex of env actions should probably be made optional.
   Alternatives for specifying their behavior are:
        - spec
        - TS for environment, in addition to system TS

2. dead-end states must be represented by
   specifying that no next states exist,
   in order to constraint system behavior (forthcoming).

   The intention is to render the spec unrealizable if dead-ends have such an effect.
   Lack of realizability can be caused by the conjunction of (pure mutex) && (at least one True) for system states.

   However, if the system TS also specifies the possible next environment actions, then dead-ends do not allow any next environment action to be True.
   In conjunction with a (pure mutex) && (at least one True) on environment actions, this causes the assumption part to be False.
   So it leads to a vacuously realizable spec.

   This effect can be avoided by relaxing the requirement to a pure mutex.
block sys state and env actions at sys dead-ends