Seol mar théacs é seo: Algebraic Specification and Proof of a Distributed Recovery Algorithm