/**
   * uy.edu.fing.mina.omega.tffst.test 5, is the very example of the policy's paper. it works well
   * but A <-> B and B <-> A must be unified
   *
   * @param args
   */
  public static void main(String[] args) {

    Tffst.setMinimizeAlways(false);

    Tffst tffst1 = new Tffst();

    State s0 = new State();
    tffst1.setInitialState(s0);

    State s4 = new State();
    s4.setAccept(true);

    SimpleTf tf1 = new SimpleTf();
    tf1.setSLabel("A");

    SimpleTf tf2 = new SimpleTf();
    tf2.setSLabel("C");

    SimpleTf tf7 = new SimpleTf();
    tf7.setSLabel("I");

    SimpleTf tf8 = new SimpleTf();
    tf8.setSLabel("J");

    Transition trans1 = new Transition(tf1, tf2, s4);
    Transition trans5 = new Transition(tf7, tf8, s4);

    s0.addTransition(trans1);
    s4.addTransition(trans5);

    Utils.showDot(tffst1.toDot(""));

    tffst1.setDeterministic(false);
    tffst1.determinize();

    Utils.showDot(tffst1.toDot(""));

    Utils.showDot(tffst1.toSimpleTransitions().toDot(""));
  }