<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JAMP</journal-id><journal-title-group><journal-title>Journal of Applied Mathematics and Physics</journal-title></journal-title-group><issn pub-type="epub">2327-4352</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jamp.2024.1212265</article-id><article-id pub-id-type="publisher-id">JAMP-138718</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Physics&amp;Mathematics</subject></subj-group></article-categories><title-group><article-title>
 
 
  On Some Systems of Word Equations for Automata
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Nikolai</surname><given-names>I. Krainukov</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Mikhail</surname><given-names>E. Abramyan</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Boris</surname><given-names>F. Melnikov</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Faculty of Computational Mathematics and Cybernetics, Shenzhen MSU-BIT University, Shenzhen, China</addr-line></aff><pub-date pub-type="epub"><day>09</day><month>12</month><year>2024</year></pub-date><volume>12</volume><issue>12</issue><fpage>4322</fpage><lpage>4332</lpage><history><date date-type="received"><day>26,</day>	<month>October</month>	<year>2024</year></date><date date-type="rev-recd"><day>27,</day>	<month>December</month>	<year>2024</year>	</date><date date-type="accepted"><day>31,</day>	<month>December</month>	<year>2024</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  In this paper, we use some programing tools and algorithms for solving system of word equation for regular languages. There are many possibilities for presentation of regular languages such as grammars, finite automata, rewriting systems and so on. Some of these systems is presented by system of computational discrete algebra GAP and the possibilities of presentation now in some systems interactive theorem provers (Isabelle, Coq). This computer system can give to detailed understanding of solution of system of word equation, compared the languages and regular expressions of the languages.
 
