A lifetime defines a region of time in the execution of a program. It is the continuous range of operations bounded by the creation of a reference and its invalidation.
To enable useful reasoning about lifetimes, lifetimes have a relation between them: