ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- finite_multiples
@[to_additive (attr := simp)]
lemma finite_powers : (powers a : Set G).Finite ↔ IsOfFinOrder a 
Arguments: {G : Type u_1} [AddLeftCancelMonoid G] {a : G}
Goal: (↑(AddSubmonoid.multiples a)).Finite ↔ IsOfFinAddOrder a
-- infinite_multiples
@[to_additive (attr := simp)]
lemma infinite_powers : (powers a : Set G).Infinite ↔ ¬ IsOfFinOrder a 
Arguments: {G : Type u_1} [AddLeftCancelMonoid G] {a : G}
Goal: (↑(AddSubmonoid.multiples a)).Infinite ↔ ¬IsOfFinAddOrder a
-- infinite_powers
@[to_additive (attr := simp)]
lemma infinite_powers : (powers a : Set G).Infinite ↔ ¬ IsOfFinOrder a 
Arguments: {G : Type u_1} [LeftCancelMonoid G] {a : G}
Goal: (↑(Submonoid.powers a)).Infinite ↔ ¬IsOfFinOrder a
-- finEquivPowers_apply
@[to_additive (attr := simp)]
lemma finEquivPowers_apply (x : G) (hx) {n : Fin (orderOf x)} :
    finEquivPowers x hx n = ⟨x ^ (n : ℕ), n, rfl⟩ 
Arguments: {G : Type u_1} [LeftCancelMonoid G] (x : G) (hx : IsOfFinOrder x) {n : Fin (orderOf x)}
Goal: (finEquivPowers x hx) n = ⟨x ^ ↑n, ⋯⟩
-- finEquivMultiples_apply
@[to_additive (attr := simp)]
lemma finEquivPowers_apply (x : G) (hx) {n : Fin (orderOf x)} :
    finEquivPowers x hx n = ⟨x ^ (n : ℕ), n, rfl⟩ 
Arguments: {G : Type u_1} [AddLeftCancelMonoid G] (x : G) (hx : IsOfFinAddOrder x) {n : Fin (addOrderOf x)}
Goal: (finEquivMultiples x hx) n = ⟨↑n • x, ⋯⟩
-- finEquivPowers_symm_apply
@[to_additive (attr := simp)]
lemma finEquivPowers_symm_apply (x : G) (hx) (n : ℕ) {hn : ∃ m : ℕ, x ^ m = x ^ n} :
    (finEquivPowers x hx).symm ⟨x ^ n, hn⟩ = ⟨n % orderOf x, Nat.mod_lt _ hx.orderOf_pos⟩ 
Arguments: {G : Type u_1} [LeftCancelMonoid G] (x : G) (hx : IsOfFinOrder x) (n : ℕ) {hn : ∃ m, x ^ m = x ^ n}
Goal: (finEquivPowers x hx).symm ⟨x ^ n, hn⟩ = ⟨n % orderOf x, ⋯⟩
-- finEquivMultiples_symm_apply
@[to_additive (attr := simp)]
lemma finEquivPowers_symm_apply (x : G) (hx) (n : ℕ) {hn : ∃ m : ℕ, x ^ m = x ^ n} :
    (finEquivPowers x hx).symm ⟨x ^ n, hn⟩ = ⟨n % orderOf x, Nat.mod_lt _ hx.orderOf_pos⟩ 
