Jump to content

Semilinear set

From Wikipedia, the free encyclopedia

In mathematics and theoretical computer science, a semilinear set (also written semi-linear set) is a set of vectors of natural numbers or integers that can be built from finitely many linear sets, each generated by a base vector together with finitely many period vectors. Semilinear sets are a higher-dimensional analogue of an arithmetic progression: where a progression is generated by repeatedly adding one common difference, a linear set is generated by repeatedly adding any of several period vectors, in any combination and any number of times.

Their importance rests on a series of equivalences established in the 1960s. The semilinear sets are exactly the sets definable in Presburger arithmetic,[1] exactly the rational subsets of the commutative monoid ,[2] and exactly the sets arising as commutative images of context-free languages.[3] They therefore serve as a finite, effective representation of certain infinite sets of integer vectors, and are used throughout formal language theory, verification and related areas.[4][5]

Definition

[edit]

A subset is linear if it is of the form where and are fixed vectors in , called the base vector and the period vectors respectively. A subset of is semilinear if it is a finite union of linear sets.[6][1]

The number of periods may be zero, so that every singleton is linear; the empty set is semilinear as the empty union. A pair consisting of a base vector and a finite set of period vectors is called a representation of the linear set it generates, and a finite collection of such pairs a representation of the semilinear set they generate; representations are not unique.

A linear set with a single period vector is the set of terms of the arithmetic progression , and a general linear set is generated in the same way but from several common differences at once, applied in any combination and any number of times. The coefficients are unbounded, which distinguishes a linear set from a finite generalized arithmetic progression, where each coefficient is restricted to a bounded range.

Variants

[edit]

The same definition is used for subsets of , where the base and period vectors are allowed to have negative entries, while the coefficients still range over ; in that setting the semilinear sets are the rational subsets of the group .[4] More generally, the definition makes sense in any finitely generated commutative monoid: a subset is linear if it has the form , where is an element of the monoid and is the submonoid generated by a finite set , and semilinear if it is a finite union of such sets.[2][7]

Because of the equivalence with definability in Presburger arithmetic, semilinear sets are also called Presburger sets or Presburger-definable sets.[5]

Examples

[edit]
  • Every finite subset of is semilinear: it is the union of one linear set per element, each with that element as base and no period vectors.
  • The set of even natural numbers is the linear set with base and single period , and more generally each arithmetic progression is the linear set with base and single period .
  • A linear set need not be an arithmetic progression. The linear set with base and periods and is the numerical semigroup , which omits and ; the largest omitted value is the Frobenius number .[8] The same set also has a representation as a union of five linear sets, namely the singletons together with the set of base and period , which illustrates that representations are not unique.
  • In , the set is linear, with base and period ; so is , with base and periods and , its elements being the vectors for .
  • The union of the two coordinate axes of is semilinear, being the union of the linear set with base and period and the linear set with base and period . It is not itself linear: a linear set containing and has base and both vectors among its periods, and therefore also contains .
  • The set of powers of two is not semilinear, since the semilinear subsets of are exactly the ultimately periodic sets.[9] For the same reason the set of primes and the set of squares are not semilinear.
  • The integer points of a rational cone form a monoid generated by an integral Hilbert basis, which may properly contain the extreme rays.[10] The set of integer points of the cone generated by and is linear, with base and periods , and . The two generators alone do not suffice, since lies in the cone but is not a non-negative integer combination of them. With all three periods, the elements with second coordinate are exactly the pairs with , because the sums of values drawn from are precisely the integers from to . Each row of the set is therefore an unbroken interval, three points wider at every step, and the rows continue upwards without bound:

Equivalent characterisations

[edit]

Presburger arithmetic

[edit]

Seymour Ginsburg and Edwin Spanier proved that the semilinear sets coincide with the sets defined by Presburger formulas, so that every such set has both an "internal" description as a finite union of linear sets and an "external" description by a formula of Presburger arithmetic, each effectively obtainable from the other.[11]

