enumerative combinatorics

Enumerative combinatorics deals with the question: if we know that a set S is finite, how can we determine the exact number of elements that S contains?

Basic principles and techniques of enumerative combinatorics include:

The principles listed above are disarmingly simple and seemingly obvious. Nonetheless, when used properly they are powerful tools for producing bijective proofs of combinatorial identitiesPlanetmathPlanetmathPlanetmathPlanetmath. On the other hand, while generating functions can frequently be used to give quick proofs of identities, it is sometimes difficult to extract combinatorial proofs from such proofs.

The most fundamental principle of enumerative combinatorics and the basis of all counting is the addition principle. It says that if S is a finite setMathworldPlanetmath, then


More generally, if S=AB, then


By inductionMathworldPlanetmath on n, we also get


As an application of the addition principle, we prove the multiplication principle.

Proposition 1.

Multiplication principle. If S and T are finite sets, then


By the addition principle,


But we can write S×T as the disjoint unionMathworldPlanetmath


The projection map S×{y}S is a bijection, so |S×{y}|=|S|. Hence it follows that

|S×T| =yT|S×{y}|

which completesPlanetmathPlanetmathPlanetmathPlanetmathPlanetmathPlanetmath the proof. ∎

The involution principle says that if φ:SS is an involution, then for any XS, |X|=|φ(X)|. The following example illustrates the involution principle.

Proposition 2.

Enumerating elements of the powerset. Let [n]={1,2,,n} and let 2[n] be the powerset of [n]. Then the cardinality of 2[n] is 2n.


Define a function φ:2[n]2[n] by the formulaMathworldPlanetmathPlanetmath


In other words, φ(S) is the symmetric differenceMathworldPlanetmathPlanetmath of S and {n} — if n is an element of S, we remove it, and if n is not an element of S, we insert it. The function φ is an involution, hence a bijection. Now notice that 2[n-1]2[n] and φ(2[n-1])=2[n]2[n-1]. In other words,


Since φ is a bijection, this implies that


By induction on n we obtain


Now [0]=, so 2[0]={}. Thus |2[0]|=1, implying that


which is what we wanted to show. ∎

As we have seen above, it is possible to use the addition principle to count the number of elements in the disjoint union of finite sets. But what if we want to count the number of elements in a non-disjoint union of finite sets? The inclusion-exclusion principle gives us a way to do this. A common way of stating the inclusion-exclusion principle is as the following propositionPlanetmathPlanetmath.

Proposition 3.

Inclusion-exclusion principle. Let S1,,Sn be finite sets. Then


The formula in this proposition uses negative numbers. But the core of the inclusion-exclusion principle is a statement about natural numbersMathworldPlanetmath.

Proposition 4.

Let S and T be finite sets. Then


Thus the latticeMathworldPlanetmath of finite subsets of N is a modular latticeMathworldPlanetmath.


By the addition principle,

|S|+|T| =|(ST)(ST)|+|(TS)(ST)|

Now observe that ST=(ST)(ST)(TS). So by a second application of the addition principle,


Hence |S|+|T|=|ST|+|ST|. ∎

Title enumerative combinatorics
Canonical name EnumerativeCombinatorics
Date of creation 2013-03-22 16:45:58
Last modified on 2013-03-22 16:45:58
Owner mps (409)
Last modified by mps (409)
Numerical id 14
Author mps (409)
Entry type Topic
Classification msc 05-00
Related topic DijkstrasAlgorithm
Related topic RuleOfProduct