if (!rparts.representatives.contains(sym.min())) continue; // r does not range over sym
BooleanMatrix m = interpreter.interpret(r);
for(IndexedEntry<BooleanValue> entry : m) {
int permIndex = permutation(r.arity(), entry.index(), prevIndex, curIndex);
BooleanValue permValue = m.get(permIndex);
if (permIndex==entry.index() || atSameIndex(original, permValue, permuted, entry.value()))
continue;
original.add(entry.value());