Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
multiple transitions with same source/label/destination, but different acceptance #38
If we ignore alternation, the semantic we give for omega automata with transition-based acceptance assume that the set of transitions and the acceptance sets are subsets of
this declare two transitions
(Shameless plug: Spot's
The above non-deterministic automaton is accepting since we can decide to stop using one of the two transitions at some point. We cannot consider the two transitions as being a single transition that
Using intersection of
I believe we have to change the semantics to support duplicate transitions in different acceptance sets to ensure that they work for any automaton we can represent with HOAF.
Here are two ideas for a possible fix:
I like the second option better because it still makes it clear we think in terms of acceptance sets of transitions.
Wow, very interesting bug indeed. (Nice catch.)
I can see one more solution: we can replace the set of transitions, which is a subset of
OK, I have to change F a bit: instead of defining F as a set of sets of transitions, I define it as a function assigning to each element of the multiset of transitions a set of naturel numbers (meaning to which acceptance sets the transition belongs).
Hmm, it is probably not as elegant as it seemed to be during the last night.
My proposal is in commit d83e171. Let me know what you think.
In particular, distinguishing transitions is not a problem with state-based acceptance, so I've opted to keep the definition of R as a set of triplets. It this OK? This creates a new difference between the transition-based and state-based semantics that I am not very fond of. It is not just the definition of S that is different, but now also the definition of R. Because R is different, one could also argue that the interpretation of the run should be redefined. Do we really want that, or can we agree that it is easy to infer from the previous definition?
The other option is to keep R as a set of quadruplets, but then someone reading only this semantic will wonder what is the purpose of this unused n.
Also, do we need an example to illustate this subteltly? Another option is to simply link to this issue when we define n.
Joachim told me (privately) that he favored
I would like to make a third proposal in that direction.