[Formula: see text] is a binary coded unary regular language, if there exists a unary regular language [Formula: see text] such that [Formula: see text] is in [Formula: see text] if and only if the binary representation of [Formula: see text] is in [Formula: see text]. If a unary language [Formula: see text] is accepted by a minimal deterministic finite automaton (DFA) [Formula: see text] with [Formula: see text] states, then its binary coded version [Formula: see text] is regular and can be accepted by a DFA [Formula: see text] using at most [Formula: see text] states, but at least [Formula: see text] states. There are witness languages matching these upper and lower bounds exactly, for each [Formula: see text]. More precisely, if [Formula: see text] uses [Formula: see text] states in the initial segment and [Formula: see text] states in the loop, where [Formula: see text] is odd and [Formula: see text], then the minimal [Formula: see text] for [Formula: see text] consists of a preamble with at most [Formula: see text] but at least [Formula: see text] states, except for [Formula: see text] with no preamble, and a kernel with at most [Formula: see text] but at least [Formula: see text] states. Also these lower bounds are matched exactly by witness languages, for each [Formula: see text]. If the length of the loop is fixed, the size of the preamble is bounded by [Formula: see text]. The conversion in the opposite way is not always granted: there are binary regular languages the unary versions of which are not even context free. The conversion of a unary nondeterministic finite automaton (NFA) to a binary NFA uses [Formula: see text] states and introduces a binary version of Chrobak normal form.
Read full abstract