In
mathematics
Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
, the lexicographic or lexicographical order (also known as lexical order, or dictionary order) is a generalization of the
alphabetical order of the
dictionaries to
sequence
In mathematics, a sequence is an enumerated collection of objects in which repetitions are allowed and order matters. Like a set, it contains members (also called ''elements'', or ''terms''). The number of elements (possibly infinite) is called ...
s of ordered symbols or, more generally, of elements of a
totally ordered set.
There are several variants and generalizations of the lexicographical ordering. One variant applies to sequences of different lengths by comparing the lengths of the sequences before considering their elements.
Another variant, widely used in
combinatorics
Combinatorics is an area of mathematics primarily concerned with counting, both as a means and an end in obtaining results, and certain properties of finite structures. It is closely related to many other areas of mathematics and has many a ...
, orders
subset
In mathematics, set ''A'' is a subset of a set ''B'' if all elements of ''A'' are also elements of ''B''; ''B'' is then a superset of ''A''. It is possible for ''A'' and ''B'' to be equal; if they are unequal, then ''A'' is a proper subset of ...
s of a given
finite set by assigning a total order to the finite set, and converting subsets into
increasing sequences, to which the lexicographical order is applied.
A generalization defines an order on a
Cartesian product
In mathematics, specifically set theory, the Cartesian product of two sets ''A'' and ''B'', denoted ''A''×''B'', is the set of all ordered pairs where ''a'' is in ''A'' and ''b'' is in ''B''. In terms of set-builder notation, that is
: A\t ...
of
partially ordered set
In mathematics, especially order theory, a partially ordered set (also poset) formalizes and generalizes the intuitive concept of an ordering, sequencing, or arrangement of the elements of a set. A poset consists of a set together with a binary ...
s; this order is a total order if and only if all factors of the Cartesian product are totally ordered.
Motivation and definition
The words in a
lexicon
A lexicon is the vocabulary of a language or branch of knowledge (such as nautical or medical). In linguistics, a lexicon is a language's inventory of lexemes. The word ''lexicon'' derives from Greek word (), neuter of () meaning 'of or fo ...
(the set of words used in some language) have a conventional ordering, used in
dictionaries and
encyclopedias
An encyclopedia (American English) or encyclopædia (British English) is a reference work or compendium providing summaries of knowledge either general or special to a particular field or discipline. Encyclopedias are divided into articles ...
, that depends on the underlying ordering of the alphabet of symbols used to build the words. The lexicographical order is one way of formalizing word order given the order of the underlying symbols.
The formal notion starts with a
finite set , often called the
alphabet
An alphabet is a standardized set of basic written graphemes (called letters) that represent the phonemes of certain spoken languages. Not all writing systems represent language in this way; in a syllabary, each character represents a syllab ...
, which is
totally ordered
In mathematics, a total or linear order is a partial order in which any two elements are comparable. That is, a total order is a binary relation \leq on some set X, which satisfies the following for all a, b and c in X:
# a \leq a ( reflexive ...
. That is, for any two symbols and in that are not the same symbol, either or .
The ''words'' of are the finite sequences of symbols from , including words of length 1 containing a single symbol, words of length 2 with 2 symbols, and so on, even including the empty sequence
with no symbols at all. The lexicographical order on the set of all these finite words orders the words as follows:
# Given two different words of the same length, say and , the order of the two words depends on the alphabetic order of the symbols in the first place where the two words differ (counting from the beginning of the words): if and only if in the underlying order of the alphabet .
# If two words have different lengths, the usual lexicographical order pads the shorter one with "blanks" (a special symbol that is treated as smaller than every element of ) at the end until the words are the same length, and then the words are compared as in the previous case.
However, in
combinatorics
Combinatorics is an area of mathematics primarily concerned with counting, both as a means and an end in obtaining results, and certain properties of finite structures. It is closely related to many other areas of mathematics and has many a ...
, another convention is frequently used for the second case, whereby a shorter sequence is always smaller than a longer sequence. This variant of the lexicographical order is sometimes called .
In lexicographical order, the word "Thomas" appears before "Thompson" because they first differ at the fifth letter ('a' and 'p'), and letter 'a' comes before the letter 'p' in the alphabet. Because it is the first difference, in this case the 5th letter is the "most significant difference" for alphabetical ordering.
An important property of the lexicographical order is that for each , the set of words of length is
well-ordered by the lexicographical order (provided the alphabet is finite); that is, every decreasing sequence of words of length is finite (or equivalently, every non-empty subset has a least element).
It is not true that the set of ''all'' finite words is well-ordered; for example, the infinite set of words has no lexicographically earliest element.
Numeral systems and dates
The lexicographical order is used not only in dictionaries, but also commonly for numbers and dates.
One of the drawbacks of the
Roman numeral system is that it is not always immediately obvious which of two numbers is the smaller. On the other hand, with the
positional notation of the
Hindu–Arabic numeral system, comparing numbers is easy, because the natural order on
nonnegative integers is the same as the variant
shortlex of the lexicographic order. In fact, with positional notation, a nonnegative integer is represented by a sequence of
numerical digit
A numerical digit (often shortened to just digit) is a single symbol used alone (such as "2") or in combinations (such as "25"), to represent numbers in a positional numeral system. The name "digit" comes from the fact that the ten digits (Latin ...
s, and an integer is larger than another one if either it has more digits (ignoring leading zeroes) or the number of digits is the same and the first (most significant) digit which differs is larger.
For
real number
In mathematics, a real number is a number that can be used to measure a ''continuous'' one-dimensional quantity such as a distance, duration or temperature. Here, ''continuous'' means that values can have arbitrarily small variations. Every ...
s written in
decimal notation, a slightly different variant of the lexicographical order is used: the parts on the left of the decimal point are compared as before; if they are equal, the parts at the right of the decimal point are compared with the lexicographical order. The padding 'blank' in this context is a trailing "0" digit.
When negative numbers are also considered, one has to reverse the order for comparing negative numbers. This is not usually a problem for humans, but it may be for
computer
A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations ( computation) automatically. Modern digital electronic computers can perform generic sets of operations known as programs. These prog ...
s (testing the sign takes some time). This is one of the reasons for adopting
two's complement representation for representing
signed integer
In computer science, an integer is a datum of integral data type, a data type that represents some range of mathematical integers. Integral data types may be of different sizes and may or may not be allowed to contain negative values. Integers ar ...
s in computers.
Another example of a non-dictionary use of lexicographical ordering appears in the
ISO 8601 standard for dates, which expresses a date as YYYY-MM-DD. This formatting scheme has the advantage that the lexicographical order on sequences of characters that represent dates coincides with the
chronological order
Chronology (from Latin ''chronologia'', from Ancient Greek , ''chrónos'', "time"; and , ''-logia'') is the science of arranging events in their order of occurrence in time. Consider, for example, the use of a timeline or sequence of even ...
: an earlier CE date is smaller in the lexicographical order than a later date up to year 9999. This date ordering makes
computerized sorting of dates easier by avoiding the need for a separate sorting algorithm.
Monoid of words
The over an alphabet is the
free monoid over . That is, the elements of the monoid are the finite sequences (words) of elements of (including the empty sequence, of length 0), and the operation (multiplication) is the
concatenation
In formal language theory and computer programming, string concatenation is the operation of joining character strings end-to-end. For example, the concatenation of "snow" and "ball" is "snowball". In certain formalisations of concatenat ...
of words. A word is a
prefix
A prefix is an affix which is placed before the stem of a word. Adding it to the beginning of one word changes it into another word. For example, when the prefix ''un-'' is added to the word ''happy'', it creates the word ''unhappy''. Particul ...
(or 'truncation') of another word if there exists a word such that . By this definition, the empty word (
) is a prefix of every word, and every word is a prefix of itself (with
); care must be taken if these cases are to be excluded.
With this terminology, the above definition of the lexicographical order becomes more concise: Given a
partially or
totally ordered
In mathematics, a total or linear order is a partial order in which any two elements are comparable. That is, a total order is a binary relation \leq on some set X, which satisfies the following for all a, b and c in X:
# a \leq a ( reflexive ...
set , and two words and over such that is non-empty, then one has under lexicographical order, if at least one of the following conditions is satisfied:
* is a prefix of
* there exists words , , (possibly empty) and elements and of such that
::
::
::
Notice that, due to the prefix condition in this definition,
where
is the empty word.
If
is a total order on
then so is the lexicographic order on the words of
However, in general this is not a
well-order, even if the alphabet
is well-ordered. For instance, if , the
language
Language is a structured system of communication. The structure of a language is its grammar and the free components are its vocabulary. Languages are the primary means by which humans communicate, and may be conveyed through a variety of ...
has no least element in the lexicographical order: .
Since many applications require well orders, a variant of the lexicographical orders is often used. This well-order, sometimes called or , consists in considering first the lengths of the words (if , then
), and, if the lengths are equal, using the lexicographical order. If the order on is a well-order, the same is true for the shortlex order.
Cartesian products
The lexicographical order defines an order on a
Cartesian product
In mathematics, specifically set theory, the Cartesian product of two sets ''A'' and ''B'', denoted ''A''×''B'', is the set of all ordered pairs where ''a'' is in ''A'' and ''b'' is in ''B''. In terms of set-builder notation, that is
: A\t ...
of ordered sets, which is a total order when all these sets are themselves totally ordered. An element of a Cartesian product
is a sequence whose
th element belongs to
for every
As evaluating the lexicographical order of sequences compares only elements which have the same rank in the sequences, the lexicographical order extends to Cartesian products of ordered sets.
Specifically, given two
partially ordered set
In mathematics, especially order theory, a partially ordered set (also poset) formalizes and generalizes the intuitive concept of an ordering, sequencing, or arrangement of the elements of a set. A poset consists of a set together with a binary ...
s
and
the
is defined as
The result is a partial order. If
and
are each
totally ordered
In mathematics, a total or linear order is a partial order in which any two elements are comparable. That is, a total order is a binary relation \leq on some set X, which satisfies the following for all a, b and c in X:
# a \leq a ( reflexive ...
, then the result is a total order as well. The lexicographical order of two totally ordered sets is thus a
linear extension
In order theory, a branch of mathematics, a linear extension of a partial order is a total order (or linear order) that is compatible with the partial order. As a classic example, the lexicographic order of totally ordered sets is a linear ext ...
of their
product order.
One can define similarly the lexicographic order on the Cartesian product of an infinite family of ordered sets, if the family is indexed by the
nonnegative integers
In mathematics, the natural numbers are those numbers used for counting (as in "there are ''six'' coins on the table") and ordering (as in "this is the ''third'' largest city in the country").
Numbers used for counting are called ''cardinal ...
, or more generally by a well-ordered set. This generalized lexicographical order is a total order if each factor set is totally ordered.
Unlike the finite case, an infinite product of well-orders is not necessarily well-ordered by the lexicographical order. For instance, the set of
countably infinite
In mathematics, a set is countable if either it is finite or it can be made in one to one correspondence with the set of natural numbers. Equivalently, a set is ''countable'' if there exists an injective function from it into the natural number ...
binary sequences (by definition, the set of functions from non-negative integers to
also known as the
Cantor space ) is not well-ordered; the subset of sequences that have precisely one
(that is, ) does not have a least element under the lexicographical order induced by
because is an
infinite descending chain.
Similarly, the infinite lexicographic product is not
Noetherian either because is an infinite ascending chain.
Functions over a well-ordered set
The functions from a
well-ordered set to a
totally ordered set may be identified with sequences indexed by
of elements of
They can thus be ordered by the lexicographical order, and for two such functions
and
the lexicographical order is thus determined by their values for the smallest
such that
If
is also well-ordered and
is finite, then the resulting order is a well-order. As shown above, if
is infinite this is not the case.
Finite subsets
In
combinatorics
Combinatorics is an area of mathematics primarily concerned with counting, both as a means and an end in obtaining results, and certain properties of finite structures. It is closely related to many other areas of mathematics and has many a ...
, one has often to enumerate, and therefore to order the
finite subsets of a given set
For this, one usually chooses an order on
Then,
sorting a subset of
is equivalent to convert it into an increasing sequence. The lexicographic order on the resulting sequences induces thus an order on the subsets, which is also called the .
In this context, one generally prefer to sort first the subsets by
cardinality, such as in the
shortlex order. Therefore, in the following, we will consider only orders on subsets of fixed cardinal.
For example, using the natural order of the integers, the lexicographical ordering on the subsets of three elements of
is
:
::.
For ordering finite subsets of a given cardinality of the
natural number
In mathematics, the natural numbers are those numbers used for counting (as in "there are ''six'' coins on the table") and ordering (as in "this is the ''third'' largest city in the country").
Numbers used for counting are called '' cardinal ...
s, the order (see below) is often more convenient, because all
initial segments are finite, and thus the colexicographical order defines an
order isomorphism between the natural numbers and the set of sets of
natural numbers. This is not the case for the lexicographical order, as, with the lexicographical order, we have, for example,
for every
Group orders of Z^n
Let
be the
free Abelian group of rank
whose elements are sequences of
integers, and operation is the
addition. A
group order
In mathematics, the order of a finite group is the number of its elements. If a group is not finite, one says that its order is ''infinite''. The ''order'' of an element of a group (also called period length or period) is the order of the sub ...
on
is a
total order
In mathematics, a total or linear order is a partial order in which any two elements are comparable. That is, a total order is a binary relation \leq on some set X, which satisfies the following for all a, b and c in X:
# a \leq a ( reflexive ...
, which is compatible with addition, that is
The lexicographical ordering is a group order on
The lexicographical ordering may also be used to characterize all group orders on
[.] In fact,
linear forms with
real coefficients, define a map from
into
which is injective if the forms are
linearly independent (it may be also injective if the forms are dependent, see below). The lexicographic order on the image of this map induces a group order on
Robbiano's theorem is that every group order may be obtained in this way.
More precisely, given a group order on
there exist an integer
and
linear forms with real coefficients, such that the induced map
from
into
has the following properties;
*
is injective;
* the resulting isomorphism from
to the image of
is an order isomorphism when the image is equipped with the lexicographical order on
Colexicographic order
The colexicographic or colex order is a variant of the lexicographical order that is obtained by reading finite sequences from the right to the left instead of reading them from the left to the right. More precisely, whereas the lexicographical order between two sequences is defined by
: if for the first where and differ,
the colexicographical order is defined by
: if for the last where and differ
In general, the difference between the colexicographical order and the lexicographical order is not very significant. However, when considering increasing sequences, typically for coding subsets, the two orders differ significantly.
For example, for ordering the increasing sequences (or the sets) of two natural integers, the lexicographical order begins by
:,
and the colexicographic order begins by
:.
The main property of the colexicographical order for increasing sequences of a given length is that every
initial segment is finite. In other words, the colexicographical order for increasing sequences of a given length induces an
order isomorphism with the natural numbers, and allows enumerating these sequences. This is frequently used in
combinatorics
Combinatorics is an area of mathematics primarily concerned with counting, both as a means and an end in obtaining results, and certain properties of finite structures. It is closely related to many other areas of mathematics and has many a ...
, for example in the proof of the
Kruskal–Katona theorem.
Monomials
When considering
polynomial
In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An exampl ...
s, the order of the terms does not matter in general, as the addition is commutative. However, some
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
s, such as
polynomial long division
In algebra, polynomial long division is an algorithm for dividing a polynomial by another polynomial of the same or lower degree, a generalized version of the familiar arithmetic technique called long division. It can be done easily by hand, bec ...
, require the terms to be in a specific order. Many of the main algorithms for
multivariate polynomials are related with
Gröbner bases, concept that requires the choice of a
monomial order
In mathematics, a monomial order (sometimes called a term order or an admissible order) is a total order on the set of all ( monic) monomials in a given polynomial ring, satisfying the property of respecting multiplication, i.e.,
* If u \leq v and ...
, that is a
total order
In mathematics, a total or linear order is a partial order in which any two elements are comparable. That is, a total order is a binary relation \leq on some set X, which satisfies the following for all a, b and c in X:
# a \leq a ( reflexive ...
, which is compatible with the
monoid
In abstract algebra, a branch of mathematics, a monoid is a set equipped with an associative binary operation and an identity element. For example, the nonnegative integers with addition form a monoid, the identity element being 0.
Monoid ...
structure of the
monomials. Here "compatible" means that
if the monoid operation is denoted multiplicatively. This compatibility implies that the product of a polynomial by a monomial does not change the order of the terms. For Gröbner bases, a further condition must be satisfied, namely that every non constant monomial is greater than the monomial . However this condition is not needed for other related algorithms, such as the algorithms for the computation of the
tangent cone.
As Gröbner bases are defined for polynomials in a fixed number of variables, it is common to identify monomials (for example
) with their exponent vectors (here ). If is the number of variables, every monomial order is thus the restriction to
of a monomial order of
(see above
for a classification).
One of these admissible orders is the lexicographical order. It is, historically, the first to have been used for defining Gröbner bases, and is sometimes called for distinguishing it from other orders that are also related to a lexicographical order.
Another one consists in comparing first the
total degrees, and then resolving the conflicts by using the lexicographical order. This order is not widely used, as either the lexicographical order or the degree reverse lexicographical order have generally better properties.
The consists also in comparing first the total degrees, and, in case of equality of the total degrees, using the reverse of the colexicographical order. That is, given two exponent vectors, one has