Commit 2023-01-10 13:41 b8683232
View on Github →feat(group_theory/perm/cycle/basic): Cycle on a set (#17899)
Define equiv.perm.is_cycle_on, a predicate for a permutation to be a cycle on a set.
This has two discrepancies with the existing equiv.perm.is_cycle_on (apart from the obvious one that is_cycle_on is restricted to a set):
- is_cycle_onforbids fixed points (on- s) while- is_cycleallows them.
- is_cycleforbids the identity while- is_cycle_onallows it. I think the first one isn't so bad given that- is_cycleis meant to be used over the entire type (so you can't just rule out fixed points). The second one is more of a worry as I had to case-split on- s.subsingleton ∨ s.nontrivialin several- is_cycle_onlemmas to derive them from the corresponding- is_cycleones, while of course the- is_cycleones would also have held for a weaker version of- is_cyclethat allows the identity.