<?xml version="1.0" encoding="UTF-8"?>

<record version="21" id="430">
 <title>category of automata</title>
 <name>CategoryOfAutomata</name>
 <created>2009-01-25 18:15:35</created>
 <modified>2009-01-27 23:37:04</modified>
 <type>Definition</type>
 <creator id="441" name="bci1"/>
 <modifier id="441" name="bci1"/>
 <author id="441" name="bci1"/>
 <classification>
	<category scheme="msc" code="00."/>
	<category scheme="msc" code="02."/>
	<category scheme="msc" code="03."/>
 </classification>
 <defines>
	<concept>categorical automaton</concept>
	<concept>automata homomorphism</concept>
	<concept>automaton configuration</concept>
	<concept>sequential machine</concept>
	<concept>fuzzy automaton</concept>
	<concept>computer simulations</concept>
	<concept>Universal Turing (UT) machines</concept>
	<concept>UT</concept>
	<concept>abstract automata theory (AAT)</concept>
	<concept>AAT</concept>
	<concept>abstract computer programming theory (ACPT)</concept>
 </defines>
 <synonyms>
	<synonym concept="category of automata" alias="Universal Turing (UT) machines"/>
	<synonym concept="category of automata" alias="UTs"/>
 </synonyms>
 <related>
	<object name="Supercomputer"/>
	<object name="Automaton2"/>
	<object name="CategoriesOfQuantumAutomataAndQuantumComputers"/>
 </related>
 <keywords>
	<term>categories of automata and their transformations</term>
	<term>algebraic theories</term>
	<term>structure and semantics</term>
	<term>universal Turing machines</term>
	<term>variable automata</term>
	<term>fuzzy automata</term>
	<term>semigroups</term>
	<term>semigroup homomorphisms</term>
	<term>automata homomorphisms</term>
	<term>Cartesian closed category</term>
 </keywords>
 <preamble>% this is the default PlanetMath preamble. as your knowledge
% almost certainly you want these
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsfonts}

