ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- QuotientGroup.card_preimage_mk
theorem QuotientGroup.card_preimage_mk (s : Subgroup G) (t : Set (G ⧸ s)) :
    Nat.card (QuotientGroup.mk ⁻¹' t) = Nat.card s * Nat.card t 
Arguments: {G : Type u} [Group G] (s : Subgroup G) (t : Set (G ⧸ s))
Goal: Nat.card ↑(QuotientGroup.mk ⁻¹' t) = Nat.card ↥s * Nat.card ↑t
-- Sylow.mem_fixedPoints_mul_left_cosets_iff_mem_normalizer
theorem mem_fixedPoints_mul_left_cosets_iff_mem_normalizer {H : Subgroup G} [Finite (H : Set G)]
    {x : G} : (x : G ⧸ H) ∈ MulAction.fixedPoints H (G ⧸ H) ↔ x ∈ normalizer H 
Arguments: {G : Type u} [Group G] {H : Subgroup G} [Finite ↑↑H] {x : G}
Goal: ↑x ∈ MulAction.fixedPoints (↥H) (G ⧸ H) ↔ x ∈ H.normalizer
-- Sylow.card_quotient_normalizer_modEq_card_quotient
theorem card_quotient_normalizer_modEq_card_quotient [Finite G] {p : ℕ} {n : ℕ} [hp : Fact p.Prime]
    {H : Subgroup G} (hH : Nat.card H = p ^ n) :
    Nat.card (normalizer H ⧸ Subgroup.comap ((normalizer H).subtype : normalizer H →* G) H) ≡
      Nat.card (G ⧸ H) [MOD p] 
Arguments: {G : Type u} [Group G] [Finite G] {p n : ℕ} [hp : Fact (Nat.Prime p)] {H : Subgroup G} (hH : Nat.card ↥H = p ^ n)
Goal: Nat.card (↥H.normalizer ⧸ Subgroup.comap H.normalizer.subtype H) ≡ Nat.card (G ⧸ H) [MOD p]
-- Sylow.card_normalizer_modEq_card
theorem card_normalizer_modEq_card [Finite G] {p : ℕ} {n : ℕ} [hp : Fact p.Prime] {H : Subgroup G}
    (hH : Nat.card H = p ^ n) : Nat.card (normalizer H) ≡ Nat.card G [MOD p ^ (n + 1)] 
Arguments: {G : Type u} [Group G] [Finite G] {p n : ℕ} [hp : Fact (Nat.Prime p)] {H : Subgroup G} (hH : Nat.card ↥H = p ^ n)
Goal: Nat.card ↥H.normalizer ≡ Nat.card G [MOD p ^ (n + 1)]
-- Sylow.prime_dvd_card_quotient_normalizer
theorem prime_dvd_card_quotient_normalizer [Finite G] {p : ℕ} {n : ℕ} [hp : Fact p.Prime]
    (hdvd : p ^ (n + 1) ∣ Nat.card G) {H : Subgroup G} (hH : Nat.card H = p ^ n) :
    p ∣ Nat.card (normalizer H ⧸ Subgroup.comap ((normalizer H).subtype : normalizer H →* G) H) 
Arguments: {G : Type u} [Group G] [Finite G] {p n : ℕ} [hp : Fact (Nat.Prime p)] (hdvd : p ^ (n + 1) ∣ Nat.card G) {H : Subgroup G} (hH : Nat.card ↥H = p ^ n)
Goal: p ∣ Nat.card (↥H.normalizer ⧸ Subgroup.comap H.normalizer.subtype H)
-- Sylow.prime_pow_dvd_card_normalizer
theorem prime_pow_dvd_card_normalizer [Finite G] {p : ℕ} {n : ℕ} [_hp : Fact p.Prime]
    (hdvd : p ^ (n + 1) ∣ Nat.card G) {H : Subgroup G} (hH : Nat.card H = p ^ n) :
    p ^ (n + 1) ∣ Nat.card (normalizer H) 
Arguments: {G : Type u} [Group G] [Finite G] {p n : ℕ} [_hp : Fact (Nat.Prime p)] (hdvd : p ^ (n + 1) ∣ Nat.card G) {H : Subgroup G} (hH : Nat.card ↥H = p ^ n)
Goal: p ^ (n + 1) ∣ Nat.card ↥H.normalizer
-- Sylow.exists_subgroup_card_pow_succ
theorem exists_subgroup_card_pow_succ [Finite G] {p : ℕ} {n : ℕ} [hp : Fact p.Prime]
    (hdvd : p ^ (n + 1) ∣ Nat.card G) {H : Subgroup G} (hH : Nat.card H = p ^ n) :
    ∃ K : Subgroup G, Nat.card K = p ^ (n + 1) ∧ H ≤ K 
Arguments: {G : Type u} [Group G] [Finite G] {p n : ℕ} [hp : Fact (Nat.Prime p)] (hdvd : p ^ (n + 1) ∣ Nat.card G) {H : Subgroup G} (hH : Nat.card ↥H = p ^ n)
Goal: ∃ K, Nat.card ↥K = p ^ (n + 1) ∧ H ≤ K
-- Sylow.exists_subgroup_card_pow_prime_le
theorem exists_subgroup_card_pow_prime_le [Finite G] (p : ℕ) :
    ∀ {n m : ℕ} [_hp : Fact p.Prime] (_hdvd : p ^ m ∣ Nat.card G) (H : Subgroup G)
      (_hH : Nat.card H = p ^ n) (_hnm : n ≤ m), ∃ K : Subgroup G, Nat.card K = p ^ m ∧ H ≤ K
  
Arguments: {G : Type u} [Group G] [Finite G] (p : ℕ) {n m : ℕ} [_hp : Fact (Nat.Prime p)] (_hdvd : p ^ m ∣ Nat.card G) (H : Subgroup G) (_hH : Nat.card ↥H = p ^ n) (_hnm : n ≤ m)
Goal: ∃ K, Nat.card ↥K = p ^ m ∧ H ≤ K
-- Sylow.exists_subgroup_card_pow_prime
theorem exists_subgroup_card_pow_prime [Finite G] (p : ℕ) {n : ℕ} [Fact p.Prime]
    (hdvd : p ^ n ∣ Nat.card G) : ∃ K : Subgroup G, Nat.card K = p ^ n 
Arguments: {G : Type u} [Group G] [Finite G] (p : ℕ) {n : ℕ} [Fact (Nat.Prime p)] (hdvd : p ^ n ∣ Nat.card G)
Goal: ∃ K, Nat.card ↥K = p ^ n
-- Sylow.exists_subgroup_card_pow_prime_of_le_card
lemma exists_subgroup_card_pow_prime_of_le_card {n p : ℕ} (hp : p.Prime) (h : IsPGroup p G)
    (hn : p ^ n ≤ Nat.card G) : ∃ H : Subgroup G, Nat.card H = p ^ n 
Arguments: {G : Type u} [Group G] {n p : ℕ} (hp : Nat.Prime p) (h : IsPGroup p G) (hn : p ^ n ≤ Nat.card G)
Goal: ∃ H, Nat.card ↥H = p ^ n
-- Sylow.exists_subgroup_le_card_pow_prime_of_le_card
lemma exists_subgroup_le_card_pow_prime_of_le_card {n p : ℕ} (hp : p.Prime) (h : IsPGroup p G)
    {H : Subgroup G} (hn : p ^ n ≤ Nat.card H) : ∃ H' ≤ H, Nat.card H' = p ^ n 
Arguments: {G : Type u} [Group G] {n p : ℕ} (hp : Nat.Prime p) (h : IsPGroup p G) {H : Subgroup G} (hn : p ^ n ≤ Nat.card ↥H)
Goal: ∃ H' ≤ H, Nat.card ↥H' = p ^ n
-- Sylow.exists_subgroup_le_card_le
lemma exists_subgroup_le_card_le {k p : ℕ} (hp : p.Prime) (h : IsPGroup p G) {H : Subgroup G}
    (hk : k ≤ Nat.card H) (hk₀ : k ≠ 0) : ∃ H' ≤ H, Nat.card H' ≤ k ∧ k < p * Nat.card H' 
Arguments: {G : Type u} [Group G] {k p : ℕ} (hp : Nat.Prime p) (h : IsPGroup p G) {H : Subgroup G} (hk : k ≤ Nat.card ↥H) (hk₀ : k ≠ 0)
Goal: ∃ H' ≤ H, Nat.card ↥H' ≤ k ∧ k < p * Nat.card ↥H'
-- Sylow.pow_dvd_card_of_pow_dvd_card
theorem pow_dvd_card_of_pow_dvd_card [Finite G] {p n : ℕ} [hp : Fact p.Prime] (P : Sylow p G)
    (hdvd : p ^ n ∣ Nat.card G) : p ^ n ∣ Nat.card P 
Arguments: {G : Type u} [Group G] [Finite G] {p n : ℕ} [hp : Fact (Nat.Prime p)] (P : Sylow p G) (hdvd : p ^ n ∣ Nat.card G)
Goal: p ^ n ∣ Nat.card ↥↑P
-- Sylow.dvd_card_of_dvd_card
theorem dvd_card_of_dvd_card [Finite G] {p : ℕ} [Fact p.Prime] (P : Sylow p G)
    (hdvd : p ∣ Nat.card G) : p ∣ Nat.card P 
Arguments: {G : Type u} [Group G] [Finite G] {p : ℕ} [Fact (Nat.Prime p)] (P : Sylow p G) (hdvd : p ∣ Nat.card G)
Goal: p ∣ Nat.card ↥↑P
-- Sylow.card_coprime_index
theorem card_coprime_index [Finite G] {p : ℕ} [hp : Fact p.Prime] (P : Sylow p G) :
    (Nat.card P).Coprime (index (P : Subgroup G)) 
Arguments: {G : Type u} [Group G] [Finite G] {p : ℕ} [hp : Fact (Nat.Prime p)] (P : Sylow p G)
Goal: (Nat.card ↥↑P).Coprime (↑P).index
-- Sylow.ne_bot_of_dvd_card
theorem ne_bot_of_dvd_card [Finite G] {p : ℕ} [hp : Fact p.Prime] (P : Sylow p G)
    (hdvd : p ∣ Nat.card G) : (P : Subgroup G) ≠ ⊥ 
Arguments: {G : Type u} [Group G] [Finite G] {p : ℕ} [hp : Fact (Nat.Prime p)] (P : Sylow p G) (hdvd : p ∣ Nat.card G)
Goal: ↑P ≠ ⊥
-- Sylow.card_eq_multiplicity
theorem card_eq_multiplicity [Finite G] {p : ℕ} [hp : Fact p.Prime] (P : Sylow p G) :
    Nat.card P = p ^ Nat.factorization (Nat.card G) p 
Arguments: {G : Type u} [Group G] [Finite G] {p : ℕ} [hp : Fact (Nat.Prime p)] (P : Sylow p G)
Goal: Nat.card ↥↑P = p ^ (Nat.card G).factorization p
-- Sylow.coe_ofCard
@[simp, norm_cast]
theorem coe_ofCard [Finite G] {p : ℕ} [Fact p.Prime] (H : Subgroup G)
    (card_eq : Nat.card H = p ^ (Nat.card G).factorization p) : ↑(ofCard H card_eq) = H 
Arguments: {G : Type u} [Group G] [Finite G] {p : ℕ} [Fact (Nat.Prime p)] (H : Subgroup G) (card_eq : Nat.card ↥H = p ^ (Nat.card G).factorization p)
Goal: ↑(Sylow.ofCard H card_eq) = H
-- Sylow.characteristic_of_normal
theorem characteristic_of_normal {p : ℕ} [Fact p.Prime] [Finite (Sylow p G)] (P : Sylow p G)
    (h : (P : Subgroup G).Normal) : (P : Subgroup G).Characteristic 
Arguments: {G : Type u} [Group G] {p : ℕ} [Fact (Nat.Prime p)] [Finite (Sylow p G)] (P : Sylow p G) (h : (↑P).Normal)
Goal: (↑P).Characteristic
-- Sylow.normal_of_normalizer_normal
theorem normal_of_normalizer_normal {p : ℕ} [Fact p.Prime] [Finite (Sylow p G)] (P : Sylow p G)
    (hn : (↑P : Subgroup G).normalizer.Normal) : (↑P : Subgroup G).Normal 
Arguments: {G : Type u} [Group G] {p : ℕ} [Fact (Nat.Prime p)] [Finite (Sylow p G)] (P : Sylow p G) (hn : (↑P).normalizer.Normal)
Goal: (↑P).Normal
-- Sylow.normalizer_normalizer
@[simp]
theorem normalizer_normalizer {p : ℕ} [Fact p.Prime] [Finite (Sylow p G)] (P : Sylow p G) :
    (↑P : Subgroup G).normalizer.normalizer = (↑P : Subgroup G).normalizer 
Arguments: {G : Type u} [Group G] {p : ℕ} [Fact (Nat.Prime p)] [Finite (Sylow p G)] (P : Sylow p G)
Goal: (↑P).normalizer.normalizer = (↑P).normalizer
-- Sylow.normal_of_all_max_subgroups_normal
theorem normal_of_all_max_subgroups_normal [Finite G]
    (hnc : ∀ H : Subgroup G, IsCoatom H → H.Normal) {p : ℕ} [Fact p.Prime] [Finite (Sylow p G)]
    (P : Sylow p G) : (↑P : Subgroup G).Normal 
Arguments: {G : Type u} [Group G] [Finite G] (hnc : ∀ (H : Subgroup G), IsCoatom H → H.Normal) {p : ℕ} [Fact (Nat.Prime p)] [Finite (Sylow p G)] (P : Sylow p G)
Goal: (↑P).Normal
-- Sylow.normal_of_normalizerCondition
theorem normal_of_normalizerCondition (hnc : NormalizerCondition G) {p : ℕ} [Fact p.Prime]
    [Finite (Sylow p G)] (P : Sylow p G) : (↑P : Subgroup G).Normal 
Arguments: {G : Type u} [Group G] (hnc : NormalizerCondition G) {p : ℕ} [Fact (Nat.Prime p)] [Finite (Sylow p G)] (P : Sylow p G)
Goal: (↑P).Normal
-- List.formPerm_nil
@[simp]
theorem formPerm_nil : formPerm ([] : List α) = 1 
Arguments: {α : Type u_1} [DecidableEq α]
Goal: [].formPerm = 1
-- List.formPerm_singleton
@[simp]
theorem formPerm_singleton (x : α) : formPerm [x] = 1 
Arguments: {α : Type u_1} [DecidableEq α] (x : α)
Goal: [x].formPerm = 1
-- List.formPerm_cons_cons
@[simp]
theorem formPerm_cons_cons (x y : α) (l : List α) :
    formPerm (x :: y :: l) = swap x y * formPerm (y :: l) 
Arguments: {α : Type u_1} [DecidableEq α] (x y : α) (l : List α)
Goal: (x :: y :: l).formPerm = Equiv.swap x y * (y :: l).formPerm
-- List.formPerm_pair
theorem formPerm_pair (x y : α) : formPerm [x, y] = swap x y 
Arguments: {α : Type u_1} [DecidableEq α] (x y : α)
Goal: [x, y].formPerm = Equiv.swap x y
-- List.mem_or_mem_of_zipWith_swap_prod_ne
theorem mem_or_mem_of_zipWith_swap_prod_ne : ∀ {l l' : List α} {x : α},
    (zipWith swap l l').prod x ≠ x → x ∈ l ∨ x ∈ l'
  
Arguments: {α : Type u_1} [DecidableEq α] {l l' : List α} {x : α}
Goal: (List.zipWith Equiv.swap l l').prod x ≠ x → x ∈ l ∨ x ∈ l'
-- List.zipWith_swap_prod_support'
theorem zipWith_swap_prod_support' (l l' : List α) :
    { x | (zipWith swap l l').prod x ≠ x } ≤ l.toFinset ⊔ l'.toFinset 
Arguments: {α : Type u_1} [DecidableEq α] (l l' : List α)
Goal: {x | (List.zipWith Equiv.swap l l').prod x ≠ x} ≤ ↑(l.toFinset ⊔ l'.toFinset)
-- List.zipWith_swap_prod_support
theorem zipWith_swap_prod_support [Fintype α] (l l' : List α) :
    (zipWith swap l l').prod.support ≤ l.toFinset ⊔ l'.toFinset 
Arguments: {α : Type u_1} [DecidableEq α] [Fintype α] (l l' : List α)
Goal: (List.zipWith Equiv.swap l l').prod.support ≤ l.toFinset ⊔ l'.toFinset
-- List.support_formPerm_le'
theorem support_formPerm_le' : { x | formPerm l x ≠ x } ≤ l.toFinset 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α)
Goal: {x | l.formPerm x ≠ x} ≤ ↑l.toFinset
-- List.support_formPerm_le
theorem support_formPerm_le [Fintype α] : support (formPerm l) ≤ l.toFinset 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) [Fintype α]
Goal: l.formPerm.support ≤ l.toFinset
-- List.mem_of_formPerm_apply_ne
theorem mem_of_formPerm_apply_ne (h : l.formPerm x ≠ x) : x ∈ l 
Arguments: {α : Type u_1} [DecidableEq α] {l : List α} {x : α} (h : l.formPerm x ≠ x)
Goal: x ∈ l
-- List.formPerm_apply_of_not_mem
theorem formPerm_apply_of_not_mem (h : x ∉ l) : formPerm l x = x 
Arguments: {α : Type u_1} [DecidableEq α] {l : List α} {x : α} (h : x ∉ l)
Goal: l.formPerm x = x
-- List.formPerm_apply_mem_of_mem
theorem formPerm_apply_mem_of_mem (h : x ∈ l) : formPerm l x ∈ l 
Arguments: {α : Type u_1} [DecidableEq α] {l : List α} {x : α} (h : x ∈ l)
Goal: l.formPerm x ∈ l
-- List.mem_of_formPerm_apply_mem
theorem mem_of_formPerm_apply_mem (h : l.formPerm x ∈ l) : x ∈ l 
Arguments: {α : Type u_1} [DecidableEq α] {l : List α} {x : α} (h : l.formPerm x ∈ l)
Goal: x ∈ l
-- List.formPerm_mem_iff_mem
@[simp]
theorem formPerm_mem_iff_mem : l.formPerm x ∈ l ↔ x ∈ l 
Arguments: {α : Type u_1} [DecidableEq α] {l : List α} {x : α}
Goal: l.formPerm x ∈ l ↔ x ∈ l
-- List.formPerm_cons_concat_apply_last
@[simp]
theorem formPerm_cons_concat_apply_last (x y : α) (xs : List α) :
    formPerm (x :: (xs ++ [y])) y = x 
Arguments: {α : Type u_1} [DecidableEq α] (x y : α) (xs : List α)
Goal: (x :: (xs ++ [y])).formPerm y = x
-- List.formPerm_apply_getLast
@[simp]
theorem formPerm_apply_getLast (x : α) (xs : List α) :
    formPerm (x :: xs) ((x :: xs).getLast (cons_ne_nil x xs)) = x 
Arguments: {α : Type u_1} [DecidableEq α] (x : α) (xs : List α)
Goal: (x :: xs).formPerm ((x :: xs).getLast ⋯) = x
-- List.formPerm_apply_getElem_length
@[simp]
theorem formPerm_apply_getElem_length (x : α) (xs : List α) :
    formPerm (x :: xs) ((x :: xs)[xs.length]) = x 
Arguments: {α : Type u_1} [DecidableEq α] (x : α) (xs : List α)
Goal: (x :: xs).formPerm (x :: xs)[xs.length] = x
-- List.formPerm_apply_get_length
theorem formPerm_apply_get_length (x : α) (xs : List α) :
    formPerm (x :: xs) ((x :: xs).get (Fin.mk xs.length (by simp))) = x 
Arguments: {α : Type u_1} [DecidableEq α] (x : α) (xs : List α)
Goal: (x :: xs).formPerm ((x :: xs).get ⟨xs.length, ⋯⟩) = x
-- List.formPerm_apply_nthLe_length
@[simp, deprecated formPerm_apply_get_length (since := "2024-05-30")]
theorem formPerm_apply_nthLe_length (x : α) (xs : List α) :
    formPerm (x :: xs) ((x :: xs).nthLe xs.length (by simp)) = x 
Arguments: {α : Type u_1} [DecidableEq α] (x : α) (xs : List α)
Goal: (x :: xs).formPerm ((x :: xs).nthLe xs.length ⋯) = x
-- List.formPerm_apply_head
theorem formPerm_apply_head (x y : α) (xs : List α) (h : Nodup (x :: y :: xs)) :
    formPerm (x :: y :: xs) x = y 
Arguments: {α : Type u_1} [DecidableEq α] (x y : α) (xs : List α) (h : (x :: y :: xs).Nodup)
Goal: (x :: y :: xs).formPerm x = y
-- List.formPerm_apply_getElem_zero
theorem formPerm_apply_getElem_zero (l : List α) (h : Nodup l) (hl : 1 < l.length) :
    formPerm l l[0] = l[1] 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (h : l.Nodup) (hl : 1 < l.length)
Goal: l.formPerm l[0] = l[1]
-- List.formPerm_apply_get_zero
theorem formPerm_apply_get_zero (l : List α) (h : Nodup l) (hl : 1 < l.length) :
    formPerm l (l.get (Fin.mk 0 (by omega))) = l.get (Fin.mk 1 hl) 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (h : l.Nodup) (hl : 1 < l.length)
Goal: l.formPerm (l.get ⟨0, ⋯⟩) = l.get ⟨1, hl⟩
-- List.formPerm_apply_nthLe_zero
@[deprecated formPerm_apply_get_zero (since := "2024-05-30")]
theorem formPerm_apply_nthLe_zero (l : List α) (h : Nodup l) (hl : 1 < l.length) :
    formPerm l (l.nthLe 0 (by omega)) = l.nthLe 1 hl 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (h : l.Nodup) (hl : 1 < l.length)
Goal: l.formPerm (l.nthLe 0 ⋯) = l.nthLe 1 hl
-- List.formPerm_eq_head_iff_eq_getLast
theorem formPerm_eq_head_iff_eq_getLast (x y : α) :
    formPerm (y :: l) x = y ↔ x = getLast (y :: l) (cons_ne_nil _ _) 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (x y : α)
Goal: (y :: l).formPerm x = y ↔ x = (y :: l).getLast ⋯
-- List.formPerm_apply_lt_getElem
theorem formPerm_apply_lt_getElem (xs : List α) (h : Nodup xs) (n : ℕ) (hn : n + 1 < xs.length) :
    formPerm xs (xs[n]'((Nat.lt_succ_self n).trans hn)) = xs[n + 1] 
Arguments: {α : Type u_1} [DecidableEq α] (xs : List α) (h : xs.Nodup) (n : ℕ) (hn : n + 1 < xs.length)
Goal: xs.formPerm xs[n] = xs[n + 1]
-- List.formPerm_apply_lt_get
theorem formPerm_apply_lt_get (xs : List α) (h : Nodup xs) (n : ℕ) (hn : n + 1 < xs.length) :
    formPerm xs (xs.get (Fin.mk n ((Nat.lt_succ_self n).trans hn))) =
      xs.get (Fin.mk (n + 1) hn) 
Arguments: {α : Type u_1} [DecidableEq α] (xs : List α) (h : xs.Nodup) (n : ℕ) (hn : n + 1 < xs.length)
Goal: xs.formPerm (xs.get ⟨n, ⋯⟩) = xs.get ⟨n + 1, hn⟩
-- List.formPerm_apply_lt
@[deprecated formPerm_apply_lt_get (since := "2024-05-30")]
theorem formPerm_apply_lt (xs : List α) (h : Nodup xs) (n : ℕ) (hn : n + 1 < xs.length) :
    formPerm xs (xs.nthLe n ((Nat.lt_succ_self n).trans hn)) = xs.nthLe (n + 1) hn 
Arguments: {α : Type u_1} [DecidableEq α] (xs : List α) (h : xs.Nodup) (n : ℕ) (hn : n + 1 < xs.length)
Goal: xs.formPerm (xs.nthLe n ⋯) = xs.nthLe (n + 1) hn
-- List.formPerm_apply_getElem
theorem formPerm_apply_getElem (xs : List α) (w : Nodup xs) (i : Nat) (h : i < xs.length) :
    formPerm xs xs[i] =
      xs[(i + 1) % xs.length]'(Nat.mod_lt _ (i.zero_le.trans_lt h)) 
Arguments: {α : Type u_1} [DecidableEq α] (xs : List α) (w : xs.Nodup) (i : ℕ) (h : i < xs.length)
Goal: xs.formPerm xs[i] = xs[(i + 1) % xs.length]
-- List.formPerm_apply_get
theorem formPerm_apply_get (xs : List α) (h : Nodup xs) (i : Fin xs.length) :
    formPerm xs (xs.get i) =
      xs.get ⟨((i.val + 1) % xs.length), (Nat.mod_lt _ (i.val.zero_le.trans_lt i.isLt))⟩ 
Arguments: {α : Type u_1} [DecidableEq α] (xs : List α) (h : xs.Nodup) (i : Fin xs.length)
Goal: xs.formPerm (xs.get i) = xs.get ⟨(↑i + 1) % xs.length, ⋯⟩
-- List.formPerm_apply_nthLe
@[deprecated formPerm_apply_get (since := "2024-04-23")]
theorem formPerm_apply_nthLe (xs : List α) (h : Nodup xs) (n : ℕ) (hn : n < xs.length) :
    formPerm xs (xs.nthLe n hn) =
      xs.nthLe ((n + 1) % xs.length) (Nat.mod_lt _ (n.zero_le.trans_lt hn)) 
Arguments: {α : Type u_1} [DecidableEq α] (xs : List α) (h : xs.Nodup) (n : ℕ) (hn : n < xs.length)
Goal: xs.formPerm (xs.nthLe n hn) = xs.nthLe ((n + 1) % xs.length) ⋯
-- List.support_formPerm_of_nodup'
theorem support_formPerm_of_nodup' (l : List α) (h : Nodup l) (h' : ∀ x : α, l ≠ [x]) :
    { x | formPerm l x ≠ x } = l.toFinset 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (h : l.Nodup) (h' : ∀ (x : α), l ≠ [x])
Goal: {x | l.formPerm x ≠ x} = ↑l.toFinset
-- List.support_formPerm_of_nodup
theorem support_formPerm_of_nodup [Fintype α] (l : List α) (h : Nodup l) (h' : ∀ x : α, l ≠ [x]) :
    support (formPerm l) = l.toFinset 
Arguments: {α : Type u_1} [DecidableEq α] [Fintype α] (l : List α) (h : l.Nodup) (h' : ∀ (x : α), l ≠ [x])
Goal: l.formPerm.support = l.toFinset
-- List.formPerm_rotate_one
theorem formPerm_rotate_one (l : List α) (h : Nodup l) : formPerm (l.rotate 1) = formPerm l 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (h : l.Nodup)
Goal: (l.rotate 1).formPerm = l.formPerm
-- List.formPerm_rotate
theorem formPerm_rotate (l : List α) (h : Nodup l) (n : ℕ) :
    formPerm (l.rotate n) = formPerm l 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (h : l.Nodup) (n : ℕ)
Goal: (l.rotate n).formPerm = l.formPerm
-- List.formPerm_eq_of_isRotated
theorem formPerm_eq_of_isRotated {l l' : List α} (hd : Nodup l) (h : l ~r l') :
    formPerm l = formPerm l' 
Arguments: {α : Type u_1} [DecidableEq α] {l l' : List α} (hd : l.Nodup) (h : l ~r l')
Goal: l.formPerm = l'.formPerm
-- List.formPerm_append_pair
theorem formPerm_append_pair : ∀ (l : List α) (a b : α),
    formPerm (l ++ [a, b]) = formPerm (l ++ [a]) * swap a b
  
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (a b : α)
Goal: (l ++ [a, b]).formPerm = (l ++ [a]).formPerm * Equiv.swap a b
-- List.formPerm_reverse
theorem formPerm_reverse : ∀ l : List α, formPerm l.reverse = (formPerm l)⁻¹
  
Arguments: {α : Type u_1} [DecidableEq α] (l : List α)
Goal: l.reverse.formPerm = l.formPerm⁻¹
-- List.formPerm_pow_apply_getElem
theorem formPerm_pow_apply_getElem (l : List α) (w : Nodup l) (n : ℕ) (i : Nat) (h : i < l.length) :
    (formPerm l ^ n) l[i] =
      l[(i + n) % l.length]'(Nat.mod_lt _ (i.zero_le.trans_lt h)) 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (w : l.Nodup) (n i : ℕ) (h : i < l.length)
Goal: (l.formPerm ^ n) l[i] = l[(i + n) % l.length]
-- List.formPerm_pow_apply_get
theorem formPerm_pow_apply_get (l : List α) (h : Nodup l) (n : ℕ) (i : Fin l.length) :
    (formPerm l ^ n) (l.get i) =
      l.get ⟨((i.val + n) % l.length), (Nat.mod_lt _ (i.val.zero_le.trans_lt i.isLt))⟩ 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (h : l.Nodup) (n : ℕ) (i : Fin l.length)
Goal: (l.formPerm ^ n) (l.get i) = l.get ⟨(↑i + n) % l.length, ⋯⟩
-- List.formPerm_pow_apply_nthLe
@[deprecated formPerm_pow_apply_get (since := "2024-04-23")]
theorem formPerm_pow_apply_nthLe (l : List α) (h : Nodup l) (n k : ℕ) (hk : k < l.length) :
    (formPerm l ^ n) (l.nthLe k hk) =
      l.nthLe ((k + n) % l.length) (Nat.mod_lt _ (k.zero_le.trans_lt hk)) 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (h : l.Nodup) (n k : ℕ) (hk : k < l.length)
Goal: (l.formPerm ^ n) (l.nthLe k hk) = l.nthLe ((k + n) % l.length) ⋯
-- List.formPerm_pow_apply_head
theorem formPerm_pow_apply_head (x : α) (l : List α) (h : Nodup (x :: l)) (n : ℕ) :
    (formPerm (x :: l) ^ n) x =
      (x :: l).get ⟨(n % (x :: l).length), (Nat.mod_lt _ (Nat.zero_lt_succ _))⟩ 
Arguments: {α : Type u_1} [DecidableEq α] (x : α) (l : List α) (h : (x :: l).Nodup) (n : ℕ)
Goal: ((x :: l).formPerm ^ n) x = (x :: l).get ⟨n % (x :: l).length, ⋯⟩
-- List.formPerm_ext_iff
theorem formPerm_ext_iff {x y x' y' : α} {l l' : List α} (hd : Nodup (x :: y :: l))
    (hd' : Nodup (x' :: y' :: l')) :
    formPerm (x :: y :: l) = formPerm (x' :: y' :: l') ↔ (x :: y :: l) ~r (x' :: y' :: l') 
Arguments: {α : Type u_1} [DecidableEq α] {x y x' y' : α} {l l' : List α} (hd : (x :: y :: l).Nodup) (hd' : (x' :: y' :: l').Nodup)
Goal: (x :: y :: l).formPerm = (x' :: y' :: l').formPerm ↔ (x :: y :: l) ~r (x' :: y' :: l')
-- List.formPerm_apply_mem_eq_self_iff
theorem formPerm_apply_mem_eq_self_iff (hl : Nodup l) (x : α) (hx : x ∈ l) :
    formPerm l x = x ↔ length l ≤ 1 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (hl : l.Nodup) (x : α) (hx : x ∈ l)
Goal: l.formPerm x = x ↔ l.length ≤ 1
-- List.formPerm_apply_mem_ne_self_iff
theorem formPerm_apply_mem_ne_self_iff (hl : Nodup l) (x : α) (hx : x ∈ l) :
    formPerm l x ≠ x ↔ 2 ≤ l.length 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (hl : l.Nodup) (x : α) (hx : x ∈ l)
Goal: l.formPerm x ≠ x ↔ 2 ≤ l.length
-- List.mem_of_formPerm_ne_self
theorem mem_of_formPerm_ne_self (l : List α) (x : α) (h : formPerm l x ≠ x) : x ∈ l 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (x : α) (h : l.formPerm x ≠ x)
Goal: x ∈ l
-- List.formPerm_eq_self_of_not_mem
theorem formPerm_eq_self_of_not_mem (l : List α) (x : α) (h : x ∉ l) : formPerm l x = x 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (x : α) (h : x ∉ l)
Goal: l.formPerm x = x
-- List.formPerm_eq_one_iff
theorem formPerm_eq_one_iff (hl : Nodup l) : formPerm l = 1 ↔ l.length ≤ 1 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (hl : l.Nodup)
Goal: l.formPerm = 1 ↔ l.length ≤ 1
-- List.formPerm_eq_formPerm_iff
theorem formPerm_eq_formPerm_iff {l l' : List α} (hl : l.Nodup) (hl' : l'.Nodup) :
    l.formPerm = l'.formPerm ↔ l ~r l' ∨ l.length ≤ 1 ∧ l'.length ≤ 1 
Arguments: {α : Type u_1} [DecidableEq α] {l l' : List α} (hl : l.Nodup) (hl' : l'.Nodup)
Goal: l.formPerm = l'.formPerm ↔ l ~r l' ∨ l.length ≤ 1 ∧ l'.length ≤ 1
-- List.form_perm_zpow_apply_mem_imp_mem
theorem form_perm_zpow_apply_mem_imp_mem (l : List α) (x : α) (hx : x ∈ l) (n : ℤ) :
    (formPerm l ^ n) x ∈ l 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (x : α) (hx : x ∈ l) (n : ℤ)
Goal: (l.formPerm ^ n) x ∈ l
-- List.formPerm_pow_length_eq_one_of_nodup
theorem formPerm_pow_length_eq_one_of_nodup (hl : Nodup l) : formPerm l ^ length l = 1 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (hl : l.Nodup)
Goal: l.formPerm ^ l.length = 1
-- List.formPerm_disjoint_iff
theorem formPerm_disjoint_iff (hl : Nodup l) (hl' : Nodup l') (hn : 2 ≤ l.length)
    (hn' : 2 ≤ l'.length) : Perm.Disjoint (formPerm l) (formPerm l') ↔ l.Disjoint l' 
Arguments: {α : Type u_1} [DecidableEq α] {l l' : List α} (hl : l.Nodup) (hl' : l'.Nodup) (hn : 2 ≤ l.length) (hn' : 2 ≤ l'.length)
Goal: l.formPerm.Disjoint l'.formPerm ↔ l.Disjoint l'
-- List.isCycle_formPerm
theorem isCycle_formPerm (hl : Nodup l) (hn : 2 ≤ l.length) : IsCycle (formPerm l) 
Arguments: {α : Type u_1} [DecidableEq α] {l : List α} (hl : l.Nodup) (hn : 2 ≤ l.length)
Goal: l.formPerm.IsCycle
-- List.pairwise_sameCycle_formPerm
theorem pairwise_sameCycle_formPerm (hl : Nodup l) (hn : 2 ≤ l.length) :
    Pairwise l.formPerm.SameCycle l 
Arguments: {α : Type u_1} [DecidableEq α] {l : List α} (hl : l.Nodup) (hn : 2 ≤ l.length)
Goal: List.Pairwise l.formPerm.SameCycle l
-- List.cycleOf_formPerm
theorem cycleOf_formPerm (hl : Nodup l) (hn : 2 ≤ l.length) (x) :
    cycleOf l.attach.formPerm x = l.attach.formPerm 
Arguments: {α : Type u_1} [DecidableEq α] {l : List α} (hl : l.Nodup) (hn : 2 ≤ l.length) (x : { x // x ∈ l })
Goal: l.attach.formPerm.cycleOf x = l.attach.formPerm