Before we start, a few useful definitions