This document defines functions and discusses the pigeonhole principle. It defines injections, surjections and bijections between sets. The pigeonhole principle states that if more pigeons are placed in fewer holes, then some hole must contain more than one pigeon. The document provides examples applying the principle, including that in a group of n people there must be two who shake hands with the same number of others. It also proves theorems about subsets summing to the same number and groups including clubs or strangers.