Explanations are a technique for reasoning about constraint propagation, which have been applied in many learning, backjumping and user interaction algorithms. To date, explanations have been recorded eagerly when the propagation happens, which leads to ine cient use of time and space, because many will never be used. In this paper we show that it is possible and highly e ective to calculate ex...