Conflict


Description   : This program tests for non-conflicting languages for the
                two given FSMs. The machine hg.conf.fsm contains traces
                that violate the non-conflicting condition, namely, those
                    _____    _____    ________________
                in (Lm(H) /\ Lm(G)) \ (Lm(H) /\ Lm(G))
                The program requires that both input machines are trim.
                The program will assume that the machines are accessible
                and will check if they are co-accessible.  If the machines
                aren't co-accessible, they are made so and a warning is
                issued.

Input         : h.fsm - Input FSM1
                g.fsm - Input FSM2

Output        : hg_conf.fsm - Conflicting traces

Example

H

G

Output machine

H FSM

G FSM

Output FSM

(a) is a conflicting trace, and that fact is demonstrated by the fact that (a) appears as a trace in the output machine.  Notice that (t1->t2) is non-conflicting because it ends up in a marked state.  The machines must be trim for this test.