def resolve!
      if original.empty?
        select_manager.cohort_possible!
        AlwaysTrue
      elsif current.empty?
        select_manager.cohort_impossible!
        Impossible
      elsif count(current) >= minimum_size
        select_manager.cohort_possible!
        grasp(current).inject :and
      else
        reduce!
        resolve!
      end
    end
def resolve!
      if original.empty?
        select_manager.cohort_possible!
        AlwaysTrue
      elsif current.empty?
        select_manager.cohort_impossible!
        Impossible
      elsif count(current) >= minimum_size
        select_manager.cohort_possible!
        grasp(current).inject :and
      else
        reduce!
        resolve!
      end
    end
Recursively look for a scope that meets the characteristics and is at least <tt>minimum_size</tt>.