Enumerative combinatorics is concerned with simultaneously
counting the number of elements in an infinite collection of
finite sets. Subsets, partitions, and permutations of an set
n-element are classic examples. The techniques
include double-counting arguments, recurrence relations, and
generating functions.