“…In our setting, all shared variables are non-volatile, and we use an algorithm for RC (such as the one in Section 3.1) in place of consensus. For simplicity, we use a standard assumption (as in, e.g., [2,3,10,11,14,17,18,31]): when a process recovers from a crash, it executes a recovery function. This assumption is not restrictive; we could, alternatively, add the code of the recovery function at the beginning of the universal algorithm, thus forcing every process to execute this code before it actually starts executing a new operation.…”