</p></abstract><kwd-group><kwd>Finite Automata</kwd><kwd> Word Equation</kwd><kwd> Free Algebra</kwd><kwd> Regular Expressions</kwd><kwd>  Normal Forms</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Formal Languages, Automata and Logic are basic concepts of computer science. In this contribution, we shall see how different presentation for regular languages helps us to solve problems of minimization finite automata and find the normal forms for classes of equivalence of factor algebra of free algebra with generators in alphabet Σ.</p><p>The theory of automata [<xref ref-type="bibr" rid="scirp.138718-ref1">1</xref>] and system of word equation already was considered in [<xref ref-type="bibr" rid="scirp.138718-ref2">2</xref>]. Our goal is to pay more attention to applied work with automata, regular expressions and to receive the results of these calculations.</p><p>We discussed also minimization problems for the finite automata.</p><p>Section 2 contains the basic definition and notation of formal languages, rewriting system, finite automata and some logical notation.</p><p>In Section 3, we discuss the algorithm of Knuth-Bendix for constructing a confluent rewriting system for language and a practical example of application of the algorithms.</p><p>In Section 4, we apply the computer discrete algebra system GAP to find normal form state languages for automatons.</p></sec><sec id="s2"><title>2. Definitions and Notation</title><p>In this section, we remember the definition and notation about formal languages, free monoid, free algebra, automata and rewriting system. The following definitions taken from [<xref ref-type="bibr" rid="scirp.138718-ref3">3</xref>]-[<xref ref-type="bibr" rid="scirp.138718-ref6">6</xref>] will be used.</p><p>An alphabet Σ is finite set letters Σ = { a , b , c , … } . A word or string w is finite length sequence of letters over alphabet Σ . We denote as Σ * the set of all finite words. The set of Σ * with respect to the concatenation operation forms a free monoid. Semigroup Σ + = Σ * \ ε is monoid Σ * without empty word ε . Language L is subset of monoid Σ * .</p><p>A basic operation of free monoid Σ * is concatenation of two words w = u v . The operation of concatenation is defined for languages in the natural way:</p><p>L 1 L 2 = { w 1 w 2 | w 1 ∈ L 1   and   w 2 ∈ L 2 }</p><p>The concatenation closure or Kleene star of a language 𝐿:</p><p>L * = { ε ∪ L ∪ L 2 ∪ … }</p><p>Infinite tree presents of monoid Σ * = { ε , a , b , a a , a b , b b , … } over alphabet Σ = { a , b } (<xref ref-type="fig" rid="fig1">Figure 1</xref>). Every word w has unambiguous path from root (node 1) of this tree to the leaves.</p><p>The word u is a prefix of a word v , denoted as u ≤ v , if v = u w , for some w ∈ Σ * . We say that u and v are prefix comparable if either v ≤ u , or u ≤ v .</p><p>An automaton A [<xref ref-type="bibr" rid="scirp.138718-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.138718-ref3">3</xref>]-[<xref ref-type="bibr" rid="scirp.138718-ref5">5</xref>] over alphabet Σ consists of a set of states Q , the initial states I ⊂ Q , the final/terminal states T ⊂ Q , and a set F ⊂ Q &#215; A &#215; Q called the set of edges. The automaton is denoted by A = ( Q , F , I , T ) .</p><p>The automaton is finite when the set Q is finite. The language L is recognized by A , denoted L ( A ) , is the set of words in Σ * which are labels of paths from I to T .</p><p><xref ref-type="fig" rid="fig2">Figure 2</xref> shows the automaton A with three states, the set of initial states I = { 1 } , the set of terminal states T = { 3 } , the set of edges F = { ( 1 , a , 1 ) , ( 1 , a , 2 ) , ( 1 , a , 3 ) , ( 1 , b , 3 ) , ( 3 , b , 3 ) } . The finite language L ( A ) = { a , a b , b , … } is recognized by automaton A .</p><p>Let M be a monoid [<xref ref-type="bibr" rid="scirp.138718-ref3">3</xref>] [<xref ref-type="bibr" rid="scirp.138718-ref5">5</xref>]. Recall that a subset Σ ⊂ M of M generates M if every element of M is a product of elements of Σ . If M is a monoid generated by a finite set Σ then there is a homomorphism ϕ : Σ * → M , from free monoid Σ * to monoid M :</p><p>( α ϕ ) ( β ϕ ) = ( α β ) ϕ for all words α and β in Σ * .</p><p>In this case, the monoid M is isomorphic to Σ * / ≈ where ≈ is the congruence, equivalence relation compatible with respect to the concatenation on Σ * defined by:</p><p>α ≈ β ⇔ α ϕ = β ϕ .</p><p>Let this congruence R is a set of equations of the form α = β where α , β ∈ Σ * and where α and β represent the same element α ϕ = β ϕ of monoid M Then R generates a congruence ≈ on Σ * and that R is a set of defining relations for M .</p><p>A string-rewriting system R is a subset of Σ * &#215; Σ * . Each element ( l , r ) ∈ R of rewriting system R is a (rewrite) rule. Suppose an element u ∈ Σ * has a subword l and ( l , r ) is a rule of the rewriting system R , then we can replace the subword l of u by the subword r and obtain a new word v</p><p>u = x l y → x r y = v and u = x l y ↔ x r y = v .</p><p>For any string-rewriting system R , if u and v are strings such that u ↔ R v , then for all x , y ∈ A * , x u y ↔ R x v y , that the relation ↔ R is called a congruence relation too: it is an equivalence relation that is compatible with respect to the concatenation of strings.</p><p>We can define the word equation by two steps [<xref ref-type="bibr" rid="scirp.138718-ref2">2</xref>].</p><p>First step, we define the expressions over the alphabet A in the variables X 1 , … , X n for given set C O N S T coefficients of equation and O P set of operation:</p><p>E X A ( C O N S T ; O P ; X 1 , … , X n ) ,</p><p>Let A = { a , b } , C O N S T is the class of finite languages, and O P contains precisely union and left-concatenation.</p><p>For example, the expression α is contained in E X A ( C O N S T ; O P ; X , Y , Z ) ,</p><p>α = a b X U a Y U b Z ∈ E X A ( C O N S T ; O P ; X , Y , Z ) .</p><p>Second step, now we can define a system of language equations.</p><p>Let α 1 , α 2 , … , α k and β 1 , β 2 , … , β k be expression in E X A ( C O N S T ; O P ; X 1 , … , X n ) ,</p><p>α 1 = β 1</p><p>α 2 = β 2</p><p>…</p><p>α k = β k</p><p>Then this is a system of language equations for variable #Math_123# , set C O N S T and O P :</p><p>a X = Y b</p><p>a Z a = Y ,</p><p>The possible solution of this system of equations:</p><p>X = ( a b ) n , Y = a ( a b ) n − 1 a , Z = ( a b ) n − 1</p><p>Recall that an algebra [<xref ref-type="bibr" rid="scirp.138718-ref6">6</xref>] [<xref ref-type="bibr" rid="scirp.138718-ref7">7</xref>] over a field K is a K -vector space A with a binary operation (multiplication) A &#215; A → A , ( a , b ) → a b specified on it, satisfying the following requirements:</p><p>1) a ( b + c ) = a b + a c , ( b + c ) a = b a + c a for any a , b , c ∈ A ;</p><p>2) ( λ a ) b = a ( λ b ) = λ ( a b ) for any λ ∈ K , a , b ∈ A .</p><p>We will additionally assume that:</p><p>3) there is a unit in A , i.e., an element 1 such that 1 a = a 1 = a for any a ∈ A ;</p><p>4) algebra A is associative, i.e., ( a b ) c = a ( b c ) for any a , b , c ∈ A .</p><p>Throughout the following, we will additionally assume, that the field K is the field of rational numbers. We can embed monoid Σ * over alphabet Σ = { x 1 , x 2 , … , x n } into free algebra of polynomials K [ x 1 , x 2 , … , x n ] with homomorphism φ : Σ * → K [ x 1 , x 2 , … , x n ] by definition on letters of alphabet Σ :</p><p>φ ( x i ) = x i , i = 1 , … , n .</p><p>Then we can define a lineal presentation [<xref ref-type="bibr" rid="scirp.138718-ref8">8</xref>] of syntactical monoid of the deterministic automaton A by matrices correspondent the transformations of the letters alphabet.</p></sec><sec id="s3"><title>3. Finite Automaton and the System of Equations</title><p>At first, we consider the deterministic finite automata [<xref ref-type="bibr" rid="scirp.138718-ref9">9</xref>] [<xref ref-type="bibr" rid="scirp.138718-ref10">10</xref>]. Consider a deterministic finite automaton (DFA) D A = ( A , Q , δ , q 0 , F ) , where A is the underlying alphabet, Q = { q 0 , q 1 , … , q n − 2 , q n − 1 } is the finite, nonempty set of states, q 0 is the (single) initial state ( q 0 ∈ Q ), F a subset of ( F ⊆ Q ), is the set of final states, and δ is the transition function:</p><p>δ : Q &#215; A → Q .</p><p>A system of word equations associates with D A in the following way:</p><p>・ CONST is a class of finite languages (it may contain one word).</p><p>・ OP consists of the operations union and left-concatenation.</p><p>・ The set of variables be { L i , q i ∈ Q }</p><p>L i = ∪ a ⋅ L j U λ ( q i ) ,</p><p>a ∈ A , q j = δ ( q i , a )</p><p>where λ ( q i ) = ε if q i ∈ F and λ ( q i ) = ∅ if q ∉ F .</p><p>Let L i is the language of automaton D A = ( A , Q , r , q i , F ) with initial state q i . If the state q i is the final state q i ∈ F of automaton D A , then the empty word ε belongs language L i .</p><p>For example, <xref ref-type="fig" rid="fig3">Figure 3</xref> shows the automaton D A with four states.</p><p>The language L 1 = ( a b a U b b ) * are the set of the paths from initial state q 1 = 1 to the final state q 1 = 1 .</p><p>The system of word equations for automaton on <xref ref-type="fig" rid="fig3">Figure 3</xref> can be written in form:</p><p>L 1 = a L 3 ∪ b L 2 ∪ ε</p><p>L 2 = b L 1</p><p>L 3 = b L 4</p><p>L 4 = a L 1</p><p>The solution of this system of equations can be found by substitution or by Gauss’s method.</p><p>L 1 = a b L 4 ∪ b L 2 ∪ ε = a b a L 1 ∪ b b L 1 ∪ ε</p><p>L 1 = ( a b a ∪ b b ) L 1 ∪ ε , L 1 = ( a b a ∪ b b ) *</p><p>Lemma 1. Let the equation X = N ⋅ X ∪ M over the alphabet A in the variable. Then solution of this equation: X = N * M . (Just substitute it into the equation)</p><p>We use the system of computational discrete algebra GAP for calculation with finite automata. There are many functions with operation with finite automaton in package “Automata” such as for creating automata, minimization the number of states, determination and so on.</p><p>gap&gt; aut1:=Automaton(&quot;det&quot;,4,2,[[3,,,1 ],[2 ,1,4, ]],[<xref ref-type="bibr" rid="scirp.138718-ref1">1</xref>],[<xref ref-type="bibr" rid="scirp.138718-ref1">1</xref>]);</p><p>&lt; deterministic automaton on 2 letters with 4 states &gt;</p><p>gap&gt; Display(aut1);</p><p>| 1 2 3 4</p><p>-----------------</p><p>a | 3 1</p><p>b | 2 1 4</p><p>Initial state: [ 1 ] Accepting state: [ 1 ]</p><p>gap&gt;re1:=AutomatonToRatExp( aut1 );</p><p>(abaUbb)*</p><p>Let consider a nondeterministic finite automaton (NFA) N A = ( A , Q , ν , I , F ) , where A is alphabet, Q is the finite set of states, I is the set initial state ( I ⊂ Q ), F , is the set of final states, and ν is the transition function:</p><p>ν : Q &#215; A → 2 Q .</p><p>For example, <xref ref-type="fig" rid="fig4">Figure 4</xref> shows the nondeterministic automaton N A with three states.</p><p>The corresponding system of equations for nondeterministic automaton N A is then:</p><p>L 1 = a L 1 ∪ a L 2 ∪ b L 2 ∪ b L 3</p><p>L 2 = b L 1 ∪ b L 2 ∪ c L 3 ∪ ε</p><p>L 3 = a L 1 ∪ b L 1 ∪ c L 1 ∪ ε</p><p>The solution of this system of equations can be find by substitution or by Gauss’s method:</p><p>L 1 = a L 1 ∪ ( a ∪ b ) L 2 ∪ b ( a ∪ b ∪ c ) L 1 ∪ b</p><p>L 2 = b L 1 ∪ b L 2 ∪ c ( a ∪ b ∪ c ) L 1 ∪ c ∪ ε</p><p>L 3 = ( a ∪ b ∪ c ) L 1 ∪ ε</p><p>The usage of the system algebra GAP gives the solution of these system equations:</p><p>gap&gt; Display(naut1);</p><p>| 1 2 3</p><p>---------------------------------</p><p>a | [ 1, 2 ] [ 1 ]</p><p>b | [ 2, 3 ] [ 1, 2 ] [ 1 ]</p><p>c | [ 3 ] [ 1 ]</p><p>Initial state: [ 1 ]</p><p>Accepting states: [ 2, 3 ]</p><p>gap&gt; ren1:=AutomatonToRatExp( naut1 );</p><p>((aUb)b*(c(aUbUc)Ub)Ub(aUbUc)Ua)*((aUb)b*(cU@)Ub)</p><p>gap&gt; naut2:=Automaton(&quot;nondet&quot;,3,3,</p><p>[[[1,2],,1],[[2,3],[1,2],1],[,3,1]],[<xref ref-type="bibr" rid="scirp.138718-ref2">2</xref>],[2,3]);</p><p>&lt; non deterministic automaton on 3 letters with 3 states &gt;</p><p>gap&gt; ren2:=AutomatonToRatExp( naut2 );</p><p>((c(aUbUc)Ub)(b(aUbUc)Ua)*(aUb)Ub)*((c(aUbUc)Ub)(b(aUbUc)Ua)*bUcU@)</p><p>gap&gt; naut3:=Automaton(&quot;nondet&quot;,3,3,</p><p>[[[1,2],,1],[[2,3],[1,2],1],[,3,1]],[<xref ref-type="bibr" rid="scirp.138718-ref3">3</xref>],[3,3]);</p><p>&lt; non deterministic automaton on 3 letters with 3 states &gt;</p><p>gap&gt; ren3:=AutomatonToRatExp( naut3 );</p><p>((aUbUc)((aUb)b*bUa)*((aUb)b*cUb))*((aUbUc)((aUb)b*bUa)*(aUb)b*U@)</p><p>The results solutions are the languages L 1 = r e n 1 , L 2 = r e n 2 , L 3 = r e n 3 , where regular expressions ren1, ren2, ren3 build from the correspondence nondeterministic automata naut1, naut2, naut3.</p><p>For nondeterministic automaton, N A = ( A , Q , ν , I , F ) , we can define the adjacency matrix:</p><p>M a , a ∈ A ,   M i , j = 1 ,   if   ν ( q i , a ) = q j ,   else   0 .</p><p>The size of matrix M a is equal N &#215; N , where N is a number of state nondeterministic automaton NA [<xref ref-type="bibr" rid="scirp.138718-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.138718-ref11">11</xref>] [<xref ref-type="bibr" rid="scirp.138718-ref12">12</xref>]. There is homomorphism φ : A * → A M from free monoid A * to matrix algebra AM with generators M a .</p><p>There is path that is the word w from state q i to state q j . The homomorphism φ : A * → A M maps the word w to a product of matrix G w and element G i , j is the path from state q i to state q j in nondeterministic automaton D .</p><p>For example, for automaton N A the matrices M a , M b , M c and G a , G b , G c have the correspondents structure:</p><p>gap&gt; Ma;</p><p>[ [ 1, 1, 0 ],</p><p>[ 0, 0, 0 ],</p><p>[ 1, 0, 0 ] ]</p><p>gap&gt; Mb;</p><p>[ [ 0, 1, 1 ],</p><p>[ 1, 1, 0 ],</p><p>[ 1, 0, 0 ] ]</p><p>gap&gt; Mc;</p><p>[ [ 0, 0, 0 ],</p><p>[ 0, 0, 1 ],</p><p>[ 1, 0, 0 ] ]</p><p>gap&gt; Ga;</p><p>[ [ a, a, 0 ],</p><p>[ 0, 0, 0 ],</p><p>[ a, 0, 0 ] ]</p><p>gap&gt; Gb;</p><p>[ [ 0, b, b ],</p><p>[ b, b, 0 ],</p><p>[ b, 0, 0 ] ]</p><p>gap&gt; Gc;</p><p>[ [ 0, 0, 0 ],</p><p>[ 0, 0, c ],</p><p>[ c, 0, 0 ] ]</p><p>gap&gt; Aabc:=FreeAssociativeAlgebraWithOne(Rationals,&quot;a&quot;,&quot;b&quot;,&quot;c&quot;);</p><p></p><p>gap&gt; A:= Algebra( Aabc, [ Ma, Mb, Mc ] );</p><p></p><p>Lemma. The homomorphism φ : M A → A M map word w + v ∈ M A free left module M A over free algebra A to the matrix φ ( w ) = P i , j , where P i , j ? path that the the two word w , v from state q i to state q j [<xref ref-type="bibr" rid="scirp.138718-ref5">5</xref>] [<xref ref-type="bibr" rid="scirp.138718-ref6">6</xref>].</p><p>Example is continued:</p><p>For automaton, N A we have the results:</p><p>gap&gt; P1:=Ga^3+Gb*Ga*Gc^2;</p><p>[ [ (1)*a^3, (1)*a^3, ],</p><p>[ (1)*b*a*b^2, , ],</p><p>[ (1)*a^3+(1)*b*a*b^2, (1)*a^3, ] ]</p><p>gap&gt; P2:= Ga^2+Gb^2*Ga*Gc^2+Ga*Gb*Gc^2*Ga^5;</p><p>[ [ (1)*a^2+(2)*b^2*a*b^2+(2)*a*b^3*a^5,(1)*a^2+(2)*a*b^3*a^5, ],</p><p>[ (1)*b^2*a*b^2, , ],</p><p>[ (1)*a^2+(1)*a*b^3*a^5, (1)*a^2+(1)*a*b^3*a^5, ]]</p><p>The results are for matrices P1 show the path from state q 1 to state #Math_243# by the word w = a ^ 3 and for matrices P2 to from state q 3 to state q 2 by the word w = a ∗ b ^ 3 ∗ a ^ 5 .</p></sec><sec id="s4"><title>4. Apply Computer Discrete Algebra System GAP for Find Normal Form of State Languages for Automaton</title><p>The computer discrete algebra system GAP has more than 130 different packages. The package name KBMag reflects the Knuth-Bendix algorithm and program for constructing a rewriting system from a finitely presented semigroup, monoid or group.</p><p>The words in a rewriting system created in GAP for use by KBMag are defined over an alphabet that consists of the generators of a free monoid, called the word-monoid of the system.</p><p>First, we define nondeterministic automaton N A :</p><p>gap&gt; aut1:= NFAtoDFA( naut1 );</p><p>&lt; deterministic automaton on 3 letters with 7 states &gt;</p><p>gap&gt; Display(aut1);</p><p>| 1 2 3 4 5 6 7</p><p>--------------------------</p><p>a | 2 2 1 4 2 1 2</p><p>b | 3 5 2 4 5 1 5</p><p>c | 4 6 7 4 7 1 1</p><p>Initial state: [ 1 ]</p><p>Accepting states: [ 2, 3, 5, 6, 7 ]</p><p>gap&gt; ta:=Transformation([ 2, 2, 1, 4, 2, 1, 2]);</p><p>Transformation( [ 2, 2, 1, 4, 2, 1, 2 ] )</p><p>gap&gt; tb:=Transformation([ 3, 5, 2, 4, 5, 1, 5]);</p><p>Transformation( [ 3, 5, 2, 4, 5, 1, 5 ] )</p><p>gap&gt; tc:=Transformation([ 4, 6, 7, 4, 7, 1, 1]);</p><p>Transformation( [ 4, 6, 7, 4, 7, 1, 1 ] )</p><p>gap&gt; ma1:=Monoid([ta,tb,tc]);</p><p></p><p>gap&gt; Size(ma1);</p><p>73</p><p>Then we construct syntactic monoid for transformation states of deterministic automaton aut1. The size of syntactic monoid ma1 is equal 73.</p><p>MappingByFunction( ,</p><p>[ m1, m2, m3 ]&gt;, function( x ) ... end, function( x ) ... end )</p><p>gap&gt; m1:=Image(mhom1);</p><p></p><p>gap&gt; k1:=KnuthBendixRewritingSystem(m1);</p><p>R := KBMAGRewritingSystem( m1 );</p><p>gap&gt; Size( R );</p><p>73</p><p>gap&gt; GrowthFunction( R );</p><p>x_1^6+12*x_1^5+25*x_1^4+22*x_1^3+9*x_1^2+3*x_1+1</p><p>Returns the growth function of the set of irreducible words in the rewriting system R . This is a rational function, of which the coefficient of x ^ n in its Taylor expansion is equal to the number of irreducible words of length n .</p><p>This deterministic automaton aut1 seven states and the syntactic monoid ma1 has seven congruence classes.</p></sec><sec id="s5"><title>5. Conclusions</title><p>The system GAP has many packages to solve problems with finite automata, formal languages and other algebraic structures: monoid, free algebra, matrix algebra.</p><p>Usage system GAP for: solving the systems of equations for finite automata, finding the regular expressions for languages describing state-to-state paths, using a rewriting system to reduce regular expression and transform it into its normal form.</p></sec><sec id="s6"><title>Funding</title><p>This work is supported by a grant from the research program of Chinese universities “Higher Education Stability Support Program” (Section “Shenzhen 2022 Science, Technology and Innovation Commission of Shenzhen Municipality”).</p></sec><sec id="s7"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec></body><back><ref-list><title>References</title><ref id="scirp.138718-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Aho, A. and Ullman, J. (1973) The Theory of Parsing, Translation, and Compiling. Prentice Hall.</mixed-citation></ref><ref id="scirp.138718-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Leiss, E. (1999) Language Equations. Springer-Verlag.  
https://doi.org/10.1007/978-1-4612-2156-2</mixed-citation></ref><ref id="scirp.138718-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Brauer, W. (1984) Automation Theory: An Introduction to the Theory of Finite Automata. Vieweg + Teubner Verlag.</mixed-citation></ref><ref id="scirp.138718-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Rozenberg, G. and Salomaa A. (1997) Handbook of Formal Languages. Volume 1. Word, Language, Grammar. Academic Press.  
https://doi.org/10.1007/978-3-642-59136-5</mixed-citation></ref><ref id="scirp.138718-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Lallement, G. (1979) Semigroups and Combinatorial Applications. Wiley &amp; Sons, 376.</mixed-citation></ref><ref id="scirp.138718-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Berstel, J. and Perrin, D. (2008) Theory of Codes. Academic Press, 345.</mixed-citation></ref><ref id="scirp.138718-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Winberg, E.B. (2005) Course of Algebra. M. Factorial Press. (In Russian)</mixed-citation></ref><ref id="scirp.138718-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Berstel, J. and Perrin, D. (2005) Codes and Automata. Springer, 545.</mixed-citation></ref><ref id="scirp.138718-ref9"><label>9</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Melnikov</surname><given-names> B. </given-names></name>,<etal>et al</etal>. (<year>2017</year>)<article-title>The Complete Finite Automaton</article-title><source> International Journal of Open Information Technologies</source><volume> 5</volume>,<fpage> 9</fpage>-<lpage>17</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.138718-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Melnikov, B. (2018) Regular Languages and Nondeterministic Finite Automata. RGSU Publisher. (In Russian)</mixed-citation></ref><ref id="scirp.138718-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Melnikov, B. and Dolgov, V. (2022) Simplified Regular Languages and a Special Equivalence Relation on the Class of Regular Languages. Part I. International Journal of Open Information Technologies, 10, 12-20. (In Russian)</mixed-citation></ref><ref id="scirp.138718-ref12"><label>12</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Abramyan</surname><given-names> M. </given-names></name>,<etal>et al</etal>. (<year>2021</year>)<article-title>Computing the Weight of Subtasks in State Minimization of Nondeterministic Finite Automata by the Branch and Bound Method. University proceedings. Volga Region</article-title><source> Physical and Mathematical Sciences</source><volume> 2</volume>,<fpage> 46</fpage>-<lpage>52</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref></ref-list></back></article>