As discussed in #83:
I attached the most permissive state graph for srHalfLatch. Here pink arcs have the 'may-fire' semantics for outputs, while the usual black ones correspond to usual 'must-fire' semantics.
The idea is that in states 100 and 011 the circuit must eventually do q+ and q- transitions, respectively. On the other hand, in states 110 and 111 the circuit may switch q but doesn't necessarily have to. If we remove the pink arcs, then we get @jrbeaumont's spec for srHalfLatch. If we forbid states 110 and 111 by restricting the environment we get my spec.
Unfortunately, without pink/may arcs we cannot have a fully permissive specification.

Can we add support for may-fire semantics to Plato?
As discussed in #83:
I attached the most permissive state graph for
srHalfLatch. Here pink arcs have the 'may-fire' semantics for outputs, while the usual black ones correspond to usual 'must-fire' semantics.The idea is that in states
100and011the circuit must eventually doq+andq-transitions, respectively. On the other hand, in states110and111the circuit may switchqbut doesn't necessarily have to. If we remove the pink arcs, then we get @jrbeaumont's spec forsrHalfLatch. If we forbid states110and111by restricting the environment we get my spec.Unfortunately, without pink/may arcs we cannot have a fully permissive specification.
Can we add support for
may-firesemantics to Plato?