Knowledge for Obtaining Distributed Implementations and Proving Them Correct: Invited Presentation at the 2nd French Singaporean Workshop on Formal Methods and Applications