'Remove specified generators from the ring and inject them into
its domain.'

def drop_to_ground(self, *gens):

    indices = set(map(self.index, gens))
    symbols = [s for (i, s) in enumerate(self.symbols) if (i not in indices)]
    gens = [gen for (i, gen) in enumerate(self.gens) if (i not in indices)]
    if (not symbols):
        return self
    else:
        return self.clone(symbols=symbols, domain=self.drop(*gens))
