File: Mathlib/GroupTheory/Perm/Finite.lean

full_name: Equiv.Perm.isConj_of_support_equiv
code: theorem isConj_of_support_equiv
    (f : { x // x ∈ (σ.support : Set α) } ≃ { x // x ∈ (τ.support : Set α) })
    (hf : ∀ (x : α) (hx : x ∈ (σ.support : Set α)),
      (f ⟨σ x, apply_mem_support.2 hx⟩ : α) = τ ↑(f ⟨x, hx⟩)) :
    IsConj σ τ 
goal: IsConj σ τ

full_name: Equiv.Perm.perm_inv_on_of_perm_on_finset
code: theorem perm_inv_on_of_perm_on_finset {s : Finset α} {f : Perm α} (h : ∀ x ∈ s, f x ∈ s) {y : α}
    (hy : y ∈ s) : f⁻¹ y ∈ s 
goal: f⁻¹ y ∈ s

full_name: Equiv.Perm.perm_inv_mapsTo_of_mapsTo
code: theorem perm_inv_mapsTo_of_mapsTo (f : Perm α) {s : Set α} [Finite s] (h : Set.MapsTo f s s) :
    Set.MapsTo (f⁻¹ : _) s s 
goal: Set.MapsTo (⇑f⁻¹) s s

full_name: Equiv.Perm.perm_inv_mapsTo_iff_mapsTo
code: @[simp]
theorem perm_inv_mapsTo_iff_mapsTo {f : Perm α} {s : Set α} [Finite s] :
    Set.MapsTo (f⁻¹ : _) s s ↔ Set.MapsTo f s s 
goal: Set.MapsTo (⇑f⁻¹) s s ↔ Set.MapsTo (⇑f) s s

full_name: Equiv.Perm.perm_inv_on_of_perm_on_finite
code: theorem perm_inv_on_of_perm_on_finite {f : Perm α} {p : α → Prop} [Finite { x // p x }]
    (h : ∀ x, p x → p (f x)) {x : α} (hx : p x) : p (f⁻¹ x) 
goal: p (f⁻¹ x)

full_name: Equiv.Perm.subtypePermOfFintype
code: /-- If the permutation `f` maps `{x // p x}` into itself, then this returns the permutation
  on `{x // p x}` induced by `f`. Note that the `h` hypothesis is weaker than for
  `Equiv.Perm.subtypePerm`. -/
abbrev subtypePermOfFintype (f : Perm α) {p : α → Prop} [Finite { x // p x }]
    (h : ∀ x, p x → p (f x)) : Perm { x // p x } 
goal: Equiv.Perm { x // p x }

full_name: Equiv.Perm.subtypePermOfFintype_apply
code: @[simp]
theorem subtypePermOfFintype_apply (f : Perm α) {p : α → Prop} [Finite { x // p x }]
    (h : ∀ x, p x → p (f x)) (x : { x // p x }) : subtypePermOfFintype f h x = ⟨f x, h x x.2⟩ 
goal: (f.subtypePermOfFintype h) x = ⟨f ↑x, ⋯⟩

full_name: Equiv.Perm.subtypePermOfFintype_one
code: theorem subtypePermOfFintype_one (p : α → Prop) [Finite { x // p x }]
    (h : ∀ x, p x → p ((1 : Perm α) x)) : @subtypePermOfFintype α 1 p _ h = 1 
goal: Equiv.Perm.subtypePermOfFintype 1 h = 1

full_name: Equiv.Perm.perm_mapsTo_inl_iff_mapsTo_inr
code: theorem perm_mapsTo_inl_iff_mapsTo_inr {m n : Type*} [Finite m] [Finite n] (σ : Perm (m ⊕ n)) :
    Set.MapsTo σ (Set.range Sum.inl) (Set.range Sum.inl) ↔
      Set.MapsTo σ (Set.range Sum.inr) (Set.range Sum.inr) 
goal: Set.MapsTo (⇑σ) (Set.range Sum.inl) (Set.range Sum.inl) ↔ Set.MapsTo (⇑σ) (Set.range Sum.inr) (Set.range Sum.inr)

full_name: Equiv.Perm.mem_sumCongrHom_range_of_perm_mapsTo_inl
code: theorem mem_sumCongrHom_range_of_perm_mapsTo_inl {m n : Type*} [Finite m] [Finite n]
    {σ : Perm (m ⊕ n)} (h : Set.MapsTo σ (Set.range Sum.inl) (Set.range Sum.inl)) :
    σ ∈ (sumCongrHom m n).range 
goal: σ ∈ (Equiv.Perm.sumCongrHom m n).range

full_name: Equiv.Perm.Disjoint.orderOf
code: nonrec theorem Disjoint.orderOf {σ τ : Perm α} (hστ : Disjoint σ τ) :
    orderOf (σ * τ) = Nat.lcm (orderOf σ) (orderOf τ) 
goal: orderOf (σ * τ) = (orderOf σ).lcm (orderOf τ)

full_name: Equiv.Perm.Disjoint.extendDomain
code: theorem Disjoint.extendDomain {p : β → Prop} [DecidablePred p] (f : α ≃ Subtype p)
    {σ τ : Perm α} (h : Disjoint σ τ) : Disjoint (σ.extendDomain f) (τ.extendDomain f) 
goal: (σ.extendDomain f).Disjoint (τ.extendDomain f)

full_name: Equiv.Perm.Disjoint.isConj_mul
code: theorem Disjoint.isConj_mul [Finite α] {σ τ π ρ : Perm α} (hc1 : IsConj σ π)
    (hc2 : IsConj τ ρ) (hd1 : Disjoint σ τ) (hd2 : Disjoint π ρ) : IsConj (σ * τ) (π * ρ) 
goal: IsConj (σ * τ) (π * ρ)

full_name: Equiv.Perm.support_pow_coprime
code: theorem support_pow_coprime {σ : Perm α} {n : ℕ} (h : Nat.Coprime n (orderOf σ)) :
    (σ ^ n).support = σ.support 
goal: (σ ^ n).support = σ.support