def reduce_winners(current_winners, opponent_state):
    """
        Returns the recalculated set of possible winners by pruning the
        the winners that are blocked by the opponent_state.
    """
    return [_ for _ in current_winners if _.isdisjoint(opponent_state)]