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 y
whenx
andy
are in the same cycle off
.Equiv.Perm.IsCycle
:f
is a cycle if any two nonfixed points off
are related by repeated applications off
, andf
is not the identity.Equiv.Perm.IsCycleOn
:f
is a cycle on a sets
when any two points ofs
are related by repeated applications off
.
Notes #
Equiv.Perm.IsCycle
and Equiv.Perm.IsCycleOn
are different in three ways:
The equivalence relation indicating that two points are in the same cycle of a permutation.
Equations
- Equiv.Perm.SameCycle f x y = ∃ (i : ℤ), (f ^ i) x = y
Instances For
The setoid defined by the SameCycle
relation.
Equations
- Equiv.Perm.SameCycle.setoid f = { r := Equiv.Perm.SameCycle f, iseqv := ⋯ }
Instances For
Alias of the reverse direction of Equiv.Perm.sameCycle_inv
.
Alias of the forward direction of Equiv.Perm.sameCycle_inv
.
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_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 reverse direction of Equiv.Perm.sameCycle_pow_left
.
Alias of the forward 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
- Equiv.Perm.instDecidableRelSameCycle f x y = decidable_of_iff (∃ n ∈ List.range (Fintype.card (Equiv.Perm α)), (f ^ n) x = y) ⋯
A cycle is a non identity permutation where any two nonfixed points of the permutation are related by repeated application of the permutation.
Equations
- Equiv.Perm.IsCycle f = ∃ (x : α), f x ≠ x ∧ ∀ ⦃y : α⦄, f y ≠ y → Equiv.Perm.SameCycle f x y
Instances For
The subgroup generated by a cycle is in bijection with its support
Equations
- Equiv.Perm.IsCycle.zpowersEquivSupport hσ = Equiv.ofBijective (fun (τ : ↑↑(Subgroup.zpowers σ)) => { val := ↑τ (Classical.choose hσ), property := ⋯ }) ⋯
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
- Equiv.Perm.IsCycleOn f s = (Set.BijOn (⇑f) s s ∧ ∀ ⦃x : α⦄, x ∈ s → ∀ ⦃y : α⦄, y ∈ s → Equiv.Perm.SameCycle f x y)
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
.