ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Subgroup.pow_exponent_eq_one
@[to_additive]
theorem Subgroup.pow_exponent_eq_one {H : Subgroup G} {g : G} (g_in_H : g ∈ H) :
    g ^ Monoid.exponent H = 1 
Arguments: {G : Type u} [Group G] {H : Subgroup G} {g : G} (g_in_H : g ∈ H)
Goal: g ^ Monoid.exponent ↥H = 1
-- AddMonoid.exponent_pi_eq_zero
@[to_additive]
theorem Monoid.exponent_pi_eq_zero {ι : Type*} {M : ι → Type*} [∀ i, Monoid (M i)] {j : ι}
    (hj : exponent (M j) = 0) : exponent ((i : ι) → M i) = 0 
Arguments: {ι : Type u_1} {M : ι → Type u_2} [(i : ι) → AddMonoid (M i)] {j : ι} (hj : AddMonoid.exponent (M j) = 0)
Goal: AddMonoid.exponent ((i : ι) → M i) = 0
-- Monoid.exponent_pi_eq_zero
@[to_additive]
theorem Monoid.exponent_pi_eq_zero {ι : Type*} {M : ι → Type*} [∀ i, Monoid (M i)] {j : ι}
    (hj : exponent (M j) = 0) : exponent ((i : ι) → M i) = 0 
Arguments: {ι : Type u_1} {M : ι → Type u_2} [(i : ι) → Monoid (M i)] {j : ι} (hj : Monoid.exponent (M j) = 0)
Goal: Monoid.exponent ((i : ι) → M i) = 0
-- AddMonoidHom.exponent_dvd
@[to_additive]
theorem MonoidHom.exponent_dvd {F M₁ M₂ : Type*} [Monoid M₁] [Monoid M₂]
    [FunLike F M₁ M₂] [MonoidHomClass F M₁ M₂]
    {f : F} (hf : Function.Surjective f) : exponent M₂ ∣ exponent M₁ 
Arguments: {F : Type u_1} {M₁ : Type u_2} {M₂ : Type u_3} [AddMonoid M₁] [AddMonoid M₂] [FunLike F M₁ M₂] [AddMonoidHomClass F M₁ M₂] {f : F} (hf : Function.Surjective ⇑f)
Goal: AddMonoid.exponent M₂ ∣ AddMonoid.exponent M₁
-- MonoidHom.exponent_dvd
@[to_additive]
theorem MonoidHom.exponent_dvd {F M₁ M₂ : Type*} [Monoid M₁] [Monoid M₂]
    [FunLike F M₁ M₂] [MonoidHomClass F M₁ M₂]
    {f : F} (hf : Function.Surjective f) : exponent M₂ ∣ exponent M₁ 
