  
  [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
  
  [33X[1;0Y[29X[2XIsFiniteRegularLanguage[102X( [3XL[103X ) [32X function[133X
  
  [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 [27Xr:=RationalExpression("b*(aU@)");;[127X[104X
    [4X[25Xgap>[125X [27XIsFiniteRegularLanguage(last);[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27Xr:=RationalExpression("aUbU@");;[127X[104X
    [4X[25Xgap>[125X [27XIsFiniteRegularLanguage(last);[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [1X6.1-2 FiniteRegularLanguageToListOfWords[101X
  
  [33X[1;0Y[29X[2XFiniteRegularLanguageToListOfWords[102X( [3XL[103X ) [32X function[133X
  
  [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
  
  [33X[1;0Y[29X[2XListOfWordsToAutomaton[102X( [3Xalph[103X, [3XL[103X ) [32X function[133X
  
  [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
  
