Specification and verification of various distributed leader election algorithms for unidirectional ring networks