# Abstract family of acceptors

An abstract family of acceptors (AFA) is a grouping of generalized acceptors. Informally, an acceptor is a device with a finite state control, a finite number of input symbols, and an internal store with a read and write function. Each acceptor has a start state and a set of accepting states. The device reads a sequence of symbols, transitioning from state to state for each input symbol. If the device ends in an accepting state, the device is said to accept the sequence of symbols. A family of acceptors is a set of acceptors with the same type of internal store. The study of AFA is part of AFL (abstract families of languages) theory.

## Formal definitions
### AFA Schema

An AFA Schema is an ordered 4-tuple $(\Gamma ,I,f,g)$, where
* $\Gamma$ and $I$ are nonempty abstract sets.
* $f$ is the write function: $f:\Gamma ^{*}\times I\rightarrow \Gamma ^{*}\cup \{\emptyset \}$ (N.B. * is the Kleene star operation).
* $g$ is the read function, a mapping from $\Gamma ^{*}$ into the finite subsets of $\Gamma ^{*}$, such that $g(\epsilon )=\{\epsilon \}$ and $\epsilon$ is in $g(\gamma )$ if and only if $\gamma =\epsilon$. (N.B. $\epsilon$ is the empty word).
* For each $\gamma$ in $g(\Gamma ^{*})$, there is an element $1_{\gamma }$ in $I$ satisfying $f(\gamma ',1_{\gamma })=\gamma '$ for all $\gamma '$ such that $\gamma$ is in $g(\gamma ')$.
* For each u in I, there exists a finite set $\Gamma _{u}$ ⊆ $\Gamma$, such that if $\Gamma _{1}$ ⊆ $\Gamma$, $\gamma$ is in $\Gamma _{1}^{*}$, and $f(\gamma ,u)\neq \emptyset$, then $f(\gamma ,u)$ is in $(\Gamma _{1}\cup \Gamma _{u})^{*}$.

### Abstract family of acceptors

An abstract family of acceptors (AFA) is an ordered pair $(\Omega ,{\mathcal {D}})$ such that:
* $\Omega$ is an ordered 6-tuple ($K$, $\Sigma$, $\Gamma$, $I$, $f$, $g$), where
** ($\Gamma$, $I$, $f$, $g$) is an AFA schema; and
** $K$ and $\Sigma$ are infinite abstract sets
* ${\mathcal {D}}$ is the family of all acceptors $D$ = ($K_{1}$, $\Sigma _{1}$, $\delta$, $q_{0}$, $F$), where
** $K_{1}$ and $\Sigma _{1}$ are finite subsets of $K$, and $\Sigma$ respectively, $F$ ⊆ $K_{1}$, and $q_{0}$ is in $K_{1}$; and
** $\delta$ (called the transition function) is a mapping from $K_{1}\times (\Sigma _{1}\cup \{\epsilon \})\times g(\Gamma ^{*})$ into the finite subsets of $K_{1}\times I$ such that the set $G_{D}=\{\gamma$ | $\delta (q,a,\gamma )$ ≠ ø for some $q$ and $a\$ is finite.
For a given acceptor, let $\vdash$ be the relation on $K_{1}\times \Sigma _{1}^{*}\times \Gamma ^{*}$ defined by: For $a$ in $\Sigma _{1}\cup \{\epsilon \}$, $(p,aw,\gamma )\vdash (p',w,\gamma ')$ if there exists a ${\overline {\gamma }}$ and $u$ such that ${\overline {\gamma }}$ is in $g(\gamma )$, $(p',u)$ is in $\delta (p,a,{\overline {\gamma }})$ and $f(\gamma ,u)=\gamma '$. Let $\vdash ^{*}$ denote the transitive closure of $\vdash$.
Let $(\Omega ,{\mathcal {D}})$ be an AFA and $D$ = ($K_{1}$, $\Sigma _{1}$, $\delta$, $q_{0}$, $F$) be in $D$. Define $L(D)$ to be the set $\{w\in \Sigma _{1}^{*}|\exists q\in F.(q_{0},w,\epsilon )\vdash ^{*}(q,\epsilon ,\epsilon )\}$. For each subset ${\mathcal {E}}$ of ${\mathcal {D}}$, let ${\mathcal {L}}({\mathcal {E}})=\{L(D)|D\in {\mathcal {E}}\}$.
Define $L_{f}(D)$ to be the set $\{w\in \Sigma _{1}^{*}|\exists (q\in F)\exists (\gamma \in \Gamma ^{*}).(q_{0},w,\epsilon )\vdash ^{*}(q,\epsilon ,\gamma )\}$. For each subset ${\mathcal {E}}$ of ${\mathcal {D}}$, let ${\mathcal {L}}_{f}({\mathcal {E}})=\{L_{f}(D)|D\in {\mathcal {E}}\}$.

## Informal discussion
### AFA Schema

An AFA schema defines a store or memory with read and write function. The symbols in $\Gamma$ are called storage symbols and the symbols in $I$ are called instructions. The write function $f$ returns a new storage state given the current storage state and an instruction. The read function $g$ returns the current state of memory. Condition (3) insures the empty storage configuration is distinct from other configurations. Condition (4) requires there be an identity instruction that allows the state of memory to remain unchanged while the acceptor changes state or advances the input. Condition (5) assures that the set of storage symbols for any given acceptor is finite.

### Abstract family of acceptors

An AFA is the set of all acceptors over a given pair of state and input alphabets which have the same storage mechanism defined by a given AFA schema. The $\vdash$ relation defines one step in the operation of an acceptor. $L_{f}(D)$ is the set of words accepted by acceptor $D$ by having the acceptor enter an accepting state. $L(D)$ is the set of words accepted by acceptor $D$ by having the acceptor simultaneously enter an accepting state and having an empty storage.
The abstract acceptors defined by AFA are generalizations of other types of acceptors (e.g. finite-state automata, pushdown automata, etc.). They have a finite state control like other automata, but their internal storage may vary widely from the stacks and tapes used in classical automata.

## Results from AFL theory

The main result from AFL theory is that a family of languages ${\mathcal {L}}$ is a full AFL if and only if ${\mathcal {L}}={\mathcal {L}}({\mathcal {D}})$ for some AFA $(\Omega ,{\mathcal {D}})$. Equally important is the result that ${\mathcal {L}}$ is a full semi-AFL if and only if ${\mathcal {L}}={\mathcal {L}}_{f}({\mathcal {D}})$ for some AFA $(\Omega ,{\mathcal {D}})$.

## Origins

Seymour Ginsburg of the University of Southern California and Sheila Greibach of Harvard University first presented their AFL theory paper at the IEEE Eighth Annual Symposium on Switching and Automata Theory in 1967.