%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Chapter{Noninitial automata}

In this chapter we present the functionality applicable to noninitial automata.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Definition}

\Declaration{MealyAutomaton}
\Declaration{IsMealyAutomaton}
\Declaration{NumberOfStates}
\Declaration{SizeOfAlphabet}
\Declaration{AutomatonList}[automaton]!{ for automaton}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Tools}

\Declaration{IsTrivial}
\Declaration{IsInvertible}
\Declaration{MinimizationOfAutomaton}
\Declaration{MinimizationOfAutomatonTrack}
\Declaration{IsOfPolynomialGrowth}
\Declaration{IsBounded}
\Declaration{PolynomialDegreeOfGrowth}
\Declaration{AdjacencyMatrix}
\Declaration{IsAcyclic}
\Declaration{DualAutomaton}
\Declaration{InverseAutomaton}
\Declaration{IsBireversible}
\Declaration{IsReversible}
\Declaration{IsIRAutomaton}

The next three commands deal with the, so-called, MD-reduction procedure developed
in~\cite{AKL}. Particularly, according
to~\cite{KLI}, a 2-letter or 2-state invertible reversible automaton
generates a finite group if and only if the MD-reduction procedure terminates with the
trivial automaton. In this case an automaton is called MD-trivial.

\Declaration{MDReduction}
\Declaration{IsMDTrivial}
\Declaration{IsMDReduced}
\Declaration{DisjointUnion}
\>`<A> \* <B>'{product}!{ for noninitial automata}

Constructs the product of 2 noninitial automata <A> and <B>.
\beginexample
gap> A := MealyAutomaton("a=(a,b)(1,2), b=(a,b)");
<automaton>
gap> B := MealyAutomaton("c=(d,c), d=(c,e)(1,2), e=(e,d)");
<automaton>
gap> Print(A*B);
a1 = (a1, a5)(1,2), a2 = (a3, a4), a3 = (a2, a6)
(1,2), a4 = (a2, a4), a5 = (a1, a6)(1,2), a6 = (a3, a5)
\endexample

\Declaration{SubautomatonWithStates}
\Declaration{AutomatonNucleus}
\Declaration{AreEquivalentAutomata}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
