nLab nondeterministic automaton

Non-deterministic automata

Non-deterministic automata


(For the moment, mostly as an example of a coalgebra for an endofunctor and to start discussion of models for non-determinism.)

This will give the classical definition as a non-deterministic state-based system and then show how to turn that form into the coalgebraic form.


A non-deterministic automaton consists of the following data:

  • a set of states, QQ;

  • a set, Σ\Sigma, of input symbols ;

  • a function, δ:Q×Σ𝒫(Q)\delta : Q\times \Sigma \to \mathcal{P}(Q), called the next state relation,


In the usual interpretation if the automaton is in state qq, and is ‘given’ the input σ\sigma, then it changes to being in one of the states in the subset, δ(q,σ)\delta(q,\sigma), of QQ.

The ‘final’ predicate, of course, returns \top if a state is a final state and \bot otherwise. (There will, in general, be a set of final or ‘accept’ states.)

(For the moment we will not look at the links between automata and languages.)


Coalgebraic description

The first step in transforming the above definition to the coalgebraic form is to curry δ\delta, so as to obtain it in the form δ:Q𝒫(Q) Σ\delta : Q\to \mathcal{P}(Q)^\Sigma. We thus have for a state, qQq\in Q, δ(q,):Σ𝒫(Q)\delta(q,) : \Sigma \to \mathcal{P}(Q). We then also have a product function

α=δ×(final):Q𝒫(Q) Σ×bool.\alpha = \delta \times (final) : Q \to \mathcal{P}(Q)^\Sigma\times bool.

If we now write HQ=𝒫(Q) Σ×boolHQ = \mathcal{P}(Q)^\Sigma\times bool, we get a functor (for you to check) H:SetSetH : Set \to Set and the non-deterministic automaton corresponded precisely to a coalgebra, (Q,α)(Q,\alpha), for HH.



See also:

Discussion via coalgebra:

  • Alexander Kurz: Coalgebras and Modal Logic. Course Notes for ESSLLI 2001, Version of October 2001. Appeared on the CD-Rom ESSLLI’01, Department of Philosophy, University of Helsinki, Finland, available from site.

Discussion of non-deterministic automata as 1-dimensional defect TQFTs:


Last revised on April 15, 2023 at 11:11:39. See the history of this page for a list of all contributions to it.