% define commands here
\usepackage{amsmath, amssymb, amsfonts, amsthm, amscd, enumerate}
\usepackage{xypic, xspace}
\usepackage[mathscr]{eucal}
\usepackage[dvips]{graphicx}
\usepackage[curve]{xy}
\theoremstyle{plain}
\newtheorem{lemma}{Lemma}[section]
\newtheorem{proposition}{Proposition}[section]
\newtheorem{theorem}{Theorem}[section]
\newtheorem{corollary}{Corollary}[section]
\theoremstyle{definition}
\newtheorem{definition}{Definition}[section]
\newtheorem{example}{Example}[section]
\newtheorem{remark}{Remark}[section]
\newtheorem*{notation}{Notation}
\newtheorem*{claim}{Claim}
\renewcommand{\thefootnote}{\ensuremath{\fnsymbol{footnote}}}
\numberwithin{equation}{section}
\newcommand{\Ad}{{\rm Ad}}
\newcommand{\Aut}{{\rm Aut}}
\newcommand{\Cl}{{\rm Cl}}
\newcommand{\Co}{{\rm Co}}
\newcommand{\DES}{{\rm DES}}
\newcommand{\Diff}{{\rm Diff}}
\newcommand{\Dom}{{\rm Dom}}
\newcommand{\Hol}{{\rm Hol}}
\newcommand{\Mon}{{\rm Mon}}
\newcommand{\Hom}{{\rm Hom}}
\newcommand{\Ker}{{\rm Ker}}
\newcommand{\Ind}{{\rm Ind}}
\newcommand{\IM}{{\rm Im}}
\newcommand{\Is}{{\rm Is}}
\newcommand{\ID}{{\rm id}}
\newcommand{\grpL}{{\rm GL}}
\newcommand{\Iso}{{\rm Iso}}
\newcommand{\rO}{{\rm O}}
\newcommand{\Sem}{{\rm Sem}}
\newcommand{\SL}{{\rm Sl}}
\newcommand{\St}{{\rm St}}
\newcommand{\Sym}{{\rm Sym}}
\newcommand{\Symb}{{\rm Symb}}
\newcommand{\SU}{{\rm SU}}
\newcommand{\Tor}{{\rm Tor}}
\newcommand{\U}{{\rm U}}
\newcommand{\A}{\mathcal A}
\newcommand{\Ce}{\mathcal C}
\newcommand{\E}{\mathcal E}
\newcommand{\F}{\mathcal F}
%\newcommand{\grp}{\mathcal G}
\renewcommand{\H}{\mathcal H}
\renewcommand{\cL}{\mathcal L}
\newcommand{\Q}{\mathcal Q}
\newcommand{\R}{\mathcal R}
\newcommand{\cS}{\mathcal S}
\newcommand{\cU}{\mathcal U}
\newcommand{\W}{\mathcal W}
\newcommand{\bA}{\mathbb{A}}
\newcommand{\bB}{\mathbb{B}}
\newcommand{\bC}{\mathbb{C}}
\newcommand{\bD}{\mathbb{D}}
\newcommand{\bE}{\mathbb{E}}
\newcommand{\bF}{\mathbb{F}}
\newcommand{\bG}{\mathbb{G}}
\newcommand{\bK}{\mathbb{K}}
\newcommand{\bM}{\mathbb{M}}
\newcommand{\bN}{\mathbb{N}}
\newcommand{\bO}{\mathbb{O}}
\newcommand{\bP}{\mathbb{P}}
\newcommand{\bR}{\mathbb{R}}
\newcommand{\bV}{\mathbb{V}}
\newcommand{\bZ}{\mathbb{Z}}
\newcommand{\bfE}{\mathbf{E}}
\newcommand{\bfX}{\mathbf{X}}
\newcommand{\bfY}{\mathbf{Y}}
\newcommand{\bfZ}{\mathbf{Z}}
\renewcommand{\O}{\Omega}
\renewcommand{\o}{\omega}
\newcommand{\vp}{\varphi}
\newcommand{\vep}{\varepsilon}
\newcommand{\diag}{{\rm diag}}
\newcommand{\grp}{\mathcal G}
\newcommand{\dgrp}{{\mathsf{D}}}
\newcommand{\desp}{{\mathsf{D}^{\rm{es}}}}
\newcommand{\hgr}{{\mathsf{H}}}
\newcommand{\mgr}{{\mathsf{M}}}
\newcommand{\ob}{{\rm Ob}}
\newcommand{\obg}{{\rm Ob(\mathsf{G)}}}
\newcommand{\obgp}{{\rm Ob(\mathsf{G}')}}
\newcommand{\obh}{{\rm Ob(\mathsf{H})}}
\newcommand{\Osmooth}{{\Omega^{\infty}(X,*)}}
\newcommand{\grphomotop}{{\rho_2^{\square}}}
\newcommand{\grpcalp}{{\mathsf{G}(\mathcal P)}}
\newcommand{\rf}{{R_{\mathcal F}}}
\newcommand{\grplob}{{\rm glob}}
\newcommand{\loc}{{\rm loc}}
\newcommand{\TOP}{{\rm TOP}}
\newcommand{\wti}{\widetilde}
\newcommand{\what}{\widehat}
\renewcommand{\a}{\alpha}
\newcommand{\be}{\beta}
\newcommand{\de}{\delta}
\newcommand{\del}{\partial}
\newcommand{\ka}{\kappa}
\newcommand{\si}{\sigma}
\newcommand{\ta}{\tau}
\newcommand{\lra}{{\longrightarrow}}
\newcommand{\ra}{{\rightarrow}}
\newcommand{\rat}{{\rightarrowtail}}
\newcommand{\ovset}[1]{\overset {#1}{\ra}}
\newcommand{\ovsetl}[1]{\overset {#1}{\lra}}</preamble>
 <content>\begin{definition}  A {\em categorical automaton} $\A_C$ or {\em discrete and finite/countable, categorical dynamic system} can also be defined by a commutative square diagram containing all of the above components and assuming that $S_A$ is either a countable or finite set of discrete states.
\end{definition}

With the above definition one can now define morphisms between automata and their composition.

\begin{definition} A \emph{homomorphism of automata} is a morphism of automata quintuples that preserves commutativity of the set-theoretical mapping compositions of both the transition function $\delta$ and the output function $\lambda$.
\end{definition}

With the above two definitions now we have sufficient data to define the category of automata and automaton homomorphisms.

\begin{definition}
The \emph{category of automata} is a category of automata quintuples
$(I_X, O_X, X, {\delta}_X: I_X \times X \rightarrow X; {\lambda}_X: X \times X \rightarrow O)$ and automata homomorphisms $h:{\A}_i \rightarrow {\A}_j$,
such that these homomorphisms commute with both the transition and the output functions of any automata ${\A}_i$ and ${\A}_j$.
\end{definition}

\textbf{Remarks:}
\begin{enumerate}
\item Automata homomorphisms can be considered also as automata {\em transformations} or as semigroup homomorphisms, when the state space, $X$, of the automaton is defined as a \emph{semigroup} $\mathcal{S}$.
\item Abstract automata have numerous realizations in the real world as : machines, robots, devices, computers, supercomputers, always considered as \emph{discrete} state space sequential machines.
\item Fuzzy or analog devices are not included as standard automata.
\item Similarly, \emph{variable (transition function)} automata are not included, but Universal Turing (UT) machines are.
\end{enumerate}

\begin{definition} An alternative definition of an automaton is also in use:
as a five-tuple $(S, \Sigma, \delta, I, F)$, where $\Sigma$ is a non-empty set of symbols
$\alpha$ such that one can define a {\em configuration} of the automaton as a couple
$(s,\alpha)$ of a state $s \in S $ and a symbol $\alpha \in \Sigma $. Then $\delta$
defines a ``next-state relation, or a transition relation'' which associates to each configuration
$(s, \alpha)$ a subset $\delta (s,\alpha)$ of S- the state space of the automaton.
With this formal automaton definition, the \emph{category of abstract automata} can be defined by specifying automata homomorphisms in terms of the morphisms between five-tuples representing such abstract automata.
\end{definition}


\begin{example} 
 A special case of automaton is when all its transitions are {\em reversible}; then its state space is a groupoid. The {\em category of reversible automata} is then a 2-category, and also a subcategory of the 2-category of groupoids, or the groupoid category.  
\end{example}</content>
</record>
