Joining selected complete permutation orbits #
Disjoint predicates, one invariant, select disjoint sets of complete orbits. Their union has the sum of their cardinalities. A transposition joining two different cycles removes one selected orbit exactly when its corners are selected. Fixed points and empty selections are included. Incoming and outgoing successor conventions are both explicit.
The complete orbits selected by disjoint predicates, the first invariant, are exactly the disjoint sum of the two selected orbit sets, including singleton cycles.
Instances For
The disjoint union of invariant selections adds their complete orbit counts. Only the
first predicate needs invariance to exclude a shared orbit. The other may select partial
representatives, because OrbitOn itself selects their complete equivalence classes.
An incoming successor swap joining different cycles removes one selected complete orbit when both corners are selected; an unselected pair changes no selected orbit.
The corresponding exact count for an outgoing successor swap. The old cycle relation and old corner membership determine the decrease, including singleton and empty cases.
Disjoint-sum coordinates split all selected complete orbits into their source blocks. No invariance is needed: selections mean the full orbits meeting the given predicates.