A divide & conquer approach to liveness model checking under fairness & anti-fairness assumptions