public void MSOLast() { var solver = new CharSetSolver(BitWidth.BV64); //new solver using ASCII encoding List<char> alph = new List<char> { 'a', 'b' }; HashSet<char> al = new HashSet<char>(alph); //ex x. first(x) MSOFormula formula = new MSOExistsFO("x", new MSOLast("x")); Assert.IsTrue(formula.CheckUseOfVars()); var dfa = formula.getDFA(al, solver); var test = solver.Convert(@"^(a|b)+$"); Assert.IsTrue(dfa.IsEquivalentWith(test, solver)); string file = "../../../MSOZ3Test/DotFiles/exlast"; solver.SaveAsDot(dfa, "aut", file); //extension .dot is added automatically when missing }