Cycles of a permutation #
This file starts the theory of cycles in permutations.
Main definitions #
In the following, f : Equiv.Perm β.
- Equiv.Perm.SameCycle:- f.SameCycle x ywhen- xand- yare in the same cycle of- f.
- Equiv.Perm.IsCycle:- fis a cycle if any two nonfixed points of- fare related by repeated applications of- f, and- fis not the identity.
- Equiv.Perm.IsCycleOn:- fis a cycle on a set- swhen any two points of- sare related by repeated applications of- f.
Notes #
Equiv.Perm.IsCycle and Equiv.Perm.IsCycleOn are different in three ways:
Alias of the forward direction of Equiv.Perm.sameCycle_inv.
Alias of the reverse direction of Equiv.Perm.sameCycle_inv.
Alias of the reverse direction of Equiv.Perm.sameCycle_apply_left.
Alias of the forward direction of Equiv.Perm.sameCycle_apply_left.
Alias of the forward direction of Equiv.Perm.sameCycle_apply_right.
Alias of the reverse direction of Equiv.Perm.sameCycle_apply_right.
Alias of the reverse direction of Equiv.Perm.sameCycle_inv_apply_left.
Alias of the forward direction of Equiv.Perm.sameCycle_inv_apply_left.
Alias of the reverse direction of Equiv.Perm.sameCycle_inv_apply_right.
Alias of the forward direction of Equiv.Perm.sameCycle_inv_apply_right.
Alias of the forward direction of Equiv.Perm.sameCycle_pow_left.
Alias of the reverse direction of Equiv.Perm.sameCycle_pow_left.
Alias of the forward direction of Equiv.Perm.sameCycle_pow_right.
Alias of the reverse direction of Equiv.Perm.sameCycle_pow_right.
Alias of the forward direction of Equiv.Perm.sameCycle_zpow_left.
Alias of the reverse direction of Equiv.Perm.sameCycle_zpow_left.
Alias of the reverse direction of Equiv.Perm.sameCycle_zpow_right.
Alias of the forward direction of Equiv.Perm.sameCycle_zpow_right.
Alias of the reverse direction of Equiv.Perm.sameCycle_subtypePerm.
Alias of the reverse direction of Equiv.Perm.sameCycle_extendDomain.
Equations
- f.instDecidableRelSameCycleInv x y = decidable_of_iff (f.SameCycle x y) ⋯
Equations
The subgroup generated by a cycle is in bijection with its support
Equations
- hσ.zpowersEquivSupport = Equiv.ofBijective (fun (τ : ↑↑(Subgroup.zpowers σ)) => ⟨↑τ (Classical.choose hσ), ⋯⟩) ⋯
Instances For
Unlike support_congr, which assumes that ∀ (x ∈ g.support), f x = g x), here
we have the weaker assumption that ∀ (x ∈ f.support), f x = g x.
If two cyclic permutations agree on all terms in their intersection, and that intersection is not empty, then the two cyclic permutations must be equal.
A permutation is a cycle on s when any two points of s are related by repeated application
of the permutation. Note that this means the identity is a cycle of subsingleton sets.
Equations
Instances For
Alias of the reverse direction of Equiv.Perm.isCycleOn_one.
Alias of the forward direction of Equiv.Perm.isCycleOn_one.
Alias of the forward direction of Equiv.Perm.isCycleOn_inv.
Alias of the reverse direction of Equiv.Perm.isCycleOn_inv.
This lemma demonstrates the relation between Equiv.Perm.IsCycle and Equiv.Perm.IsCycleOn
in non-degenerate cases.
Note that the identity satisfies IsCycleOn for any subsingleton set, but not IsCycle.
Note that the identity is a cycle on any subsingleton set, but not a cycle.
We can partition the square s ×ˢ s into shifted diagonals as such:
01234
40123
34012
23401
12340
The diagonals are given by the cycle f.
Restrict a permutation to its support
Equations
- c.subtypePermOfSupport = c.subtypePerm ⋯
Instances For
Restrict a permutation to a Finset containing its support
Equations
- c.subtypePerm_of_support_le hcs = c.subtypePerm ⋯
Instances For
Support of a cycle is nonempty
Centralizer of a cycle is a power of that cycle on the cycle
A permutation g commutes with a cycle c if and only if
c.support is invariant under g, and g acts on it as a power of c.