Rational sets

[edit]

Samuel Eilenberg and Marcel-Paul Schützenberger showed that the semilinear sets are precisely the rational subsets of the commutative monoid , that is, the sets obtainable from finite sets by union, elementwise addition and iteration.[2]

Parikh images

[edit]

The Parikh image of a word over an alphabet of letters is the vector in recording how many times each letter occurs; the Parikh image of a language is the set of images of its words. Parikh's theorem states that the Parikh image of every context-free language is semilinear; conversely every semilinear set is the Parikh image of a regular language, so that every context-free language has the same Parikh image as some regular language.[3]

Solutions of linear systems

[edit]

The set of solutions in of a finite system of linear equalities and inequalities with integer coefficients is semilinear, since such a system is expressible as a quantifier-free Presburger formula; the same holds for finite unions of such solution sets.[12]

Closure properties

[edit]

The equivalence with Presburger arithmetic gives closure under the Boolean operations of union, intersection and complement, and under projection, since the corresponding operations on formulas are disjunction, conjunction, negation and existential quantification.[1] Closure under intersection and complement is not apparent from the definition: the intersection of two linear sets need not be linear, and the complement of a linear set need not be. Eilenberg and Schützenberger derived the same closure properties algebraically, showing that the rational subsets of a finitely generated commutative monoid form a Boolean algebra.[2]

Semilinear sets are also closed under elementwise addition and under iteration, both immediately from the description as rational sets,[2] and under images and preimages of affine maps with integer coefficients.[4]

Algorithmic properties

[edit]

Presburger arithmetic is decidable, a result of Mojżesz Presburger.[13] Since a semilinear representation and a defining Presburger formula can each be computed from the other, membership, emptiness, inclusion and equivalence questions for semilinear sets can be phrased as Presburger sentences and settled by the decision procedure, in either presentation.[12]

These procedures are expensive in general: deciding the truth of a Presburger sentence requires doubly exponential nondeterministic time in the worst case. Satisfiability for the existential fragment, which suffices to express membership in a semilinear set given by a representation with binary-encoded vectors, is NP-complete.[5]

Descriptional complexity

[edit]

Semilinear sets are usually presented implicitly, by a Presburger formula or by other means rather than by an explicit list of base and period vectors, and the effect of Boolean operations on the size of a description had chiefly been studied for the explicit presentation. Dmitry Chistikov and Christoph Haase developed a framework for implicitly presented semilinear sets in which size is measured by the norm, the largest magnitude of a generator, and assembled a collection of operations and decompositions with bounds stated in those terms; their approach yields exponentially better bounds for complement and for set difference than were previously known.[4]

Bounds on the magnitude of minimal solutions to systems of linear integer equalities and inequalities, due to Joachim von zur Gathen and Malte Sieveking, underlie many such estimates.[14]

Applications

[edit]

Semilinearity is a recurring dividing line in the analysis of infinite-state systems, because a semilinear set of configurations can be manipulated symbolically and tested by the decision procedures for Presburger arithmetic. Oscar Ibarra showed that the reachability sets of reversal-bounded multicounter machines are effectively semilinear, which yields decidability of a range of verification questions for them.[15] By contrast, John Hopcroft and Jean-Jacques Pansiot showed that reachability sets of vector addition systems are effectively semilinear in dimension at most five but not in general, exhibiting a six-dimensional system whose reachability set is not semilinear.[16]

History

[edit]

The notion arose from work on formal language theory in the 1960s. Ginsburg and Spanier introduced bounded ALGOL-like languages in 1964, where linear and semilinear sets appear in the analysis of their structure,[17] and established the equivalence with Presburger arithmetic in 1966.[1] Rohit Parikh proved the semilinearity of the commutative images of context-free languages in a 1961 technical report, published in revised form in 1966,[3] and Eilenberg and Schützenberger gave the characterisation in terms of rational sets in 1969.[2]

See also

[edit]

Notes

[edit]

References

[edit]
[edit]