Arguments: {G : Type u_1} [AddLeftCancelMonoid G] (x : G) (hx : IsOfFinAddOrder x) (n : ℕ) {hn : ∃ m, m • x = n • x}
Goal: (finEquivMultiples x hx).symm ⟨n • x, hn⟩ = ⟨n % addOrderOf x, ⋯⟩
-- Nat.card_addSubmonoidMultiples
@[to_additive "See also `addOrder_eq_card_multiples`."]
lemma Nat.card_submonoidPowers : Nat.card (powers a) = orderOf a 
Arguments: {G : Type u_1} [AddLeftCancelMonoid G] {a : G}
Goal: Nat.card ↥(AddSubmonoid.multiples a) = addOrderOf a
-- Nat.card_submonoidPowers
@[to_additive "See also `addOrder_eq_card_multiples`."]
lemma Nat.card_submonoidPowers : Nat.card (powers a) = orderOf a 
Arguments: {G : Type u_1} [LeftCancelMonoid G] {a : G}
Goal: Nat.card ↥(Submonoid.powers a) = orderOf a
-- isOfFinAddOrder_neg_iff
@[to_additive (attr := simp) "Inverses of elements of finite additive order
have finite additive order."]
theorem isOfFinOrder_inv_iff {x : G} : IsOfFinOrder x⁻¹ ↔ IsOfFinOrder x 
Arguments: {G : Type u_1} [AddGroup G] {x : G}
Goal: IsOfFinAddOrder (-x) ↔ IsOfFinAddOrder x
-- isOfFinOrder_inv_iff
@[to_additive (attr := simp) "Inverses of elements of finite additive order
have finite additive order."]
theorem isOfFinOrder_inv_iff {x : G} : IsOfFinOrder x⁻¹ ↔ IsOfFinOrder x 
Arguments: {G : Type u_1} [Group G] {x : G}
Goal: IsOfFinOrder x⁻¹ ↔ IsOfFinOrder x
-- addOrderOf_dvd_iff_zsmul_eq_zero
@[to_additive]
theorem orderOf_dvd_iff_zpow_eq_one : (orderOf x : ℤ) ∣ i ↔ x ^ i = 1 
Arguments: {G : Type u_1} [AddGroup G] {x : G} {i : ℤ}
Goal: ↑(addOrderOf x) ∣ i ↔ i • x = 0
-- orderOf_dvd_iff_zpow_eq_one
@[to_additive]
theorem orderOf_dvd_iff_zpow_eq_one : (orderOf x : ℤ) ∣ i ↔ x ^ i = 1 
Arguments: {G : Type u_1} [Group G] {x : G} {i : ℤ}
Goal: ↑(orderOf x) ∣ i ↔ x ^ i = 1
-- addOrderOf_neg
@[to_additive (attr := simp)]
theorem orderOf_inv (x : G) : orderOf x⁻¹ = orderOf x 
Arguments: {G : Type u_1} [AddGroup G] (x : G)
Goal: addOrderOf (-x) = addOrderOf x
-- orderOf_inv
@[to_additive (attr := simp)]
theorem orderOf_inv (x : G) : orderOf x⁻¹ = orderOf x 
Arguments: {G : Type u_1} [Group G] (x : G)
Goal: orderOf x⁻¹ = orderOf x
-- Subgroup.orderOf_coe
@[to_additive (attr := norm_cast)] -- Porting note (#10618): simp can prove this (so removed simp)
lemma orderOf_coe (a : H) : orderOf (a : G) = orderOf a 
Arguments: {G : Type u_1} [Group G] {H : Subgroup G} (a : ↥H)
Goal: orderOf ↑a = orderOf a
-- AddSubgroup.addOrderOf_coe
@[to_additive (attr := norm_cast)] -- Porting note (#10618): simp can prove this (so removed simp)
lemma orderOf_coe (a : H) : orderOf (a : G) = orderOf a 
Arguments: {G : Type u_1} [AddGroup G] {H : AddSubgroup G} (a : ↥H)
Goal: addOrderOf ↑a = addOrderOf a
-- AddSubgroup.addOrderOf_mk
@[to_additive (attr := simp)]
lemma orderOf_mk (a : G) (ha) : orderOf (⟨a, ha⟩ : H) = orderOf a 
Arguments: {G : Type u_1} [AddGroup G] {H : AddSubgroup G} (a : G) (ha : a ∈ H)
Goal: addOrderOf ⟨a, ha⟩ = addOrderOf a
-- Subgroup.orderOf_mk
@[to_additive (attr := simp)]
lemma orderOf_mk (a : G) (ha) : orderOf (⟨a, ha⟩ : H) = orderOf a 
Arguments: {G : Type u_1} [Group G] {H : Subgroup G} (a : G) (ha : a ∈ H)
Goal: orderOf ⟨a, ha⟩ = orderOf a
-- mod_addOrderOf_zsmul
@[to_additive mod_addOrderOf_zsmul]
lemma zpow_mod_orderOf (x : G) (z : ℤ) : x ^ (z % (orderOf x : ℤ)) = x ^ z 
Arguments: {G : Type u_1} [AddGroup G] (x : G) (z : ℤ)
Goal: (z % ↑(addOrderOf x)) • x = z • x
-- zpow_mod_orderOf
@[to_additive mod_addOrderOf_zsmul]
lemma zpow_mod_orderOf (x : G) (z : ℤ) : x ^ (z % (orderOf x : ℤ)) = x ^ z 
Arguments: {G : Type u_1} [Group G] (x : G) (z : ℤ)
Goal: x ^ (z % ↑(orderOf x)) = x ^ z
-- zsmul_smul_addOrderOf
@[to_additive (attr := simp) zsmul_smul_addOrderOf]
theorem zpow_pow_orderOf : (x ^ i) ^ orderOf x = 1 
Arguments: {G : Type u_1} [AddGroup G] {x : G} {i : ℤ}
Goal: addOrderOf x • i • x = 0
-- zpow_pow_orderOf
@[to_additive (attr := simp) zsmul_smul_addOrderOf]
theorem zpow_pow_orderOf : (x ^ i) ^ orderOf x = 1 
Arguments: {G : Type u_1} [Group G] {x : G} {i : ℤ}
Goal: (x ^ i) ^ orderOf x = 1
-- IsOfFinAddOrder.zsmul
@[to_additive]
theorem IsOfFinOrder.zpow (h : IsOfFinOrder x) {i : ℤ} : IsOfFinOrder (x ^ i) 
Arguments: {G : Type u_1} [AddGroup G] {x : G} (h : IsOfFinAddOrder x) {i : ℤ}
Goal: IsOfFinAddOrder (i • x)
-- IsOfFinOrder.zpow
@[to_additive]
theorem IsOfFinOrder.zpow (h : IsOfFinOrder x) {i : ℤ} : IsOfFinOrder (x ^ i) 
Arguments: {G : Type u_1} [Group G] {x : G} (h : IsOfFinOrder x) {i : ℤ}
Goal: IsOfFinOrder (x ^ i)
-- IsOfFinAddOrder.of_mem_zmultiples
@[to_additive]
theorem IsOfFinOrder.of_mem_zpowers (h : IsOfFinOrder x) (h' : y ∈ Subgroup.zpowers x) :
    IsOfFinOrder y 
Arguments: {G : Type u_1} [AddGroup G] {x y : G} (h : IsOfFinAddOrder x) (h' : y ∈ AddSubgroup.zmultiples x)
Goal: IsOfFinAddOrder y
-- IsOfFinOrder.of_mem_zpowers
@[to_additive]
theorem IsOfFinOrder.of_mem_zpowers (h : IsOfFinOrder x) (h' : y ∈ Subgroup.zpowers x) :
    IsOfFinOrder y 
Arguments: {G : Type u_1} [Group G] {x y : G} (h : IsOfFinOrder x) (h' : y ∈ Subgroup.zpowers x)
Goal: IsOfFinOrder y
-- addOrderOf_dvd_of_mem_zmultiples
@[to_additive]
theorem orderOf_dvd_of_mem_zpowers (h : y ∈ Subgroup.zpowers x) : orderOf y ∣ orderOf x 
Arguments: {G : Type u_1} [AddGroup G] {x y : G} (h : y ∈ AddSubgroup.zmultiples x)
Goal: addOrderOf y ∣ addOrderOf x
-- orderOf_dvd_of_mem_zpowers
@[to_additive]
theorem orderOf_dvd_of_mem_zpowers (h : y ∈ Subgroup.zpowers x) : orderOf y ∣ orderOf x 
Arguments: {G : Type u_1} [Group G] {x y : G} (h : y ∈ Subgroup.zpowers x)
Goal: orderOf y ∣ orderOf x
-- smul_eq_self_of_mem_zpowers
theorem smul_eq_self_of_mem_zpowers {α : Type*} [MulAction G α] (hx : x ∈ Subgroup.zpowers y)
    {a : α} (hs : y • a = a) : x • a = a 
Arguments: {G : Type u_1} [Group G] {x y : G} {α : Type u_6} [MulAction G α] (hx : x ∈ Subgroup.zpowers y) {a : α} (hs : y • a = a)
Goal: x • a = a
-- vadd_eq_self_of_mem_zmultiples
theorem vadd_eq_self_of_mem_zmultiples {α G : Type*} [AddGroup G] [AddAction G α] {x y : G}
    (hx : x ∈ AddSubgroup.zmultiples y) {a : α} (hs : y +ᵥ a = a) : x +ᵥ a = a 
Arguments: {α : Type u_6} {G : Type u_7} [AddGroup G] [AddAction G α] {x y : G} (hx : x ∈ AddSubgroup.zmultiples y) {a : α} (hs : y +ᵥ a = a)
Goal: x +ᵥ a = a
-- IsOfFinOrder.mem_powers_iff_mem_zpowers
@[to_additive]
lemma IsOfFinOrder.mem_powers_iff_mem_zpowers (hx : IsOfFinOrder x) :
    y ∈ powers x ↔ y ∈ zpowers x 
Arguments: {G : Type u_1} [Group G] {x y : G} (hx : IsOfFinOrder x)
Goal: y ∈ Submonoid.powers x ↔ y ∈ Subgroup.zpowers x
-- IsOfFinAddOrder.mem_multiples_iff_mem_zmultiples
@[to_additive]
lemma IsOfFinOrder.mem_powers_iff_mem_zpowers (hx : IsOfFinOrder x) :
    y ∈ powers x ↔ y ∈ zpowers x 
Arguments: {G : Type u_1} [AddGroup G] {x y : G} (hx : IsOfFinAddOrder x)
Goal: y ∈ AddSubmonoid.multiples x ↔ y ∈ AddSubgroup.zmultiples x
-- IsOfFinOrder.powers_eq_zpowers
@[to_additive]
lemma IsOfFinOrder.powers_eq_zpowers (hx : IsOfFinOrder x) : (powers x : Set G) = zpowers x 
Arguments: {G : Type u_1} [Group G] {x : G} (hx : IsOfFinOrder x)
Goal: ↑(Submonoid.powers x) = ↑(Subgroup.zpowers x)
-- IsOfFinAddOrder.multiples_eq_zmultiples
@[to_additive]
lemma IsOfFinOrder.powers_eq_zpowers (hx : IsOfFinOrder x) : (powers x : Set G) = zpowers x 
Arguments: {G : Type u_1} [AddGroup G] {x : G} (hx : IsOfFinAddOrder x)
Goal: ↑(AddSubmonoid.multiples x) = ↑(AddSubgroup.zmultiples x)
-- IsOfFinAddOrder.mem_zmultiples_iff_mem_range_addOrderOf
@[to_additive]
lemma IsOfFinOrder.mem_zpowers_iff_mem_range_orderOf [DecidableEq G] (hx : IsOfFinOrder x) :
    y ∈ zpowers x ↔ y ∈ (Finset.range (orderOf x)).image (x ^ ·) 
Arguments: {G : Type u_1} [AddGroup G] {x y : G} [DecidableEq G] (hx : IsOfFinAddOrder x)
Goal: y ∈ AddSubgroup.zmultiples x ↔ y ∈ Finset.image (fun x_1 => x_1 • x) (Finset.range (addOrderOf x))
-- IsOfFinOrder.mem_zpowers_iff_mem_range_orderOf
@[to_additive]
lemma IsOfFinOrder.mem_zpowers_iff_mem_range_orderOf [DecidableEq G] (hx : IsOfFinOrder x) :
    y ∈ zpowers x ↔ y ∈ (Finset.range (orderOf x)).image (x ^ ·) 
Arguments: {G : Type u_1} [Group G] {x y : G} [DecidableEq G] (hx : IsOfFinOrder x)
Goal: y ∈ Subgroup.zpowers x ↔ y ∈ Finset.image (fun x_1 => x ^ x_1) (Finset.range (orderOf x))
-- finEquivZMultiples_apply
@[to_additive (attr := simp, nolint simpNF)]
lemma finEquivZPowers_apply (hx) {n : Fin (orderOf x)} :
    finEquivZPowers x hx n = ⟨x ^ (n : ℕ), n, zpow_natCast x n⟩ 
Arguments: {G : Type u_1} [AddGroup G] {x : G} (hx : IsOfFinAddOrder x) {n : Fin (addOrderOf x)}
Goal: (finEquivZMultiples x hx) n = ⟨↑n • x, ⋯⟩
-- finEquivZPowers_apply
@[to_additive (attr := simp, nolint simpNF)]
lemma finEquivZPowers_apply (hx) {n : Fin (orderOf x)} :
    finEquivZPowers x hx n = ⟨x ^ (n : ℕ), n, zpow_natCast x n⟩ 
Arguments: {G : Type u_1} [Group G] {x : G} (hx : IsOfFinOrder x) {n : Fin (orderOf x)}
Goal: (finEquivZPowers x hx) n = ⟨x ^ ↑n, ⋯⟩
-- finEquivZMultiples_symm_apply
@[to_additive (attr := simp, nolint simpNF)]
lemma finEquivZPowers_symm_apply (x : G) (hx) (n : ℕ) :
    (finEquivZPowers x hx).symm ⟨x ^ n, ⟨n, by simp⟩⟩ =
    ⟨n % orderOf x, Nat.mod_lt _ hx.orderOf_pos⟩ 
Arguments: {G : Type u_1} [AddGroup G] (x : G) (hx : IsOfFinAddOrder x) (n : ℕ)
Goal: (finEquivZMultiples x hx).symm ⟨n • x, ⋯⟩ = ⟨n % addOrderOf x, ⋯⟩
-- finEquivZPowers_symm_apply
@[to_additive (attr := simp, nolint simpNF)]
lemma finEquivZPowers_symm_apply (x : G) (hx) (n : ℕ) :
    (finEquivZPowers x hx).symm ⟨x ^ n, ⟨n, by simp⟩⟩ =
    ⟨n % orderOf x, Nat.mod_lt _ hx.orderOf_pos⟩ 
Arguments: {G : Type u_1} [Group G] (x : G) (hx : IsOfFinOrder x) (n : ℕ)
Goal: (finEquivZPowers x hx).symm ⟨x ^ n, ⋯⟩ = ⟨n % orderOf x, ⋯⟩
-- IsOfFinOrder.mul
@[to_additive "Elements of finite additive order are closed under addition."]
theorem IsOfFinOrder.mul (hx : IsOfFinOrder x) (hy : IsOfFinOrder y) : IsOfFinOrder (x * y) 
Arguments: {G : Type u_1} [CommMonoid G] {x y : G} (hx : IsOfFinOrder x) (hy : IsOfFinOrder y)
Goal: IsOfFinOrder (x * y)
-- IsOfFinAddOrder.add
@[to_additive "Elements of finite additive order are closed under addition."]
theorem IsOfFinOrder.mul (hx : IsOfFinOrder x) (hy : IsOfFinOrder y) : IsOfFinOrder (x * y) 
Arguments: {G : Type u_1} [AddCommMonoid G] {x y : G} (hx : IsOfFinAddOrder x) (hy : IsOfFinAddOrder y)
Goal: IsOfFinAddOrder (x + y)
-- sum_card_orderOf_eq_card_pow_eq_one
@[to_additive]
theorem sum_card_orderOf_eq_card_pow_eq_one [Fintype G] [DecidableEq G] (hn : n ≠ 0) :
    (∑ m ∈ (Finset.range n.succ).filter (· ∣ n),
        (Finset.univ.filter fun x : G => orderOf x = m).card) =
      (Finset.univ.filter fun x : G => x ^ n = 1).card 
Arguments: {G : Type u_1} [Monoid G] {n : ℕ} [Fintype G] [DecidableEq G] (hn : n ≠ 0)
Goal: ∑ m ∈ Finset.filter (fun x => x ∣ n) (Finset.range n.succ), (Finset.filter (fun x => orderOf x = m) Finset.univ).card =
  (Finset.filter (fun x => x ^ n = 1) Finset.univ).card
-- sum_card_addOrderOf_eq_card_nsmul_eq_zero
@[to_additive]
theorem sum_card_orderOf_eq_card_pow_eq_one [Fintype G] [DecidableEq G] (hn : n ≠ 0) :
    (∑ m ∈ (Finset.range n.succ).filter (· ∣ n),
        (Finset.univ.filter fun x : G => orderOf x = m).card) =
      (Finset.univ.filter fun x : G => x ^ n = 1).card 
Arguments: {G : Type u_1} [AddMonoid G] {n : ℕ} [Fintype G] [DecidableEq G] (hn : n ≠ 0)
Goal: ∑ m ∈ Finset.filter (fun x => x ∣ n) (Finset.range n.succ),
    (Finset.filter (fun x => addOrderOf x = m) Finset.univ).card =
  (Finset.filter (fun x => n • x = 0) Finset.univ).card
-- addOrderOf_le_card_univ
@[to_additive]
theorem orderOf_le_card_univ [Fintype G] : orderOf x ≤ Fintype.card G 
Arguments: {G : Type u_1} [AddMonoid G] {x : G} [Fintype G]
Goal: addOrderOf x ≤ Fintype.card G
-- orderOf_le_card_univ
@[to_additive]
theorem orderOf_le_card_univ [Fintype G] : orderOf x ≤ Fintype.card G 
Arguments: {G : Type u_1} [Monoid G] {x : G} [Fintype G]
Goal: orderOf x ≤ Fintype.card G
-- isOfFinAddOrder_of_finite
@[to_additive]
lemma isOfFinOrder_of_finite (x : G) : IsOfFinOrder x 
Arguments: {G : Type u_1} [AddLeftCancelMonoid G] [Finite G] (x : G)
Goal: IsOfFinAddOrder x
-- isOfFinOrder_of_finite
@[to_additive]
lemma isOfFinOrder_of_finite (x : G) : IsOfFinOrder x 
Arguments: {G : Type u_1} [LeftCancelMonoid G] [Finite G] (x : G)
Goal: IsOfFinOrder x
-- orderOf_pos
@[to_additive "This is the same as `IsOfFinAddOrder.addOrderOf_pos` but with one fewer explicit
assumption since this is automatic in case of a finite cancellative additive monoid."]
lemma orderOf_pos (x : G) : 0 < orderOf x 
Arguments: {G : Type u_1} [LeftCancelMonoid G] [Finite G] (x : G)
Goal: 0 < orderOf x
-- addOrderOf_pos
@[to_additive "This is the same as `IsOfFinAddOrder.addOrderOf_pos` but with one fewer explicit
assumption since this is automatic in case of a finite cancellative additive monoid."]
lemma orderOf_pos (x : G) : 0 < orderOf x 
Arguments: {G : Type u_1} [AddLeftCancelMonoid G] [Finite G] (x : G)
Goal: 0 < addOrderOf x
-- orderOf_pow
@[to_additive "This is the same as `addOrderOf_nsmul'` and
`addOrderOf_nsmul` but with one assumption less which is automatic in the case of a
finite cancellative additive monoid."]
theorem orderOf_pow (x : G) : orderOf (x ^ n) = orderOf x / gcd (orderOf x) n 
Arguments: {G : Type u_1} [LeftCancelMonoid G] [Finite G] {n : ℕ} (x : G)
Goal: orderOf (x ^ n) = orderOf x / (orderOf x).gcd n
-- addOrderOf_nsmul
@[to_additive "This is the same as `addOrderOf_nsmul'` and
`addOrderOf_nsmul` but with one assumption less which is automatic in the case of a
finite cancellative additive monoid."]
theorem orderOf_pow (x : G) : orderOf (x ^ n) = orderOf x / gcd (orderOf x) n 
Arguments: {G : Type u_1} [AddLeftCancelMonoid G] [Finite G] {n : ℕ} (x : G)
Goal: addOrderOf (n • x) = addOrderOf x / (addOrderOf x).gcd n
-- mem_multiples_iff_mem_range_addOrderOf
@[to_additive]
theorem mem_powers_iff_mem_range_orderOf [DecidableEq G] :
    y ∈ powers x ↔ y ∈ (Finset.range (orderOf x)).image (x ^ ·) 
Arguments: {G : Type u_1} [AddLeftCancelMonoid G] [Finite G] {x y : G} [DecidableEq G]
Goal: y ∈ AddSubmonoid.multiples x ↔ y ∈ Finset.image (fun x_1 => x_1 • x) (Finset.range (addOrderOf x))
-- mem_powers_iff_mem_range_orderOf
@[to_additive]
theorem mem_powers_iff_mem_range_orderOf [DecidableEq G] :
    y ∈ powers x ↔ y ∈ (Finset.range (orderOf x)).image (x ^ ·) 
Arguments: {G : Type u_1} [LeftCancelMonoid G] [Finite G] {x y : G} [DecidableEq G]
Goal: y ∈ Submonoid.powers x ↔ y ∈ Finset.image (fun x_1 => x ^ x_1) (Finset.range (orderOf x))
-- powersEquivPowers_apply
@[to_additive (attr := simp)]
theorem powersEquivPowers_apply (h : orderOf x = orderOf y) (n : ℕ) :
    powersEquivPowers h ⟨x ^ n, n, rfl⟩ = ⟨y ^ n, n, rfl⟩ 
Arguments: {G : Type u_1} [LeftCancelMonoid G] [Finite G] {x y : G} (h : orderOf x = orderOf y) (n : ℕ)
Goal: (powersEquivPowers h) ⟨x ^ n, ⋯⟩ = ⟨y ^ n, ⋯⟩
-- multiplesEquivMultiples_apply
@[to_additive (attr := simp)]
theorem powersEquivPowers_apply (h : orderOf x = orderOf y) (n : ℕ) :
    powersEquivPowers h ⟨x ^ n, n, rfl⟩ = ⟨y ^ n, n, rfl⟩ 
Arguments: {G : Type u_1} [AddLeftCancelMonoid G] [Finite G] {x y : G} (h : addOrderOf x = addOrderOf y) (n : ℕ)
Goal: (multiplesEquivMultiples h) ⟨n • x, ⋯⟩ = ⟨n • y, ⋯⟩
-- orderOf_eq_card_powers
@[to_additive]
lemma orderOf_eq_card_powers : orderOf x = Fintype.card (powers x : Set G) 
Arguments: {G : Type u_1} [LeftCancelMonoid G] [Fintype G] {x : G}
Goal: orderOf x = Fintype.card ↑↑(Submonoid.powers x)
-- addOrderOf_eq_card_multiples
@[to_additive]
lemma orderOf_eq_card_powers : orderOf x = Fintype.card (powers x : Set G) 
Arguments: {G : Type u_1} [AddLeftCancelMonoid G] [Fintype G] {x : G}
Goal: addOrderOf x = Fintype.card ↑↑(AddSubmonoid.multiples x)
-- exists_zpow_eq_one
@[to_additive]
theorem exists_zpow_eq_one (x : G) : ∃ (i : ℤ) (_ : i ≠ 0), x ^ (i : ℤ) = 1 
Arguments: {G : Type u_1} [Group G] [Finite G] (x : G)
Goal: ∃ i, ∃ (_ : i ≠ 0), x ^ i = 1
-- exists_zsmul_eq_zero
@[to_additive]
theorem exists_zpow_eq_one (x : G) : ∃ (i : ℤ) (_ : i ≠ 0), x ^ (i : ℤ) = 1 
Arguments: {G : Type u_1} [AddGroup G] [Finite G] (x : G)
Goal: ∃ i, ∃ (_ : i ≠ 0), i • x = 0
-- mem_powers_iff_mem_zpowers
@[to_additive]
lemma mem_powers_iff_mem_zpowers : y ∈ powers x ↔ y ∈ zpowers x 
Arguments: {G : Type u_1} [Group G] [Finite G] {x y : G}
Goal: y ∈ Submonoid.powers x ↔ y ∈ Subgroup.zpowers x
-- mem_multiples_iff_mem_zmultiples
@[to_additive]
lemma mem_powers_iff_mem_zpowers : y ∈ powers x ↔ y ∈ zpowers x 
Arguments: {G : Type u_1} [AddGroup G] [Finite G] {x y : G}
Goal: y ∈ AddSubmonoid.multiples x ↔ y ∈ AddSubgroup.zmultiples x
-- powers_eq_zpowers
@[to_additive]
lemma powers_eq_zpowers (x : G) : (powers x : Set G) = zpowers x 
Arguments: {G : Type u_1} [Group G] [Finite G] (x : G)
Goal: ↑(Submonoid.powers x) = ↑(Subgroup.zpowers x)
-- multiples_eq_zmultiples
@[to_additive]
lemma powers_eq_zpowers (x : G) : (powers x : Set G) = zpowers x 
Arguments: {G : Type u_1} [AddGroup G] [Finite G] (x : G)
Goal: ↑(AddSubmonoid.multiples x) = ↑(AddSubgroup.zmultiples x)
-- mem_zpowers_iff_mem_range_orderOf
@[to_additive]
lemma mem_zpowers_iff_mem_range_orderOf [DecidableEq G] :
    y ∈ zpowers x ↔ y ∈ (Finset.range (orderOf x)).image (x ^ ·) 
Arguments: {G : Type u_1} [Group G] [Finite G] {x y : G} [DecidableEq G]
Goal: y ∈ Subgroup.zpowers x ↔ y ∈ Finset.image (fun x_1 => x ^ x_1) (Finset.range (orderOf x))
-- mem_zmultiples_iff_mem_range_addOrderOf
@[to_additive]
lemma mem_zpowers_iff_mem_range_orderOf [DecidableEq G] :
    y ∈ zpowers x ↔ y ∈ (Finset.range (orderOf x)).image (x ^ ·) 
Arguments: {G : Type u_1} [AddGroup G] [Finite G] {x y : G} [DecidableEq G]
Goal: y ∈ AddSubgroup.zmultiples x ↔ y ∈ Finset.image (fun x_1 => x_1 • x) (Finset.range (addOrderOf x))
-- zpow_eq_one_iff_modEq
@[to_additive]
theorem zpow_eq_one_iff_modEq {n : ℤ} : x ^ n = 1 ↔ n ≡ 0 [ZMOD orderOf x] 
Arguments: {G : Type u_1} [Group G] {x : G} {n : ℤ}
Goal: x ^ n = 1 ↔ n ≡ 0 [ZMOD ↑(orderOf x)]
-- zsmul_eq_zero_iff_modEq
@[to_additive]
theorem zpow_eq_one_iff_modEq {n : ℤ} : x ^ n = 1 ↔ n ≡ 0 [ZMOD orderOf x] 
Arguments: {G : Type u_1} [AddGroup G] {x : G} {n : ℤ}
Goal: n • x = 0 ↔ n ≡ 0 [ZMOD ↑(addOrderOf x)]
-- zsmul_eq_zsmul_iff_modEq
@[to_additive]
theorem zpow_eq_zpow_iff_modEq {m n : ℤ} : x ^ m = x ^ n ↔ m ≡ n [ZMOD orderOf x] 
Arguments: {G : Type u_1} [AddGroup G] {x : G} {m n : ℤ}
Goal: m • x = n • x ↔ m ≡ n [ZMOD ↑(addOrderOf x)]
-- zpow_eq_zpow_iff_modEq
@[to_additive]
theorem zpow_eq_zpow_iff_modEq {m n : ℤ} : x ^ m = x ^ n ↔ m ≡ n [ZMOD orderOf x] 
Arguments: {G : Type u_1} [Group G] {x : G} {m n : ℤ}
Goal: x ^ m = x ^ n ↔ m ≡ n [ZMOD ↑(orderOf x)]
-- injective_zsmul_iff_not_isOfFinAddOrder
@[to_additive (attr := simp)]
theorem injective_zpow_iff_not_isOfFinOrder : (Injective fun n : ℤ => x ^ n) ↔ ¬IsOfFinOrder x 
Arguments: {G : Type u_1} [AddGroup G] {x : G}
Goal: (Function.Injective fun n => n • x) ↔ ¬IsOfFinAddOrder x
-- injective_zpow_iff_not_isOfFinOrder
@[to_additive (attr := simp)]
theorem injective_zpow_iff_not_isOfFinOrder : (Injective fun n : ℤ => x ^ n) ↔ ¬IsOfFinOrder x 
Arguments: {G : Type u_1} [Group G] {x : G}
Goal: (Function.Injective fun n => x ^ n) ↔ ¬IsOfFinOrder x
-- zmultiples_equiv_zmultiples_apply
@[to_additive (attr := simp, nolint simpNF) zmultiples_equiv_zmultiples_apply]
theorem zpowersEquivZPowers_apply (h : orderOf x = orderOf y) (n : ℕ) :
    zpowersEquivZPowers h ⟨x ^ n, n, zpow_natCast x n⟩ = ⟨y ^ n, n, zpow_natCast y n⟩ 
Arguments: {G : Type u_1} [AddGroup G] [Finite G] {x y : G} (h : addOrderOf x = addOrderOf y) (n : ℕ)
Goal: (zmultiplesEquivZMultiples h) ⟨n • x, ⋯⟩ = ⟨n • y, ⋯⟩
-- zpowersEquivZPowers_apply
@[to_additive (attr := simp, nolint simpNF) zmultiples_equiv_zmultiples_apply]
theorem zpowersEquivZPowers_apply (h : orderOf x = orderOf y) (n : ℕ) :
    zpowersEquivZPowers h ⟨x ^ n, n, zpow_natCast x n⟩ = ⟨y ^ n, n, zpow_natCast y n⟩ 
Arguments: {G : Type u_1} [Group G] [Finite G] {x y : G} (h : orderOf x = orderOf y) (n : ℕ)
Goal: (zpowersEquivZPowers h) ⟨x ^ n, ⋯⟩ = ⟨y ^ n, ⋯⟩
-- Fintype.card_zpowers
@[to_additive "See also `Nat.card_subgroup`."]
theorem Fintype.card_zpowers : Fintype.card (zpowers x) = orderOf x 
Arguments: {G : Type u_1} [Group G] [Fintype G] {x : G}
Goal: Fintype.card ↥(Subgroup.zpowers x) = orderOf x
-- Fintype.card_zmultiples
@[to_additive "See also `Nat.card_subgroup`."]
theorem Fintype.card_zpowers : Fintype.card (zpowers x) = orderOf x 
Arguments: {G : Type u_1} [AddGroup G] [Fintype G] {x : G}
Goal: Fintype.card ↥(AddSubgroup.zmultiples x) = addOrderOf x
-- card_zpowers_le
@[to_additive]
theorem card_zpowers_le (a : G) {k : ℕ} (k_pos : k ≠ 0)
    (ha : a ^ k = 1) : Fintype.card (Subgroup.zpowers a) ≤ k 
Arguments: {G : Type u_1} [Group G] [Fintype G] (a : G) {k : ℕ} (k_pos : k ≠ 0) (ha : a ^ k = 1)
Goal: Fintype.card ↥(Subgroup.zpowers a) ≤ k
-- card_zmultiples_le
@[to_additive]
theorem card_zpowers_le (a : G) {k : ℕ} (k_pos : k ≠ 0)
    (ha : a ^ k = 1) : Fintype.card (Subgroup.zpowers a) ≤ k 
Arguments: {G : Type u_1} [AddGroup G] [Fintype G] (a : G) {k : ℕ} (k_pos : k ≠ 0) (ha : k • a = 0)
Goal: Fintype.card ↥(AddSubgroup.zmultiples a) ≤ k
-- orderOf_dvd_card
@[to_additive]
theorem orderOf_dvd_card : orderOf x ∣ Fintype.card G 
Arguments: {G : Type u_1} [Group G] [Fintype G] {x : G}
Goal: orderOf x ∣ Fintype.card G
-- addOrderOf_dvd_card
@[to_additive]
theorem orderOf_dvd_card : orderOf x ∣ Fintype.card G 
Arguments: {G : Type u_1} [AddGroup G] [Fintype G] {x : G}
Goal: addOrderOf x ∣ Fintype.card G
-- addOrderOf_dvd_natCard
@[to_additive]
theorem orderOf_dvd_natCard {G : Type*} [Group G] (x : G) : orderOf x ∣ Nat.card G 
Arguments: {G : Type u_6} [AddGroup G] (x : G)
Goal: addOrderOf x ∣ Nat.card G
-- orderOf_dvd_natCard
@[to_additive]
theorem orderOf_dvd_natCard {G : Type*} [Group G] (x : G) : orderOf x ∣ Nat.card G 
Arguments: {G : Type u_6} [Group G] (x : G)
Goal: orderOf x ∣ Nat.card G
-- Subgroup.orderOf_dvd_natCard
@[to_additive]
nonrec lemma Subgroup.orderOf_dvd_natCard (s : Subgroup G) (hx : x ∈ s) :
  orderOf x ∣ Nat.card s 
Arguments: {G : Type u_1} [Group G] {x : G} (s : Subgroup G) (hx : x ∈ s)
Goal: orderOf x ∣ Nat.card ↥s
-- AddSubgroup.addOrderOf_dvd_natCard
@[to_additive]
nonrec lemma Subgroup.orderOf_dvd_natCard (s : Subgroup G) (hx : x ∈ s) :
  orderOf x ∣ Nat.card s 
Arguments: {G : Type u_1} [AddGroup G] {x : G} (s : AddSubgroup G) (hx : x ∈ s)
Goal: addOrderOf x ∣ Nat.card ↥s