Consider a database system that includes an atomic increment operation, in addition to the read and write operations. Let V be the value of data item X. The operation $increment(X)$ by C sets the value of X to V + C in an atomic step. The value of X is not available to the transaction unless the latter executes a $read(X)$. Figure 16.23 shows a lock compatibility matrix for three lock modes: share mode, exclusive mode, and incrementation mode.
$a$. Show that, if all transactions lock the data that they access in the corresponding mode, then two-phase locking ensures serializability.
$b$. Show that the inclusion of increment mode locks allows for increased concurrency. (Hint: Consider check-clearing transactions in our bank example.)