Arguments: {F : Type u_1} {M₁ : Type u_2} {M₂ : Type u_3} [Monoid M₁] [Monoid M₂] [FunLike F M₁ M₂] [MonoidHomClass F M₁ M₂] {f : F} (hf : Function.Surjective ⇑f)
Goal: Monoid.exponent M₂ ∣ Monoid.exponent M₁
-- AddMonoid.exponent_pi
@[to_additive "The exponent of finite product of additive monoids is the `Finset.lcm` of the
exponents of the constituent additive monoids."]
theorem Monoid.exponent_pi {ι : Type*} [Fintype ι] {M : ι → Type*} [∀ i, Monoid (M i)] :
    exponent ((i : ι) → M i) = lcm univ (exponent <| M ·) 
Arguments: {ι : Type u_1} [Fintype ι] {M : ι → Type u_2} [(i : ι) → AddMonoid (M i)]
Goal: AddMonoid.exponent ((i : ι) → M i) = Finset.univ.lcm fun x => AddMonoid.exponent (M x)
-- Monoid.exponent_pi
@[to_additive "The exponent of finite product of additive monoids is the `Finset.lcm` of the
exponents of the constituent additive monoids."]
theorem Monoid.exponent_pi {ι : Type*} [Fintype ι] {M : ι → Type*} [∀ i, Monoid (M i)] :
    exponent ((i : ι) → M i) = lcm univ (exponent <| M ·) 
Arguments: {ι : Type u_1} [Fintype ι] {M : ι → Type u_2} [(i : ι) → Monoid (M i)]
Goal: Monoid.exponent ((i : ι) → M i) = Finset.univ.lcm fun x => Monoid.exponent (M x)
-- Monoid.exponent_prod
@[to_additive AddMonoid.exponent_prod "The exponent of product of two additive monoids is the `lcm`
of the exponents of the individuaul additive monoids."]
theorem Monoid.exponent_prod {M₁ M₂ : Type*} [Monoid M₁] [Monoid M₂] :
    exponent (M₁ × M₂) = lcm (exponent M₁) (exponent M₂) 
Arguments: {M₁ : Type u_1} {M₂ : Type u_2} [Monoid M₁] [Monoid M₂]
Goal: Monoid.exponent (M₁ × M₂) = lcm (Monoid.exponent M₁) (Monoid.exponent M₂)
-- AddMonoid.exponent_prod
@[to_additive AddMonoid.exponent_prod "The exponent of product of two additive monoids is the `lcm`
of the exponents of the individuaul additive monoids."]
theorem Monoid.exponent_prod {M₁ M₂ : Type*} [Monoid M₁] [Monoid M₂] :
    exponent (M₁ × M₂) = lcm (exponent M₁) (exponent M₂) 
Arguments: {M₁ : Type u_1} {M₂ : Type u_2} [AddMonoid M₁] [AddMonoid M₂]
Goal: AddMonoid.exponent (M₁ × M₂) = lcm (AddMonoid.exponent M₁) (AddMonoid.exponent M₂)
-- orderOf_eq_two_iff
@[to_additive]
lemma orderOf_eq_two_iff (hG : Monoid.exponent G = 2) {x : G} :
    orderOf x = 2 ↔ x ≠ 1 
Arguments: {G : Type u} [Monoid G] (hG : Monoid.exponent G = 2) {x : G}
Goal: orderOf x = 2 ↔ x ≠ 1
-- addOrderOf_eq_two_iff
@[to_additive]
lemma orderOf_eq_two_iff (hG : Monoid.exponent G = 2) {x : G} :
    orderOf x = 2 ↔ x ≠ 1 
Arguments: {G : Type u} [AddMonoid G] (hG : AddMonoid.exponent G = 2) {x : G}
Goal: addOrderOf x = 2 ↔ x ≠ 0
-- Commute.of_orderOf_dvd_two
@[to_additive]
theorem Commute.of_orderOf_dvd_two [IsCancelMul G] (h : ∀ g : G, orderOf g ∣ 2) (a b : G) :
    Commute a b 
Arguments: {G : Type u} [Monoid G] [IsCancelMul G] (h : ∀ (g : G), orderOf g ∣ 2) (a b : G)
Goal: Commute a b
-- AddCommute.of_addOrderOf_dvd_two
@[to_additive]
theorem Commute.of_orderOf_dvd_two [IsCancelMul G] (h : ∀ g : G, orderOf g ∣ 2) (a b : G) :
    Commute a b 
Arguments: {G : Type u} [AddMonoid G] [IsCancelAdd G] (h : ∀ (g : G), addOrderOf g ∣ 2) (a b : G)
Goal: AddCommute a b
-- mul_comm_of_exponent_two
@[to_additive]
lemma mul_comm_of_exponent_two [IsCancelMul G] (hG : Monoid.exponent G = 2) (a b : G) :
    a * b = b * a 
Arguments: {G : Type u} [Monoid G] [IsCancelMul G] (hG : Monoid.exponent G = 2) (a b : G)
Goal: a * b = b * a
-- add_comm_of_exponent_two
@[to_additive]
lemma mul_comm_of_exponent_two [IsCancelMul G] (hG : Monoid.exponent G = 2) (a b : G) :
    a * b = b * a 
Arguments: {G : Type u} [AddMonoid G] [IsCancelAdd G] (hG : AddMonoid.exponent G = 2) (a b : G)
Goal: a + b = b + a
-- inv_eq_self_of_exponent_two
@[to_additive]
lemma inv_eq_self_of_exponent_two (hG : Monoid.exponent G = 2) (x : G) :
    x⁻¹ = x 
Arguments: {G : Type u} [Group G] (hG : Monoid.exponent G = 2) (x : G)
Goal: x⁻¹ = x
-- neg_eq_self_of_exponent_two
@[to_additive]
lemma inv_eq_self_of_exponent_two (hG : Monoid.exponent G = 2) (x : G) :
    x⁻¹ = x 
Arguments: {G : Type u} [AddGroup G] (hG : AddMonoid.exponent G = 2) (x : G)
Goal: -x = x
-- neg_eq_self_of_addOrderOf_eq_two
@[to_additive]
lemma inv_eq_self_of_orderOf_eq_two {x : G} (hx : orderOf x = 2) :
    x⁻¹ = x 
Arguments: {G : Type u} [AddGroup G] {x : G} (hx : addOrderOf x = 2)
Goal: -x = x
-- inv_eq_self_of_orderOf_eq_two
@[to_additive]
lemma inv_eq_self_of_orderOf_eq_two {x : G} (hx : orderOf x = 2) :
    x⁻¹ = x 
Arguments: {G : Type u} [Group G] {x : G} (hx : orderOf x = 2)
Goal: x⁻¹ = x
-- add_not_mem_of_addOrderOf_eq_two
@[to_additive]
lemma mul_not_mem_of_orderOf_eq_two {x y : G} (hx : orderOf x = 2)
    (hy : orderOf y = 2) (hxy : x ≠ y) : x * y ∉ ({x, y, 1} : Set G) 
Arguments: {G : Type u} [AddGroup G] {x y : G} (hx : addOrderOf x = 2) (hy : addOrderOf y = 2) (hxy : x ≠ y)
Goal: x + y ∉ {x, y, 0}
-- mul_not_mem_of_orderOf_eq_two
@[to_additive]
lemma mul_not_mem_of_orderOf_eq_two {x y : G} (hx : orderOf x = 2)
    (hy : orderOf y = 2) (hxy : x ≠ y) : x * y ∉ ({x, y, 1} : Set G) 
Arguments: {G : Type u} [Group G] {x y : G} (hx : orderOf x = 2) (hy : orderOf y = 2) (hxy : x ≠ y)
Goal: x * y ∉ {x, y, 1}
-- add_not_mem_of_exponent_two
@[to_additive]
lemma mul_not_mem_of_exponent_two (h : Monoid.exponent G = 2) {x y : G}
    (hx : x ≠ 1) (hy : y ≠ 1) (hxy : x ≠ y) : x * y ∉ ({x, y, 1} : Set G) 
Arguments: {G : Type u} [AddGroup G] (h : AddMonoid.exponent G = 2) {x y : G} (hx : x ≠ 0) (hy : y ≠ 0) (hxy : x ≠ y)
Goal: x + y ∉ {x, y, 0}
-- mul_not_mem_of_exponent_two
@[to_additive]
lemma mul_not_mem_of_exponent_two (h : Monoid.exponent G = 2) {x y : G}
    (hx : x ≠ 1) (hy : y ≠ 1) (hxy : x ≠ y) : x * y ∉ ({x, y, 1} : Set G) 
Arguments: {G : Type u} [Group G] (h : Monoid.exponent G = 2) {x y : G} (hx : x ≠ 1) (hy : y ≠ 1) (hxy : x ≠ y)
Goal: x * y ∉ {x, y, 1}
-- SMulMemClass.smul_mem
class SMulMemClass (S : Type*) (R : outParam Type*) (M : Type*) [SMul R M] [SetLike S M] :
    Prop where
    smul_mem : ∀ {s : S} (r : R) {m : M}, m ∈ s → r • m ∈ s
Arguments: {S : Type u_1} {R : outParam (Type u_2)} {M : Type u_3} [SMul R M] [SetLike S M] [self : SMulMemClass S R M] {s : S} (r : R) {m : M}
Goal: m ∈ s → r • m ∈ s
-- VAddMemClass.vadd_mem
class VAddMemClass (S : Type*) (R : outParam Type*) (M : Type*) [VAdd R M] [SetLike S M] :
    Prop where
    vadd_mem : ∀ {s : S} (r : R) {m : M}, m ∈ s → r +ᵥ m ∈ s
Arguments: {S : Type u_1} {R : outParam (Type u_2)} {M : Type u_3} [VAdd R M] [SetLike S M] [self : VAddMemClass S R M] {s : S} (r : R) {m : M}
Goal: m ∈ s → r +ᵥ m ∈ s
-- AddSubmonoidClass.nsmulMemClass
lemma AddSubmonoidClass.nsmulMemClass {S M : Type*} [AddMonoid M] [SetLike S M]
    [AddSubmonoidClass S M] : SMulMemClass S ℕ M 
Arguments: {S : Type u_1} {M : Type u_2} [AddMonoid M] [SetLike S M] [AddSubmonoidClass S M]
Goal: SMulMemClass S ℕ M
-- AddSubgroupClass.zsmulMemClass
lemma AddSubgroupClass.zsmulMemClass {S M : Type*} [SubNegMonoid M] [SetLike S M]
    [AddSubgroupClass S M] : SMulMemClass S ℤ M 
Arguments: {S : Type u_1} {M : Type u_2} [SubNegMonoid M] [SetLike S M] [AddSubgroupClass S M]
Goal: SMulMemClass S ℤ M
-- SMulMemClass.ofIsScalarTower
theorem _root_.SMulMemClass.ofIsScalarTower (S M N α : Type*) [SetLike S α] [SMul M N]
    [SMul M α] [Monoid N] [MulAction N α] [SMulMemClass S N α] [IsScalarTower M N α] :
    SMulMemClass S M α 
Arguments: (S : Type u_1) (M : Type u_2) (N : Type u_3) (α : Type u_4) [SetLike S α] [SMul M N] [SMul M α] [Monoid N] [MulAction N α] [SMulMemClass S N α] [IsScalarTower M N α]
Goal: SMulMemClass S M α
-- SetLike.val_smul
@[to_additive (attr := simp, norm_cast)]
protected theorem val_smul (r : R) (x : s) : (↑(r • x) : M) = r • (x : M) 
Arguments: {S : Type u'} {R : Type u} {M : Type v} [SMul R M] [SetLike S M] [hS : SMulMemClass S R M] (s : S) (r : R) (x : ↥s)
Goal: ↑(r • x) = r • ↑x
-- SetLike.val_vadd
@[to_additive (attr := simp, norm_cast)]
protected theorem val_smul (r : R) (x : s) : (↑(r • x) : M) = r • (x : M) 
Arguments: {S : Type u'} {R : Type u} {M : Type v} [VAdd R M] [SetLike S M] [hS : VAddMemClass S R M] (s : S) (r : R) (x : ↥s)
Goal: ↑(r +ᵥ x) = r +ᵥ ↑x
-- SetLike.mk_vadd_mk
@[to_additive (attr := simp)]
theorem mk_smul_mk (r : R) (x : M) (hx : x ∈ s) : r • (⟨x, hx⟩ : s) = ⟨r • x, smul_mem r hx⟩ 
Arguments: {S : Type u'} {R : Type u} {M : Type v} [VAdd R M] [SetLike S M] [hS : VAddMemClass S R M] (s : S) (r : R) (x : M) (hx : x ∈ s)
Goal: r +ᵥ ⟨x, hx⟩ = ⟨r +ᵥ x, ⋯⟩
-- SetLike.mk_smul_mk
@[to_additive (attr := simp)]
theorem mk_smul_mk (r : R) (x : M) (hx : x ∈ s) : r • (⟨x, hx⟩ : s) = ⟨r • x, smul_mem r hx⟩ 
Arguments: {S : Type u'} {R : Type u} {M : Type v} [SMul R M] [SetLike S M] [hS : SMulMemClass S R M] (s : S) (r : R) (x : M) (hx : x ∈ s)
Goal: r • ⟨x, hx⟩ = ⟨r • x, ⋯⟩
-- SetLike.vadd_def
@[to_additive]
theorem smul_def (r : R) (x : s) : r • x = ⟨r • x, smul_mem r x.2⟩ 
Arguments: {S : Type u'} {R : Type u} {M : Type v} [VAdd R M] [SetLike S M] [hS : VAddMemClass S R M] (s : S) (r : R) (x : ↥s)
Goal: r +ᵥ x = ⟨r +ᵥ ↑x, ⋯⟩
-- SetLike.smul_def
@[to_additive]
theorem smul_def (r : R) (x : s) : r • x = ⟨r • x, smul_mem r x.2⟩ 
Arguments: {S : Type u'} {R : Type u} {M : Type v} [SMul R M] [SetLike S M] [hS : SMulMemClass S R M] (s : S) (r : R) (x : ↥s)
Goal: r • x = ⟨r • ↑x, ⋯⟩
-- SetLike.forall_smul_mem_iff
@[simp]
theorem forall_smul_mem_iff {R M S : Type*} [Monoid R] [MulAction R M] [SetLike S M]
    [SMulMemClass S R M] {N : S} {x : M} : (∀ a : R, a • x ∈ N) ↔ x ∈ N 
Arguments: {R : Type u_1} {M : Type u_2} {S : Type u_3} [Monoid R] [MulAction R M] [SetLike S M] [SMulMemClass S R M] {N : S} {x : M}
Goal: (∀ (a : R), a • x ∈ N) ↔ x ∈ N
-- SetLike.val_smul_of_tower
@[to_additive (attr := simp, norm_cast)]
protected theorem val_smul_of_tower (r : M) (x : s) : (↑(r • x) : α) = r • (x : α) 
Arguments: {S : Type u'} {M : Type v} {N : Type u_1} {α : Type u_2} [SetLike S α] [SMul M N] [SMul M α] [Monoid N] [MulAction N α] [SMulMemClass S N α] [IsScalarTower M N α] (s : S) (r : M) (x : ↥s)
Goal: ↑(r • x) = r • ↑x
-- SetLike.val_vadd_of_tower
@[to_additive (attr := simp, norm_cast)]
protected theorem val_smul_of_tower (r : M) (x : s) : (↑(r • x) : α) = r • (x : α) 
Arguments: {S : Type u'} {M : Type v} {N : Type u_1} {α : Type u_2} [SetLike S α] [VAdd M N] [VAdd M α] [AddMonoid N] [AddAction N α] [VAddMemClass S N α] [VAddAssocClass M N α] (s : S) (r : M) (x : ↥s)
Goal: ↑(r +ᵥ x) = r +ᵥ ↑x
-- SetLike.mk_smul_of_tower_mk
@[to_additive (attr := simp)]
theorem mk_smul_of_tower_mk (r : M) (x : α) (hx : x ∈ s) :
    r • (⟨x, hx⟩ : s) = ⟨r • x, smul_one_smul N r x ▸ smul_mem _ hx⟩ 
Arguments: {S : Type u'} {M : Type v} {N : Type u_1} {α : Type u_2} [SetLike S α] [SMul M N] [SMul M α] [Monoid N] [MulAction N α] [SMulMemClass S N α] [IsScalarTower M N α] (s : S) (r : M) (x : α) (hx : x ∈ s)
Goal: r • ⟨x, hx⟩ = ⟨r • x, ⋯⟩
-- SetLike.mk_vadd_of_tower_mk
@[to_additive (attr := simp)]
theorem mk_smul_of_tower_mk (r : M) (x : α) (hx : x ∈ s) :
    r • (⟨x, hx⟩ : s) = ⟨r • x, smul_one_smul N r x ▸ smul_mem _ hx⟩ 
Arguments: {S : Type u'} {M : Type v} {N : Type u_1} {α : Type u_2} [SetLike S α] [VAdd M N] [VAdd M α] [AddMonoid N] [AddAction N α] [VAddMemClass S N α] [VAddAssocClass M N α] (s : S) (r : M) (x : α) (hx : x ∈ s)
Goal: r +ᵥ ⟨x, hx⟩ = ⟨r +ᵥ x, ⋯⟩
-- SetLike.smul_of_tower_def
@[to_additive]
theorem smul_of_tower_def (r : M) (x : s) :
    r • x = ⟨r • x, smul_one_smul N r x.1 ▸ smul_mem _ x.2⟩ 
Arguments: {S : Type u'} {M : Type v} {N : Type u_1} {α : Type u_2} [SetLike S α] [SMul M N] [SMul M α] [Monoid N] [MulAction N α] [SMulMemClass S N α] [IsScalarTower M N α] (s : S) (r : M) (x : ↥s)
Goal: r • x = ⟨r • ↑x, ⋯⟩
-- SetLike.vadd_of_tower_def
@[to_additive]
theorem smul_of_tower_def (r : M) (x : s) :
    r • x = ⟨r • x, smul_one_smul N r x.1 ▸ smul_mem _ x.2⟩ 
Arguments: {S : Type u'} {M : Type v} {N : Type u_1} {α : Type u_2} [SetLike S α] [VAdd M N] [VAdd M α] [AddMonoid N] [AddAction N α] [VAddMemClass S N α] [VAddAssocClass M N α] (s : S) (r : M) (x : ↥s)
Goal: r +ᵥ x = ⟨r +ᵥ ↑x, ⋯⟩
-- SubMulAction.smul_mem'
structure SubMulAction (R : Type u) (M : Type v) [SMul R M] : Type v where
    carrier : Set M
    smul_mem' : ∀ (c : R) {x : M}, x ∈ carrier → c • x ∈ carrier
Arguments: {R : Type u} {M : Type v} [SMul R M] (self : SubMulAction R M) (c : R) {x : M}
Goal: x ∈ self.carrier → c • x ∈ self.carrier
-- SubMulAction.mem_carrier
@[simp]
theorem mem_carrier {p : SubMulAction R M} {x : M} : x ∈ p.carrier ↔ x ∈ (p : Set M) 
Arguments: {R : Type u} {M : Type v} [SMul R M] {p : SubMulAction R M} {x : M}
Goal: x ∈ p.carrier ↔ x ∈ ↑p
-- SubMulAction.ext
@[ext]
theorem ext {p q : SubMulAction R M} (h : ∀ x, x ∈ p ↔ x ∈ q) : p = q 
Arguments: {R : Type u} {M : Type v} [SMul R M] {p q : SubMulAction R M} (h : ∀ (x : M), x ∈ p ↔ x ∈ q)
Goal: p = q
-- SubMulAction.coe_copy
@[simp]
theorem coe_copy (p : SubMulAction R M) (s : Set M) (hs : s = ↑p) : (p.copy s hs : Set M) = s 
Arguments: {R : Type u} {M : Type v} [SMul R M] (p : SubMulAction R M) (s : Set M) (hs : s = ↑p)
Goal: ↑(p.copy s hs) = s
-- SubMulAction.copy_eq
theorem copy_eq (p : SubMulAction R M) (s : Set M) (hs : s = ↑p) : p.copy s hs = p 
Arguments: {R : Type u} {M : Type v} [SMul R M] (p : SubMulAction R M) (s : Set M) (hs : s = ↑p)
Goal: p.copy s hs = p
-- SubMulAction.smul_mem
theorem smul_mem (r : R) (h : x ∈ p) : r • x ∈ p 
Arguments: {R : Type u} {M : Type v} [SMul R M] (p : SubMulAction R M) {x : M} (r : R) (h : x ∈ p)
Goal: r • x ∈ p
-- SubMulAction.val_smul
@[simp, norm_cast]
theorem val_smul (r : R) (x : p) : (↑(r • x) : M) = r • (x : M) 
Arguments: {R : Type u} {M : Type v} [SMul R M] {p : SubMulAction R M} (r : R) (x : ↥p)
Goal: ↑(r • x) = r • ↑x
-- SubMulAction.subtype_apply
@[simp]
theorem subtype_apply (x : p) : p.subtype x = x 
Arguments: {R : Type u} {M : Type v} [SMul R M] (p : SubMulAction R M) (x : ↥p)
Goal: p.subtype x = ↑x
-- SubMulAction.subtype_eq_val
theorem subtype_eq_val : (SubMulAction.subtype p : p → M) = Subtype.val 
Arguments: {R : Type u} {M : Type v} [SMul R M] (p : SubMulAction R M)
Goal: ⇑p.subtype = Subtype.val
-- SubMulAction.SMulMemClass.coeSubtype
@[simp]
protected theorem coeSubtype : (SMulMemClass.subtype S' : S' → M) = Subtype.val 
Arguments: {R : Type u} {M : Type v} [Monoid R] [MulAction R M] {A : Type u_1} [SetLike A M] [hA : SMulMemClass A R M] (S' : A)
Goal: ⇑(SubMulAction.SMulMemClass.subtype S') = Subtype.val
-- SubMulAction.smul_of_tower_mem
theorem smul_of_tower_mem (s : S) {x : M} (h : x ∈ p) : s • x ∈ p 
Arguments: {S : Type u'} {R : Type u} {M : Type v} [Monoid R] [MulAction R M] [SMul S R] [SMul S M] [IsScalarTower S R M] (p : SubMulAction R M) (s : S) {x : M} (h : x ∈ p)
Goal: s • x ∈ p
-- SubMulAction.val_smul_of_tower
@[simp, norm_cast]
theorem val_smul_of_tower (s : S) (x : p) : ((s • x : p) : M) = s • (x : M) 
Arguments: {S : Type u'} {R : Type u} {M : Type v} [Monoid R] [MulAction R M] [SMul S R] [SMul S M] [IsScalarTower S R M] (p : SubMulAction R M) (s : S) (x : ↥p)
Goal: ↑(s • x) = s • ↑x
-- SubMulAction.smul_mem_iff'
@[simp]
theorem smul_mem_iff' {G} [Group G] [SMul G R] [MulAction G M] [IsScalarTower G R M] (g : G)
    {x : M} : g • x ∈ p ↔ x ∈ p 
Arguments: {R : Type u} {M : Type v} [Monoid R] [MulAction R M] (p : SubMulAction R M) {G : Type u_1} [Group G] [SMul G R] [MulAction G M] [IsScalarTower G R M] (g : G) {x : M}
Goal: g • x ∈ p ↔ x ∈ p
-- SubMulAction.val_image_orbit
theorem val_image_orbit {p : SubMulAction R M} (m : p) :
    Subtype.val '' MulAction.orbit R m = MulAction.orbit R (m : M) 
Arguments: {R : Type u} {M : Type v} [Monoid R] [MulAction R M] {p : SubMulAction R M} (m : ↥p)
Goal: Subtype.val '' MulAction.orbit R m = MulAction.orbit R ↑m
-- SubMulAction.val_preimage_orbit
theorem val_preimage_orbit {p : SubMulAction R M} (m : p) :
    Subtype.val ⁻¹' MulAction.orbit R (m : M) = MulAction.orbit R m 
Arguments: {R : Type u} {M : Type v} [Monoid R] [MulAction R M] {p : SubMulAction R M} (m : ↥p)
Goal: Subtype.val ⁻¹' MulAction.orbit R ↑m = MulAction.orbit R m
-- SubMulAction.mem_orbit_subMul_iff
lemma mem_orbit_subMul_iff {p : SubMulAction R M} {x m : p} :
    x ∈ MulAction.orbit R m ↔ (x : M) ∈ MulAction.orbit R (m : M) 
Arguments: {R : Type u} {M : Type v} [Monoid R] [MulAction R M] {p : SubMulAction R M} {x m : ↥p}
Goal: x ∈ MulAction.orbit R m ↔ ↑x ∈ MulAction.orbit R ↑m
-- SubMulAction.stabilizer_of_subMul.submonoid
theorem stabilizer_of_subMul.submonoid {p : SubMulAction R M} (m : p) :
    MulAction.stabilizerSubmonoid R m = MulAction.stabilizerSubmonoid R (m : M) 
Arguments: {R : Type u} {M : Type v} [Monoid R] [MulAction R M] {p : SubMulAction R M} (m : ↥p)
Goal: MulAction.stabilizerSubmonoid R m = MulAction.stabilizerSubmonoid R ↑m
-- SubMulAction.orbitRel_of_subMul
lemma orbitRel_of_subMul (p : SubMulAction R M) :
    MulAction.orbitRel R p = (MulAction.orbitRel R M).comap Subtype.val 
Arguments: {R : Type u} {M : Type v} [Group R] [MulAction R M] (p : SubMulAction R M)
Goal: MulAction.orbitRel R ↥p = Setoid.comap Subtype.val (MulAction.orbitRel R M)
-- SubMulAction.stabilizer_of_subMul
theorem stabilizer_of_subMul {p : SubMulAction R M} (m : p) :
    MulAction.stabilizer R m = MulAction.stabilizer R (m : M) 
Arguments: {R : Type u} {M : Type v} [Group R] [MulAction R M] {p : SubMulAction R M} (m : ↥p)
Goal: MulAction.stabilizer R m = MulAction.stabilizer R ↑m
-- SubMulAction.zero_mem
theorem zero_mem (h : (p : Set M).Nonempty) : (0 : M) ∈ p 
Arguments: {R : Type u} {M : Type v} [Semiring R] [AddCommMonoid M] [Module R M] (p : SubMulAction R M) (h : (↑p).Nonempty)
Goal: 0 ∈ p
-- SubMulAction.neg_mem
theorem neg_mem (hx : x ∈ p) : -x ∈ p 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] (p : SubMulAction R M) {x : M} (hx : x ∈ p)
Goal: -x ∈ p
-- SubMulAction.neg_mem_iff
@[simp]
theorem neg_mem_iff : -x ∈ p ↔ x ∈ p 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] (p : SubMulAction R M) {x : M}
Goal: -x ∈ p ↔ x ∈ p
-- SubMulAction.val_neg
@[simp, norm_cast]
theorem val_neg (x : p) : ((-x : p) : M) = -x 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] (p : SubMulAction R M) (x : ↥p)
Goal: ↑(-x) = -↑x
-- SubMulAction.smul_mem_iff
theorem smul_mem_iff (s0 : s ≠ 0) : s • x ∈ p ↔ x ∈ p 
Arguments: {S : Type u'} {R : Type u} {M : Type v} [GroupWithZero S] [Monoid R] [MulAction R M] [SMul S R] [MulAction S M] [IsScalarTower S R M] (p : SubMulAction R M) {s : S} {x : M} (s0 : s ≠ 0)
Goal: s • x ∈ p ↔ x ∈ p
-- SubMulAction.inclusion.toFun_eq_coe
theorem inclusion.toFun_eq_coe (s : SubMulAction M α) :
    s.inclusion.toFun = Subtype.val 
Arguments: {M : Type u_1} {α : Type u_2} [Monoid M] [MulAction M α] (s : SubMulAction M α)
Goal: s.inclusion.toFun = Subtype.val
-- SubMulAction.inclusion.coe_eq
theorem inclusion.coe_eq (s : SubMulAction M α) :
    ⇑s.inclusion = Subtype.val 
Arguments: {M : Type u_1} {α : Type u_2} [Monoid M] [MulAction M α] (s : SubMulAction M α)
Goal: ⇑s.inclusion = Subtype.val
-- SubMulAction.image_inclusion
lemma image_inclusion (s : SubMulAction M α) :
    Set.range s.inclusion = s.carrier 
Arguments: {M : Type u_1} {α : Type u_2} [Monoid M] [MulAction M α] (s : SubMulAction M α)
Goal: Set.range ⇑s.inclusion = s.carrier
-- SubMulAction.inclusion_injective
lemma inclusion_injective (s : SubMulAction M α) :
    Function.Injective s.inclusion 
Arguments: {M : Type u_1} {α : Type u_2} [Monoid M] [MulAction M α] (s : SubMulAction M α)
Goal: Function.Injective ⇑s.inclusion
-- alternatingGroup_eq_sign_ker
theorem alternatingGroup_eq_sign_ker : alternatingGroup α = sign.ker 
Arguments: {α : Type u_1} [Fintype α] [DecidableEq α]
Goal: alternatingGroup α = Equiv.Perm.sign.ker
-- Equiv.Perm.mem_alternatingGroup
@[simp]
theorem mem_alternatingGroup {f : Perm α} : f ∈ alternatingGroup α ↔ sign f = 1 
Arguments: {α : Type u_1} [Fintype α] [DecidableEq α] {f : Equiv.Perm α}
Goal: f ∈ alternatingGroup α ↔ Equiv.Perm.sign f = 1
-- Equiv.Perm.prod_list_swap_mem_alternatingGroup_iff_even_length
theorem prod_list_swap_mem_alternatingGroup_iff_even_length {l : List (Perm α)}
    (hl : ∀ g ∈ l, IsSwap g) : l.prod ∈ alternatingGroup α ↔ Even l.length 
Arguments: {α : Type u_1} [Fintype α] [DecidableEq α] {l : List (Equiv.Perm α)} (hl : ∀ g ∈ l, g.IsSwap)
Goal: l.prod ∈ alternatingGroup α ↔ Even l.length
-- Equiv.Perm.IsThreeCycle.mem_alternatingGroup
theorem IsThreeCycle.mem_alternatingGroup {f : Perm α} (h : IsThreeCycle f) :
    f ∈ alternatingGroup α 
Arguments: {α : Type u_1} [Fintype α] [DecidableEq α] {f : Equiv.Perm α} (h : f.IsThreeCycle)
Goal: f ∈ alternatingGroup α
-- Equiv.Perm.finRotate_bit1_mem_alternatingGroup
theorem finRotate_bit1_mem_alternatingGroup {n : ℕ} :
    finRotate (2 * n + 1) ∈ alternatingGroup (Fin (2 * n + 1)) 
Arguments: {n : ℕ}
Goal: finRotate (2 * n + 1) ∈ alternatingGroup (Fin (2 * n + 1))
-- two_mul_card_alternatingGroup
theorem two_mul_card_alternatingGroup [Nontrivial α] :
    2 * card (alternatingGroup α) = card (Perm α) 
Arguments: {α : Type u_1} [Fintype α] [DecidableEq α] [Nontrivial α]
Goal: 2 * Fintype.card ↥(alternatingGroup α) = Fintype.card (Equiv.Perm α)
-- alternatingGroup.isConj_of
theorem isConj_of {σ τ : alternatingGroup α} (hc : IsConj (σ : Perm α) (τ : Perm α))
    (hσ : (σ : Perm α).support.card + 2 ≤ Fintype.card α) : IsConj σ τ 
Arguments: {α : Type u_1} [Fintype α] [DecidableEq α] {σ τ : ↥(alternatingGroup α)} (hc : IsConj ↑σ ↑τ) (hσ : (↑σ).support.card + 2 ≤ Fintype.card α)
Goal: IsConj σ τ
-- alternatingGroup.isThreeCycle_isConj
theorem isThreeCycle_isConj (h5 : 5 ≤ Fintype.card α) {σ τ : alternatingGroup α}
    (hσ : IsThreeCycle (σ : Perm α)) (hτ : IsThreeCycle (τ : Perm α)) : IsConj σ τ 
Arguments: {α : Type u_1} [Fintype α] [DecidableEq α] (h5 : 5 ≤ Fintype.card α) {σ τ : ↥(alternatingGroup α)} (hσ : (↑σ).IsThreeCycle) (hτ : (↑τ).IsThreeCycle)
Goal: IsConj σ τ
-- Equiv.Perm.closure_three_cycles_eq_alternating
@[simp]
theorem closure_three_cycles_eq_alternating :
    closure { σ : Perm α | IsThreeCycle σ } = alternatingGroup α 
Arguments: {α : Type u_1} [Fintype α] [DecidableEq α]
Goal: Subgroup.closure {σ | σ.IsThreeCycle} = alternatingGroup α
-- Equiv.Perm.IsThreeCycle.alternating_normalClosure
theorem IsThreeCycle.alternating_normalClosure (h5 : 5 ≤ Fintype.card α) {f : Perm α}
    (hf : IsThreeCycle f) :
    normalClosure ({⟨f, hf.mem_alternatingGroup⟩} : Set (alternatingGroup α)) = ⊤ 
Arguments: {α : Type u_1} [Fintype α] [DecidableEq α] (h5 : 5 ≤ Fintype.card α) {f : Equiv.Perm α} (hf : f.IsThreeCycle)
Goal: Subgroup.normalClosure {⟨f, ⋯⟩} = ⊤