It is now generally recognized that the field of combinatorics has, over
the past years, evolved into a fully-fledged branch of discrete
mathematics whose potential with respect to computers and the natural
sciences is only beginning to be realized. Still, two points seem to
bother most authors: The apparent difficulty in defining the scope of
combinatorics and the fact that combinatorics seems to consist of a vast
variety of more or less unrelated methods and results. As to the scope
of the field, there appears to be a growing consensus that combinatorics
should be divided into three large parts: (a) Enumeration, including
generating functions, inversion, and calculus of finite differences; (b)
Order Theory, including finite posets and lattices, matroids, and
existence results such as Hall's and Ramsey's; (c) Configurations,
including designs, permutation groups, and coding theory. The present
book covers most aspects of parts (a) and (b), but none of (c). The
reasons for excluding (c) were twofold. First, there exist several older
books on the subject, such as Ryser [1] (which I still think is the
most seductive introduction to combinatorics), Hall [2], and more
recent ones such as Cameron-Van Lint [1] on groups and designs, and
Blake-Mullin [1] on coding theory, whereas no compre- hensive book
exists on (a) and (b).