# Combinatorial principles

In proving results in combinatorics several useful **combinatorial rules** or **combinatorial principles** are commonly recognized and used.

The rule of sum, rule of product, and inclusion-exclusion principle are often used for enumerative purposes. Bijective proofs are utilized to demonstrate that two sets have the same number of elements. The pigeonhole principle often ascertains the existence of something or is used to determine the minimum or maximum number of something in a discrete context. Many combinatorial identities arise from double counting methods or the method of distinguished element. Generating functions and recurrence relations are powerful tools that can be used to manipulate sequences, and can describe if not resolve many combinatorial situations.

## Rule of sum

{{#invoke:main|main}}

The rule of sum is an intuitive principle stating that if there are *a* possible outcomes for an event (or ways to do something) and *b* possible outcomes for another event (or ways to do another thing), and the two events cannot both occur (or the two things can't both be done), then there are *a + b* total possible outcomes for the events (or total possible ways to do one of the things). More formally, the sum of the sizes of two disjoint sets is equal to the size of their union.

## Rule of product

{{#invoke:main|main}}

The rule of product is another intuitive principle stating that if there are *a* ways to do something and *b* ways to do another thing, then there are *a* · *b* ways to do both things.

## Inclusion-exclusion principle

{{#invoke:main|main}}

The inclusion-exclusion principle relates the size of the union of multiple sets, the size of each set, and the size of each possible intersection of the sets. The smallest example is when there are two sets: the number of elements in the union of *A* and *B* is equal to the sum of the number of elements in *A* and *B*, minus the number of elements in their intersection.

Generally, according to this principle, if *A*_{1}, ..., *A _{n}* are finite sets, then

## Bijective proof

{{#invoke:main|main}}

Bijective proofs prove that two sets have the same number of elements by finding a bijective function (one-to-one correspondence) from one set to the other.

## Double counting

{{#invoke:main|main}}

Double counting is a technique that equates two expressions that count the size of a set in two ways.

## Pigeonhole principle

{{#invoke:main|main}}

The pigeonhole principle states that if *a* items are each put into one of *b* boxes, where *a* > *b*, then one of the boxes contains more than one item. Using this one can, for example, demonstrate the existence of some element in a set with some specific properties.

## Method of distinguished element

{{#invoke:main|main}}

The method of distinguished element singles out a "distinguished element" of a set to prove some result.

## Generating function

{{#invoke:main|main}}

Generating functions can be thought of as polynomials with infinitely many terms whose coefficients correspond to terms of a sequence. This new representation of the sequence opens up new methods for finding identities and closed forms pertaining to certain sequences. The (ordinary) generating function of a sequence *a*_{n} is

## Recurrence relation

{{#invoke:main|main}}

A recurrence relation defines each term of a sequence in terms of the preceding terms. Recurrence relations may lead to previously unknown properties of a sequence, but generally closed-form expressions for the terms of a sequence are more desired.

## References

- J. H. van Lint and R. M. Wilson (2001),
*A Course in Combinatorics (Paperback)*, 2nd edition, Cambridge University Press. ISBN 0-521-00601-5