Theorem (The Combination Principle): The number of ways of choosing m elements from a set of n elements is n!|((nm)·!m!). Proof: The number of ways of choosing a sequence of m elements is n!|(n–m)! and the number of ways of arranging m elements in a sequence is m! So the n!|(n–m)! sequences fall into sets of m! containing the same elements. Thus if we denote the number of these sets by c then n!|(n–m)! = c·(m!). Thus c = n!|((n–m)·!m!).
It is often convenient to use the notation: nCm = n!|((n–m)·!m!) where C can be called the combinatorial operation. For n<m we define nCm = 0. The operation table for the combinatorial operation C is a version of Pascal's Triangle.
Combination table (base ten)
| C | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2 | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 3 | 1 | 3 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 4 | 1 | 4 | 6 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 5 | 1 | 5 | 10 | 10 | 5 | 1 | 0 | 0 | 0 | 0 | 0 |
| 6 | 1 | 6 | 15 | 20 | 15 | 6 | 1 | 0 | 0 | 0 | 0 |
| 7 | 1 | 7 | 21 | 35 | 35 | 21 | 7 | 1 | 0 | 0 | 0 |
| 8 | 1 | 8 | 28 | 56 | 70 | 56 | 28 | 8 | 1 | 0 | 0 |
| 9 | 1 | 9 | 36 | 84 | 126 | 126 | 84 | 36 | 9 | 1 | 0 |
| 10 | 1 | 10 | 45 | 120 | 210 | 252 | 210 | 120 | 45 | 10 | 1 |
Theorem (Complementarity): The number of ways of choosing m elements from a set of n is the same as the number of ways of choosing nm elements. In symbols this theorem is: nCm = nC(nm). Proof: (a) This statement is equivalent to the commutative property n!|((nm)·!m!) = n!|(m!·(nm)!) since n(nm) = m. (b) Alternatively we can note that choosing to include m of n is the same as choosing to exclude nm of n.
Observation (The Bell Curve): The values of n!|((nm)·!m!) as m runs from 0 to n form a symmetric bell-shaped pattern, rising to a maximum at the middle value n|2 when n is even, or the two middle values (n±1)|2 when n is odd.
Theorem (Binomial Theorem): The nth power of the sum of two terms is:
(a+b)^n = S(r = 0 to n)[nCr·a^(n-r)·b^r].
Proof: by induction. Written out more fully it becomes:
(a+b)^n = a^n + n·a^(n–1)·b + (n·(n–1)|2)·a^(n–2)·b^2 + ... + [n!|((n–m)·!m!)]·a^(n–m)·b^m + ... + b^n.
Note: Because of this result the numbers nCm for a given value of n are sometimes called binomial coefficients since they are the numerical factors that appear in the multiplied-out expression for (a+b)^n.
Theorem (Partitions): The number ways of expressing n (> m1) as a sum of m numbers is (n1)C(m1). Proof: If we represent the numbers in linear tally form then expressing n as a sum of m numbers is equivalent to separating a row of n tallies into m sets, by introducing m1 gaps, and there are n1 places where gaps can be introduced.