Syntactic reductions for efficient deadlock analysis