True when Generation is the current generation of the database.
Each modification to the database increments the generation. It
can be used to check the validity of cached results deduced from
the database. Committing a non-empty transaction increments the
generation by one.
When inside a transaction, Generation is unified to a term
TransactionStartGen + InsideTransactionGen. E.g., 4+3 means
that the transaction was started at generation 4 of the global
database and we have created 3 new generations inside the
transaction. Note that this choice of representation allows for
comparing generations using Prolog arithmetic. Comparing a
generation in one transaction with a generation in another
transaction is meaningless.