Abstract family of languages Created 2026-10-14 Updated 2026-11-05
An abstract family of languages is a family of formal languages containing a nonempty language and closed under finite union, concatenation of formal languages, positive closure of a formal language, nonerasing monoid homomorphisms between free word monoids, inverse homomorphisms, and intersection with regular languages. Here positive closure means , and nonerasing means that the homomorphism maps every alphabet letter to a nonempty word.
A full abstract family of languages allows arbitrary word homomorphisms, including ones that erase letters. This distinction matters: erasing an unbounded amount of a computation or derivation can change the resources needed to recognize the image language. The regular languages and context-free languages are full abstract families. In particular, the closure axioms say that if is context-free and is regular, then is context-free; they do not assert closure under intersection of two arbitrary context-free languages. The framework collects the common constructions without identifying the different language classes.[ref]
Automata theory 2026-11-05
Automata theory studies abstract machines, the formal languages they recognize and transformations between machine descriptions. The machine's permitted memory and transition rules determine its power. A finite-state automaton stores only one of finitely many states; a pushdown automaton additionally has a stack, while a Turing machine has unbounded working storage.
For example, a two-state finite-state automaton recognizes binary strings containing an even number of ones: reading1 switches state, reading0 preserves it, and the initial state is accepting. In contrast, recognizing all strings requires remembering an unbounded count, which a finite-state automaton cannot do. A pushdown automaton can push once per and pop once per . These comparisons separate language recognition from implementation details and motivate closure properties, minimization and decidability questions.
Combing of a group 2026-10-14
Choose a finite symmetric generating alphabet and one word representing each group element, with the empty word. The associated paths in the Cayley graph start at the identity and traverse one edge per unit time, remaining at their endpoint after completion. A synchronous combing has a constant such that paths to adjacent endpoints stay within at equal times. An asynchronous version permits increasing reparametrizations. The formal language need not be a regular language; regular synchronous representative languages define automatic groups.
Concatenation grammar Created 2026-09-24 Updated 2026-11-05
For context-free grammars and with disjoint nonterminal symbol sets, introduce a fresh nonterminal symbol and put
Then , the concatenation of the two formal languages. After the first production, every production rule acts within one of the two component parse trees. Their terminal words form one word from followed by one from . Conversely, any pair of component derivations can be performed after .
The construction does not work for arbitrary variable-based grammars. Let have production rules and , and let have the single production rule . Here is empty and , but the combined formal grammar derives . The production rule consumes a terminal symbol supplied by the other component, crossing the boundary that context-free grammar rules preserve.
Concatenation of formal languages Created 2026-10-05 Updated 2026-10-06
For formal languages over the same alphabet, concatenate each word over an alphabet in with each word over an alphabet in . This operation is associative, has identity and absorbing element the empty language.
Context-free language Created 2026-09-24 Updated 2026-11-05
A context-free language is a formal language generated by a context-free grammar, in which each production has exactly one nonterminal on its left side. Equivalently, it is recognized by a nondeterministic pushdown automaton.
For example, the grammar generates . A derivation adds one matching pair at a time, while the empty production stops the process. The language is not regular: matching the two unbounded counts requires more memory than a finite-state recognizer provides. Context-free languages describe many nested structures, including balanced delimiters and recursive expression syntax.
Store the start nonterminal symbol on a stack. An epsilon transition nondeterministically replaces its top nonterminal symbol by a production rule right-hand side. A top terminal symbol can be removed only while consuming the same input symbol. With a protected stack bottom marker, enter a final control state when that marker is exposed. Requiring all input to have been read implements acceptance by final state. The stack records the unprocessed suffix of a leftmost derivation, proving equality of the recognized and generated formal languages.
co-P 2026-10-31
The complexity class of complements of formal languages in P. A deterministic polynomial-time algorithm deciding a formal language can have its accepting and rejecting outcomes interchanged, so P is closed under complement and equals co-P.
A formal language whose complement of a set, relative to the set of all input words, is a recursively enumerable language. A recognizer for the complement detects every negative instance eventually and need not halt on positive instances. A formal language is a decidable language exactly when it and its complement are both recursively enumerable languages.
Dead state of a finite automaton Created 2026-10-06 Updated 2026-10-14
A dead state of a finite automaton has no path to an accepting state. In a complete deterministic finite automaton, all dead states may be merged into one rejecting sink without changing the accepted formal language.
Decision problem 2026-09-24
A decision problem asks for one of two answers, conventionally encoded as zero and one. Equivalently, it asks whether an input belongs to a formal language.
Deterministic finite automaton Created 2026-09-24 Updated 2026-10-14
A deterministic finite automaton has exactly one automaton transition for every automaton state and input symbol. Formally, a DFA is a tuple : is a nonempty finite set of automaton states, a finite alphabet, a function, the initial automaton state, and the accepting automaton states. Its unique path on a word accepts if it ends in after consuming the entire input. Visiting earlier does not suffice.
For a concrete binary divisibility automaton, recognize the words whose values in the binary numeral system are divisible by three. Choose , , , and . Each automaton state names the congruence class of the integer read so far. Appending a binary digit changes its value to , so the automaton transition is
The modular arithmetic therefore needs only three automaton states, whatever the input length. The full function is , , , , , and .
Figure 1.
A three-state DFA for binary digits representing integers divisible by three, with accepted and rejected traces
. Details.
For , the successive automaton states are , so the word is accepted. For , they are , so it is rejected. Leading zeros are allowed: they leave the initial automaton state unchanged. We explicitly assign value zero to the empty word, which is accepted because the initial automaton state is accepting. This is a convention for a formal language, rather than a claim that ordinary written numerals include a blank numeral.
The generator checks every word of up to eight binary digits, comparing the final automaton state with the integer value modulo three. Each length includes all words, preserving leading zeros as distinct inputs:
Length Words checkedAccepted by the DFAValues divisible by three
0111
1211
2422
3833
41666
5321111
6642222
71284343
82568686
All 511 checks agree. They are useful for catching a reversed arrow or mistaken label, but the reason the DFA works at every length is its invariant: after reading any word of value , its automaton state is . The update preserves that statement by mathematical induction. Through the extended transition function of a deterministic finite automaton, this becomes .
Empty language 2026-10-05
The formal language containing no words over an alphabet. It differs from the language containing only the empty word, which is a multiplicative identity for concatenation of formal languages.
EXPTIME 2026-10-31
The complexity class of formal languages decidable in deterministic exponential time. It contains NP: enumerate the finitely many choices of a polynomial-length nondeterministic computation and simulate each branch with a polynomial time cutoff. There are at most branches for fixed branching bound and polynomial .
A finite-state automaton recognizes a nonempty formal language exactly when some accepting automaton state is reachable from an initial automaton state. Reachability in a graph decides this in a finite transition graph. For an Epsilon-NFA, include its epsilon transitions; the non-epsilon labels of a successful graph path give an accepted word.
Finite language 2026-10-31
A formal language with finitely many words. Every finite language is a regular language: take a finite union of the regular expressions spelling its members, with the empty language represented separately when there are no members.
Finite model theory Created 2026-10-14 Updated 2026-11-05
Finite model theory studies first-order structures restricted to finite domains, and asks which properties can be expressed in specified formal languages. The restriction changes the available tools: ordinary first-order compactness does not hold when only finite models are admitted.
For example, the sentences saying there are at least distinct elements, one for every positive integer , have a finite model for each finite subset but no common finite model. This is a direct failure of finite compactness. Logical games, locality, and bounded-variable fragments then compare the expressive power of formulas on finite databases and graphs, linking definability with computational complexity theory.
Finite-state machine 2026-10-14
A finite-state machine processes inputs using a finite set of automaton states and input-dependent automaton transitions. An automaton state records everything the machine remembers; an automaton transition says how that memory changes on the next symbol. A finite-state machine may also emit outputs. Here the emphasis is on recognizing a formal language: start in a designated automaton state, read a word from an alphabet, and accept exactly when the final automaton state is designated accepting.
Finite memory does not impose a maximum input length. A finite-state machine can read arbitrarily long words, revisiting its automaton states indefinitely. The restriction is that the part already read must be compressed into one of finitely many summaries. For divisibility by three, a word of binary digits can describe an enormous integer, yet its congruence class modulo three is all that the machine needs to retain. Two already-read words giving the same automaton state behave identically under every subsequent continuation in a DFA.
This makes finite-state machines useful whenever past details can be forgotten safely: checking whether a sequence of commands follows an allowed order, or recognizing a pattern with a regular expression. The beautiful design question is which distinctions about the past matter to the future. DFA minimization makes that question precise by merging indistinguishable states of a deterministic finite automaton. Both DFAs and NFAs recognize exactly the regular languages.
Formal grammar Created 2026-09-24 Updated 2026-11-05
A formal grammar specifies how to generate a formal language by repeated applications of production rules. Write , where is a finite set of nonterminal symbols, is a disjoint finite alphabet of terminal symbols, is the start symbol, and is a finite set of production rules . In an unrestricted formal grammar, the word must contain at least one nonterminal symbol; may be any word over .
A grammar derivation replaces an occurrence of inside a word by . The generated formal language is
Intermediate words may still contain nonterminal symbols; these are sentential forms. For example, the production rules and give and generate exactly . Restricting each left side to one nonterminal symbol gives a context-free grammar.[ref]
Formal language Created 2026-09-24 Updated 2026-11-05
A formal language over a fixed finite alphabet is a set of finite words. Here contains every finite word over , including the empty word . A formal language may contain finitely or infinitely many such words.[ref]
For example, over contains , ab and aaabbb, but not abab. The notation specifies a set of permitted words; it does not itself give a running time for deciding membership. The empty language contains no words, whereas contains one.
Concatenation of formal languages combines permitted words from two formal languages. Automata theory and computability theory ask which machine models can recognize such sets, while computational complexity theory asks what resources membership decisions require.