  Transaction Repair is a method for lock-free, scalable transaction processing
that achieves full serializability. It demonstrates parallel speedup even in
inimical scenarios where all pairs of transactions have significant read-write
conflicts. In the transaction repair approach, each transaction runs in
complete isolation in a branch of the database; when conflicts occur, we detect
and repair them. These repairs are performed efficiently in parallel, and the
net effect is that of serial processing. Within transactions, we use no locks.
This frees users from the complications and performance hazards of locks, and
from the anomalies of sub-SERIALIZABLE isolation levels. Our approach builds on
an incrementalized variant of leapfrog triejoin, a worst-case optimal algorithm
for $\exists_1$ formulae, and on well-established techniques from programming
languages: declarative languages, purely functional data structures,
incremental computation, and fixpoint equations.
