mathlib documentation

group_theory.​perm.​cycles

group_theory.​perm.​cycles

def equiv.​perm.​same_cycle {β : Type u_2} :
equiv.perm β → β → β → Prop

Equations
theorem equiv.​perm.​same_cycle.​refl {β : Type u_2} (f : equiv.perm β) (x : β) :

theorem equiv.​perm.​same_cycle.​symm {β : Type u_2} (f : equiv.perm β) {x y : β} :
f.same_cycle x y → f.same_cycle y x

theorem equiv.​perm.​same_cycle.​trans {β : Type u_2} (f : equiv.perm β) {x y z : β} :
f.same_cycle x y → f.same_cycle y z → f.same_cycle x z

theorem equiv.​perm.​apply_eq_self_iff_of_same_cycle {β : Type u_2} {f : equiv.perm β} {x y : β} :
f.same_cycle x y → (⇑f x = x ↔ ⇑f y = y)

theorem equiv.​perm.​same_cycle_of_is_cycle {β : Type u_2} {f : equiv.perm β} (hf : f.is_cycle) {x y : β} :
⇑f x ≠ x → ⇑f y ≠ y → f.same_cycle x y

@[instance]

Equations
theorem equiv.​perm.​same_cycle_apply {β : Type u_2} {f : equiv.perm β} {x y : β} :
f.same_cycle x (⇑f y) ↔ f.same_cycle x y

theorem equiv.​perm.​same_cycle_cycle {β : Type u_2} {f : equiv.perm β} {x : β} :
⇑f x ≠ x → (f.is_cycle ↔ ∀ {y : β}, f.same_cycle x y ↔ ⇑f y ≠ y)

theorem equiv.​perm.​same_cycle_inv {β : Type u_2} (f : equiv.perm β) {x y : β} :

theorem equiv.​perm.​same_cycle_inv_apply {β : Type u_2} {f : equiv.perm β} {x y : β} :

def equiv.​perm.​cycle_of {α : Type u_1} [decidable_eq α] [fintype α] :
equiv.perm α → α → equiv.perm α

Equations
theorem equiv.​perm.​cycle_of_apply {α : Type u_1} [decidable_eq α] [fintype α] (f : equiv.perm α) (x y : α) :
⇑(f.cycle_of x) y = ite (f.same_cycle x y) (⇑f y) y

theorem equiv.​perm.​cycle_of_inv {α : Type u_1} [decidable_eq α] [fintype α] (f : equiv.perm α) (x : α) :

@[simp]
theorem equiv.​perm.​cycle_of_pow_apply_self {α : Type u_1} [decidable_eq α] [fintype α] (f : equiv.perm α) (x : α) (n : ℕ) :
⇑(f.cycle_of x ^ n) x = ⇑(f ^ n) x

@[simp]
theorem equiv.​perm.​cycle_of_gpow_apply_self {α : Type u_1} [decidable_eq α] [fintype α] (f : equiv.perm α) (x : α) (n : ℤ) :
⇑(f.cycle_of x ^ n) x = ⇑(f ^ n) x

theorem equiv.​perm.​cycle_of_apply_of_same_cycle {α : Type u_1} [decidable_eq α] [fintype α] {f : equiv.perm α} {x y : α} :
f.same_cycle x y → ⇑(f.cycle_of x) y = ⇑f y

theorem equiv.​perm.​cycle_of_apply_of_not_same_cycle {α : Type u_1} [decidable_eq α] [fintype α] {f : equiv.perm α} {x y : α} :
¬f.same_cycle x y → ⇑(f.cycle_of x) y = y

@[simp]
theorem equiv.​perm.​cycle_of_apply_self {α : Type u_1} [decidable_eq α] [fintype α] (f : equiv.perm α) (x : α) :
⇑(f.cycle_of x) x = ⇑f x

theorem equiv.​perm.​cycle_of_cycle {α : Type u_1} [decidable_eq α] [fintype α] {f : equiv.perm α} (hf : f.is_cycle) {x : α} :
⇑f x ≠ x → f.cycle_of x = f

theorem equiv.​perm.​cycle_of_one {α : Type u_1} [decidable_eq α] [fintype α] (x : α) :
1.cycle_of x = 1

theorem equiv.​perm.​is_cycle_cycle_of {α : Type u_1} [decidable_eq α] [fintype α] (f : equiv.perm α) {x : α} :
⇑f x ≠ x → (f.cycle_of x).is_cycle

def equiv.​perm.​cycle_factors_aux {α : Type u_1} [decidable_eq α] [fintype α] (l : list α) (f : equiv.perm α) :
(∀ {x : α}, ⇑f x ≠ x → x ∈ l) → {l // l.prod = f ∧ (∀ (g : equiv.perm α), g ∈ l → g.is_cycle) ∧ list.pairwise equiv.perm.disjoint l}

Equations
theorem equiv.​perm.​one_lt_nonfixed_point_card_of_ne_one {α : Type u_1} [decidable_eq α] [fintype α] {σ : equiv.perm α} :
σ ≠ 1 → 1 < (finset.filter (λ (x : α), ⇑σ x ≠ x) finset.univ).card

theorem equiv.​perm.​fixed_point_card_lt_of_ne_one {α : Type u_1} [decidable_eq α] [fintype α] {σ : equiv.perm α} :
σ ≠ 1 → (finset.filter (λ (x : α), ⇑σ x = x) finset.univ).card < fintype.card α - 1