[1X6 [33X[0;0YFinite regular languages[133X[101X
[33X[0;0YThis chapter describes some functions to deal with finite regular languages.[133X
[1X6.1 [33X[0;0YDealing with finite regular languages[133X[101X
[1X6.1-1 IsFiniteRegularLanguage[101X
[29X[2XIsFiniteRegularLanguage[102X( [3XL[103X ) [32X function
[33X[0;0Y[3XL[103X is an automaton or a rational expression. This function tests whether its
argument represents a finite language or not.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XRandomRatExp(2);[127X[104X
[4X[28Xb*(aU@)[128X[104X
[4X[25Xgap>[125X [27XIsFiniteRegularLanguage(last);[127X[104X
[4X[28Xfalse[128X[104X
[4X[25Xgap>[125X [27XRandomRatExp(2);[127X[104X
[4X[28XaUbU@[128X[104X
[4X[25Xgap>[125X [27XIsFiniteRegularLanguage(last);[127X[104X
[4X[28Xtrue[128X[104X
[4X[32X[104X
[1X6.1-2 FiniteRegularLanguageToListOfWords[101X
[29X[2XFiniteRegularLanguageToListOfWords[102X( [3XL[103X ) [32X function
[33X[0;0Y[3XL[103X is an automaton or a rational expression. This function outputs the
recognized language as a list of words.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xr:=RationalExpression("aaUx(aUb)"); [127X[104X
[4X[28XaaUx(aUb)[128X[104X
[4X[25Xgap>[125X [27X FiniteRegularLanguageToListOfWords(r);[127X[104X
[4X[28X[ "aa", "xa", "xb" ][128X[104X
[4X[32X[104X
[1X6.1-3 ListOfWordsToAutomaton[101X
[29X[2XListOfWordsToAutomaton[102X( [3Xalph[103X, [3XL[103X ) [32X function
[33X[0;0YGiven an alphabet [3Xalph[103X (a list) and a list of words [3XL[103X (a list of lists),
outputs an automaton that recognizes the given list of words.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XListOfWordsToAutomaton("ab",["aaa","bba",""]);[127X[104X
[4X[28X< deterministic automaton on 2 letters with 6 states >[128X[104X
[4X[25Xgap>[125X [27XFAtoRatExp(last);[127X[104X
[4X[28X(bbUaa)aU@[128X[104X
[4X[32X[104X