CIF event-based language equivalence check generates incorrect counterexamples
Run "event-based synthesis -> language equivalence" on the cif spec.
The answer is correct but the explanation is not.
The languages are not equivalent because the automata differ only on their marked language.
Specifically, automaton B has L3 marked, whereas automaton A has not.
Instead, the explanation says "From location "L2" of automaton "A", event "b"
can be performed, but from the equivalent location "L2" of automaton "B",
the event cannot be performed."
(such a transition can be taken from both automata in L2).
event a,b,c;
automaton A:
location L1: initial; marked;
edge a goto L2;
location L2:
edge b goto L3;
location L3:
edge c goto L1;
end
automaton B:
location L1: initial; marked;
edge a goto L2;
location L2:
edge b goto L3;
location L3: marked;
edge c goto L1;
end