Explain what is discrete Morse theory and how to use it to analyse distributed read/write wait-free algorithms.