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 ywhenxandyare in the same cycle off.Equiv.Perm.IsCycle:fis a cycle if any two nonfixed points offare related by repeated applications off, andfis not the identity.Equiv.Perm.IsCycleOn:fis a cycle on a setswhen any two points ofsare related by repeated applications off.
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 Equiv.Perm.sameCycle_symm_apply_left.
Alias of Equiv.Perm.sameCycle_symm_apply_right.
Alias of the forward direction of Equiv.Perm.sameCycle_apply_left.
Alias of the reverse direction of Equiv.Perm.sameCycle_apply_left.
Alias of the reverse direction of Equiv.Perm.sameCycle_apply_right.
Alias of the forward direction of Equiv.Perm.sameCycle_apply_right.
Alias of the reverse direction of Equiv.Perm.sameCycle_symm_apply_left.
Alias of the forward direction of Equiv.Perm.sameCycle_symm_apply_left.
Alias of the forward direction of Equiv.Perm.sameCycle_symm_apply_right.
Alias of the reverse direction of Equiv.Perm.sameCycle_symm_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 reverse direction of Equiv.Perm.sameCycle_zpow_left.
Alias of the forward direction of Equiv.Perm.sameCycle_zpow_left.
Alias of the forward direction of Equiv.Perm.sameCycle_zpow_right.
Alias of the reverse 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.
Alias of the forward direction of Equiv.Perm.isCycleOn_one.
Alias of the reverse direction of Equiv.Perm.isCycleOn_one.
Alias of the reverse direction of Equiv.Perm.isCycleOn_inv.
Alias of the forward 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.