GAP (Automata) - Chapter 6: Finite regular languages

Goto Chapter: Top 1 2 3 4 5 6 A B C Bib Ind
[Top of Book] [Contents] [Previous Chapter] [Next Chapter]

[MathJax off]

6 Finite regular languages
6.1 Dealing with finite regular languages
6.1-1 IsFiniteRegularLanguage
6.1-2 FiniteRegularLanguageToListOfWords
6.1-3 ListOfWordsToAutomaton

### 6 Finite regular languages

This chapter describes some functions to deal with finite regular languages.

#### 6.1 Dealing with finite regular languages

##### 6.1-1 IsFiniteRegularLanguage

`‣ IsFiniteRegularLanguage`( L ) | ( function )

L is an automaton or a rational expression. This function tests whether its argument represents a finite language or not.

    gap> r:=RationalExpression("b*(aU@)");;
    gap> IsFiniteRegularLanguage(last);
    false
    gap> r:=RationalExpression("aUbU@");;
    gap> IsFiniteRegularLanguage(last);
    true

##### 6.1-2 FiniteRegularLanguageToListOfWords

`‣ FiniteRegularLanguageToListOfWords`( L ) | ( function )

L is an automaton or a rational expression. This function outputs the recognized language as a list of words.

    gap> r:=RationalExpression("aaUx(aUb)");
    aaUx(aUb)
    gap>  FiniteRegularLanguageToListOfWords(r);
    [ "aa", "xa", "xb" ]

##### 6.1-3 ListOfWordsToAutomaton

`‣ ListOfWordsToAutomaton`( alph, L ) | ( function )

Given an alphabet alph (a list) and a list of words L (a list of lists), outputs an automaton that recognizes the given list of words.

    gap> ListOfWordsToAutomaton("ab",["aaa","bba",""]);
    < deterministic automaton on 2 letters with 6 states >
    gap> FAtoRatExp(last);
    (bbUaa)aU@

[Top of Book] [Contents] [Previous Chapter] [Next Chapter]
Goto Chapter: Top 1 2 3 4 5 6 A B C Bib Ind

generated by GAPDoc2HTML