ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- AddMonoidAlgebra.support_one_subset
lemma support_one_subset [Zero G] : (1 : k[G]).support ⊆ 0 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [Zero G]
Goal: Finsupp.support 1 ⊆ 0
-- AddMonoidAlgebra.support_one
@[simp]
lemma support_one [Zero G] [NeZero (1 : k)] : (1 : k[G]).support = 0 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [Zero G] [NeZero 1]
Goal: Finsupp.support 1 = 0
-- AddMonoidAlgebra.mem_span_support
theorem mem_span_support [AddZeroClass G] (f : k[G]) :
    f ∈ Submodule.span k (of k G '' (f.support : Set G)) 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] [AddZeroClass G] (f : AddMonoidAlgebra k G)
Goal: f ∈ Submodule.span k (⇑(AddMonoidAlgebra.of k G) '' ↑f.support)
-- AddMonoidAlgebra.mem_span_support'
theorem mem_span_support' (f : k[G]) :
    f ∈ Submodule.span k (of' k G '' (f.support : Set G)) 
Arguments: {k : Type u₁} {G : Type u₂} [Semiring k] (f : AddMonoidAlgebra k G)
Goal: f ∈ Submodule.span k (AddMonoidAlgebra.of' k G '' ↑f.support)
-- MonoidAlgebra.mem_ideal_span_of_image
theorem MonoidAlgebra.mem_ideal_span_of_image [Monoid G] [Semiring k] {s : Set G}
    {x : MonoidAlgebra k G} :
    x ∈ Ideal.span (MonoidAlgebra.of k G '' s) ↔ ∀ m ∈ x.support, ∃ m' ∈ s, ∃ d, m = d * m' 
Arguments: {k : Type u_1} {G : Type u_3} [Monoid G] [Semiring k] {s : Set G} {x : MonoidAlgebra k G}
Goal: x ∈ Ideal.span (⇑(MonoidAlgebra.of k G) '' s) ↔ ∀ m ∈ x.support, ∃ m' ∈ s, ∃ d, m = d * m'
-- AddMonoidAlgebra.mem_ideal_span_of'_image
theorem AddMonoidAlgebra.mem_ideal_span_of'_image [AddMonoid A] [Semiring k] {s : Set A}
    {x : AddMonoidAlgebra k A} :
    x ∈ Ideal.span (AddMonoidAlgebra.of' k A '' s) ↔ ∀ m ∈ x.support, ∃ m' ∈ s, ∃ d, m = d + m' 
Arguments: {k : Type u_1} {A : Type u_2} [AddMonoid A] [Semiring k] {s : Set A} {x : AddMonoidAlgebra k A}
Goal: x ∈ Ideal.span (AddMonoidAlgebra.of' k A '' s) ↔ ∀ m ∈ x.support, ∃ m' ∈ s, ∃ d, m = d + m'
-- intCast_mem
@[aesop safe apply (rule_sets := [SetLike])]
theorem intCast_mem (n : ℤ) : (n : R) ∈ s 
Arguments: {R : Type u} {S : Type v} [Ring R] [SetLike S R] [hSR : SubringClass S R] (s : S) (n : ℤ)
Goal: ↑n ∈ s
-- SubringClass.coeSubtype
@[simp]
theorem coeSubtype : (subtype s : s → R) = ((↑) : s → R) 
Arguments: {R : Type u} {S : Type v} [Ring R] [SetLike S R] [hSR : SubringClass S R] (s : S)
Goal: ⇑(SubringClass.subtype s) = Subtype.val
-- SubringClass.coe_natCast
@[simp, norm_cast]
theorem coe_natCast (n : ℕ) : ((n : s) : R) = n 
Arguments: {R : Type u} {S : Type v} [Ring R] [SetLike S R] [hSR : SubringClass S R] (s : S) (n : ℕ)
Goal: ↑↑n = ↑n
-- SubringClass.coe_intCast
@[simp, norm_cast]
theorem coe_intCast (n : ℤ) : ((n : s) : R) = n 
Arguments: {R : Type u} {S : Type v} [Ring R] [SetLike S R] [hSR : SubringClass S R] (s : S) (n : ℤ)
Goal: ↑↑n = ↑n
-- Subring.mem_toSubsemiring
@[simp]
theorem mem_toSubsemiring {s : Subring R} {x : R} : x ∈ s.toSubsemiring ↔ x ∈ s 
Arguments: {R : Type u} [Ring R] {s : Subring R} {x : R}
Goal: x ∈ s.toSubsemiring ↔ x ∈ s
-- Subring.mem_carrier
theorem mem_carrier {s : Subring R} {x : R} : x ∈ s.carrier ↔ x ∈ s 
Arguments: {R : Type u} [Ring R] {s : Subring R} {x : R}
Goal: x ∈ s.carrier ↔ x ∈ s
-- Subring.mem_mk
@[simp]
theorem mem_mk {S : Subsemiring R} {x : R} (h) : x ∈ (⟨S, h⟩ : Subring R) ↔ x ∈ S 
Arguments: {R : Type u} [Ring R] {S : Subsemiring R} {x : R} (h : ∀ {x : R}, x ∈ S.carrier → -x ∈ S.carrier)
Goal: x ∈ { toSubsemiring := S, neg_mem' := h } ↔ x ∈ S
-- Subring.coe_set_mk
@[simp] theorem coe_set_mk (S : Subsemiring R) (h) : ((⟨S, h⟩ : Subring R) : Set R) = S 
Arguments: {R : Type u} [Ring R] (S : Subsemiring R) (h : ∀ {x : R}, x ∈ S.carrier → -x ∈ S.carrier)
Goal: ↑{ toSubsemiring := S, neg_mem' := h } = ↑S
-- Subring.mk_le_mk
@[simp]
theorem mk_le_mk {S S' : Subsemiring R} (h₁ h₂) :
    (⟨S, h₁⟩ : Subring R) ≤ (⟨S', h₂⟩ : Subring R) ↔ S ≤ S' 
Arguments: {R : Type u} [Ring R] {S S' : Subsemiring R} (h₁ : ∀ {x : R}, x ∈ S.carrier → -x ∈ S.carrier) (h₂ : ∀ {x : R}, x ∈ S'.carrier → -x ∈ S'.carrier)
Goal: { toSubsemiring := S, neg_mem' := h₁ } ≤ { toSubsemiring := S', neg_mem' := h₂ } ↔ S ≤ S'
-- Subring.ext
@[ext]
theorem ext {S T : Subring R} (h : ∀ x, x ∈ S ↔ x ∈ T) : S = T 
Arguments: {R : Type u} [Ring R] {S T : Subring R} (h : ∀ (x : R), x ∈ S ↔ x ∈ T)
Goal: S = T
-- Subring.coe_copy
@[simp]
theorem coe_copy (S : Subring R) (s : Set R) (hs : s = ↑S) : (S.copy s hs : Set R) = s 
Arguments: {R : Type u} [Ring R] (S : Subring R) (s : Set R) (hs : s = ↑S)
Goal: ↑(S.copy s hs) = s
-- Subring.copy_eq
theorem copy_eq (S : Subring R) (s : Set R) (hs : s = ↑S) : S.copy s hs = S 
Arguments: {R : Type u} [Ring R] (S : Subring R) (s : Set R) (hs : s = ↑S)
Goal: S.copy s hs = S
-- Subring.toSubsemiring_injective
theorem toSubsemiring_injective : Function.Injective (toSubsemiring : Subring R → Subsemiring R)
  
Arguments: {R : Type u} [Ring R]
Goal: Function.Injective Subring.toSubsemiring
-- Subring.toSubsemiring_strictMono
@[mono]
theorem toSubsemiring_strictMono : StrictMono (toSubsemiring : Subring R → Subsemiring R) 
Arguments: {R : Type u} [Ring R]
Goal: StrictMono Subring.toSubsemiring
-- Subring.toSubsemiring_mono
@[mono]
theorem toSubsemiring_mono : Monotone (toSubsemiring : Subring R → Subsemiring R) 
Arguments: {R : Type u} [Ring R]
Goal: Monotone Subring.toSubsemiring
-- Subring.toAddSubgroup_injective
theorem toAddSubgroup_injective : Function.Injective (toAddSubgroup : Subring R → AddSubgroup R)
  
Arguments: {R : Type u} [Ring R]
Goal: Function.Injective Subring.toAddSubgroup
-- Subring.toAddSubgroup_strictMono
@[mono]
theorem toAddSubgroup_strictMono : StrictMono (toAddSubgroup : Subring R → AddSubgroup R) 
Arguments: {R : Type u} [Ring R]
Goal: StrictMono Subring.toAddSubgroup
-- Subring.toAddSubgroup_mono
@[mono]
theorem toAddSubgroup_mono : Monotone (toAddSubgroup : Subring R → AddSubgroup R) 
Arguments: {R : Type u} [Ring R]
Goal: Monotone Subring.toAddSubgroup
-- Subring.toSubmonoid_injective
theorem toSubmonoid_injective : Function.Injective (fun s : Subring R => s.toSubmonoid)
  
Arguments: {R : Type u} [Ring R]
Goal: Function.Injective fun s => s.toSubmonoid
-- Subring.toSubmonoid_strictMono
@[mono]
theorem toSubmonoid_strictMono : StrictMono (fun s : Subring R => s.toSubmonoid) 
Arguments: {R : Type u} [Ring R]
Goal: StrictMono fun s => s.toSubmonoid
-- Subring.toSubmonoid_mono
@[mono]
theorem toSubmonoid_mono : Monotone (fun s : Subring R => s.toSubmonoid) 
Arguments: {R : Type u} [Ring R]
Goal: Monotone fun s => s.toSubmonoid
-- Subring.coe_mk'
@[simp]
theorem coe_mk' {s : Set R} {sm : Submonoid R} (hm : ↑sm = s) {sa : AddSubgroup R} (ha : ↑sa = s) :
    (Subring.mk' s sm sa hm ha : Set R) = s 
Arguments: {R : Type u} [Ring R] {s : Set R} {sm : Submonoid R} (hm : ↑sm = s) {sa : AddSubgroup R} (ha : ↑sa = s)
Goal: ↑(Subring.mk' s sm sa hm ha) = s
-- Subring.mem_mk'
@[simp]
theorem mem_mk' {s : Set R} {sm : Submonoid R} (hm : ↑sm = s) {sa : AddSubgroup R} (ha : ↑sa = s)
    {x : R} : x ∈ Subring.mk' s sm sa hm ha ↔ x ∈ s 
Arguments: {R : Type u} [Ring R] {s : Set R} {sm : Submonoid R} (hm : ↑sm = s) {sa : AddSubgroup R} (ha : ↑sa = s) {x : R}
Goal: x ∈ Subring.mk' s sm sa hm ha ↔ x ∈ s
-- Subring.mk'_toSubmonoid
@[simp]
theorem mk'_toSubmonoid {s : Set R} {sm : Submonoid R} (hm : ↑sm = s) {sa : AddSubgroup R}
    (ha : ↑sa = s) : (Subring.mk' s sm sa hm ha).toSubmonoid = sm 
Arguments: {R : Type u} [Ring R] {s : Set R} {sm : Submonoid R} (hm : ↑sm = s) {sa : AddSubgroup R} (ha : ↑sa = s)
Goal: (Subring.mk' s sm sa hm ha).toSubmonoid = sm
-- Subring.mk'_toAddSubgroup
@[simp]
theorem mk'_toAddSubgroup {s : Set R} {sm : Submonoid R} (hm : ↑sm = s) {sa : AddSubgroup R}
    (ha : ↑sa = s) : (Subring.mk' s sm sa hm ha).toAddSubgroup = sa 
Arguments: {R : Type u} [Ring R] {s : Set R} {sm : Submonoid R} (hm : ↑sm = s) {sa : AddSubgroup R} (ha : ↑sa = s)
Goal: (Subring.mk' s sm sa hm ha).toAddSubgroup = sa
-- Subring.one_mem
protected theorem one_mem : (1 : R) ∈ s 
Arguments: {R : Type u} [Ring R] (s : Subring R)
Goal: 1 ∈ s
-- Subring.zero_mem
protected theorem zero_mem : (0 : R) ∈ s 
Arguments: {R : Type u} [Ring R] (s : Subring R)
Goal: 0 ∈ s
-- Subring.mul_mem
protected theorem mul_mem {x y : R} : x ∈ s → y ∈ s → x * y ∈ s 
Arguments: {R : Type u} [Ring R] (s : Subring R) {x y : R}
Goal: x ∈ s → y ∈ s → x * y ∈ s
-- Subring.add_mem
protected theorem add_mem {x y : R} : x ∈ s → y ∈ s → x + y ∈ s 
Arguments: {R : Type u} [Ring R] (s : Subring R) {x y : R}
Goal: x ∈ s → y ∈ s → x + y ∈ s
-- Subring.neg_mem
protected theorem neg_mem {x : R} : x ∈ s → -x ∈ s 
Arguments: {R : Type u} [Ring R] (s : Subring R) {x : R}
Goal: x ∈ s → -x ∈ s
-- Subring.sub_mem
protected theorem sub_mem {x y : R} (hx : x ∈ s) (hy : y ∈ s) : x - y ∈ s 
Arguments: {R : Type u} [Ring R] (s : Subring R) {x y : R} (hx : x ∈ s) (hy : y ∈ s)
Goal: x - y ∈ s
-- Subring.list_prod_mem
protected theorem list_prod_mem {l : List R} : (∀ x ∈ l, x ∈ s) → l.prod ∈ s 
Arguments: {R : Type u} [Ring R] (s : Subring R) {l : List R}
Goal: (∀ x ∈ l, x ∈ s) → l.prod ∈ s
-- Subring.list_sum_mem
protected theorem list_sum_mem {l : List R} : (∀ x ∈ l, x ∈ s) → l.sum ∈ s 
Arguments: {R : Type u} [Ring R] (s : Subring R) {l : List R}
Goal: (∀ x ∈ l, x ∈ s) → l.sum ∈ s
-- Subring.multiset_prod_mem
protected theorem multiset_prod_mem {R} [CommRing R] (s : Subring R) (m : Multiset R) :
    (∀ a ∈ m, a ∈ s) → m.prod ∈ s 
Arguments: {R : Type u_1} [CommRing R] (s : Subring R) (m : Multiset R)
Goal: (∀ a ∈ m, a ∈ s) → m.prod ∈ s
-- Subring.multiset_sum_mem
protected theorem multiset_sum_mem {R} [Ring R] (s : Subring R) (m : Multiset R) :
    (∀ a ∈ m, a ∈ s) → m.sum ∈ s 
Arguments: {R : Type u_1} [Ring R] (s : Subring R) (m : Multiset R)
Goal: (∀ a ∈ m, a ∈ s) → m.sum ∈ s
-- Subring.prod_mem
protected theorem prod_mem {R : Type*} [CommRing R] (s : Subring R) {ι : Type*} {t : Finset ι}
    {f : ι → R} (h : ∀ c ∈ t, f c ∈ s) : (∏ i ∈ t, f i) ∈ s 
Arguments: {R : Type u_1} [CommRing R] (s : Subring R) {ι : Type u_2} {t : Finset ι} {f : ι → R} (h : ∀ c ∈ t, f c ∈ s)
Goal: ∏ i ∈ t, f i ∈ s
-- Subring.sum_mem
protected theorem sum_mem {R : Type*} [Ring R] (s : Subring R) {ι : Type*} {t : Finset ι}
    {f : ι → R} (h : ∀ c ∈ t, f c ∈ s) : (∑ i ∈ t, f i) ∈ s 
Arguments: {R : Type u_1} [Ring R] (s : Subring R) {ι : Type u_2} {t : Finset ι} {f : ι → R} (h : ∀ c ∈ t, f c ∈ s)
Goal: ∑ i ∈ t, f i ∈ s
-- Subring.zsmul_mem
protected theorem zsmul_mem {x : R} (hx : x ∈ s) (n : ℤ) : n • x ∈ s 
Arguments: {R : Type u} [Ring R] (s : Subring R) {x : R} (hx : x ∈ s) (n : ℤ)
Goal: n • x ∈ s
-- Subring.pow_mem
protected theorem pow_mem {x : R} (hx : x ∈ s) (n : ℕ) : x ^ n ∈ s 
Arguments: {R : Type u} [Ring R] (s : Subring R) {x : R} (hx : x ∈ s) (n : ℕ)
Goal: x ^ n ∈ s
-- Subring.coe_add
@[simp, norm_cast]
theorem coe_add (x y : s) : (↑(x + y) : R) = ↑x + ↑y 
Arguments: {R : Type u} [Ring R] (s : Subring R) (x y : ↥s)
Goal: ↑(x + y) = ↑x + ↑y
-- Subring.coe_neg
@[simp, norm_cast]
theorem coe_neg (x : s) : (↑(-x) : R) = -↑x 
Arguments: {R : Type u} [Ring R] (s : Subring R) (x : ↥s)
Goal: ↑(-x) = -↑x
-- Subring.coe_mul
@[simp, norm_cast]
theorem coe_mul (x y : s) : (↑(x * y) : R) = ↑x * ↑y 
Arguments: {R : Type u} [Ring R] (s : Subring R) (x y : ↥s)
Goal: ↑(x * y) = ↑x * ↑y
-- Subring.coe_zero
@[simp, norm_cast]
theorem coe_zero : ((0 : s) : R) = 0 
Arguments: {R : Type u} [Ring R] (s : Subring R)
Goal: ↑0 = 0
-- Subring.coe_one
@[simp, norm_cast]
theorem coe_one : ((1 : s) : R) = 1 
Arguments: {R : Type u} [Ring R] (s : Subring R)
Goal: ↑1 = 1
-- Subring.coe_pow
@[simp, norm_cast]
theorem coe_pow (x : s) (n : ℕ) : ↑(x ^ n) = (x : R) ^ n 
Arguments: {R : Type u} [Ring R] (s : Subring R) (x : ↥s) (n : ℕ)
Goal: ↑(x ^ n) = ↑x ^ n
-- Subring.coe_eq_zero_iff
theorem coe_eq_zero_iff {x : s} : (x : R) = 0 ↔ x = 0 
Arguments: {R : Type u} [Ring R] (s : Subring R) {x : ↥s}
Goal: ↑x = 0 ↔ x = 0
-- Subring.coeSubtype
@[simp]
theorem coeSubtype : ⇑s.subtype = ((↑) : s → R) 
Arguments: {R : Type u} [Ring R] (s : Subring R)
Goal: ⇑s.subtype = Subtype.val
-- Subring.coe_natCast
@[norm_cast] -- Porting note (#10618): simp can prove this (removed `@[simp]`)
theorem coe_natCast : ∀ n : ℕ, ((n : s) : R) = n 
Arguments: {R : Type u} [Ring R] (s : Subring R) (n : ℕ)
Goal: ↑↑n = ↑n
-- Subring.coe_intCast
@[norm_cast] -- Porting note (#10618): simp can prove this (removed `@[simp]`)
theorem coe_intCast : ∀ n : ℤ, ((n : s) : R) = n 
Arguments: {R : Type u} [Ring R] (s : Subring R) (n : ℤ)
Goal: ↑↑n = ↑n
-- Subring.coe_toSubsemiring
@[simp]
theorem coe_toSubsemiring (s : Subring R) : (s.toSubsemiring : Set R) = s 
Arguments: {R : Type u} [Ring R] (s : Subring R)
Goal: ↑s.toSubsemiring = ↑s
-- Subring.mem_toSubmonoid
@[simp, nolint simpNF] -- Porting note (#10675): dsimp can not prove this
theorem mem_toSubmonoid {s : Subring R} {x : R} : x ∈ s.toSubmonoid ↔ x ∈ s 
Arguments: {R : Type u} [Ring R] {s : Subring R} {x : R}
Goal: x ∈ s.toSubmonoid ↔ x ∈ s
-- Subring.coe_toSubmonoid
@[simp]
theorem coe_toSubmonoid (s : Subring R) : (s.toSubmonoid : Set R) = s 
Arguments: {R : Type u} [Ring R] (s : Subring R)
Goal: ↑s.toSubmonoid = ↑s
-- Subring.mem_toAddSubgroup
@[simp, nolint simpNF] -- Porting note (#10675): dsimp can not prove this
theorem mem_toAddSubgroup {s : Subring R} {x : R} : x ∈ s.toAddSubgroup ↔ x ∈ s 
Arguments: {R : Type u} [Ring R] {s : Subring R} {x : R}
Goal: x ∈ s.toAddSubgroup ↔ x ∈ s
-- Subring.coe_toAddSubgroup
@[simp]
theorem coe_toAddSubgroup (s : Subring R) : (s.toAddSubgroup : Set R) = s 
Arguments: {R : Type u} [Ring R] (s : Subring R)
Goal: ↑s.toAddSubgroup = ↑s
-- Subring.mem_top
@[simp]
theorem mem_top (x : R) : x ∈ (⊤ : Subring R) 
Arguments: {R : Type u} [Ring R] (x : R)
Goal: x ∈ ⊤
-- Subring.coe_top
@[simp]
theorem coe_top : ((⊤ : Subring R) : Set R) = Set.univ 
Arguments: {R : Type u} [Ring R]
Goal: ↑⊤ = Set.univ
-- Subring.topEquiv_apply
@[simps!]
def topEquiv : (⊤ : Subring R) ≃+* R 
Arguments: {R : Type u} [Ring R] (r : ↥⊤)
Goal: Subring.topEquiv r = ↑r
-- Subring.topEquiv_symm_apply_coe
@[simps!]
def topEquiv : (⊤ : Subring R) ≃+* R 
Arguments: {R : Type u} [Ring R] (r : R)
Goal: ↑(Subring.topEquiv.symm r) = r
-- Subring.card_top
theorem card_top (R) [Ring R] [Fintype R] : Fintype.card (⊤ : Subring R) = Fintype.card R 
Arguments: (R : Type u_1) [Ring R] [Fintype R]
Goal: Fintype.card ↥⊤ = Fintype.card R
-- Subring.coe_comap
@[simp]
theorem coe_comap (s : Subring S) (f : R →+* S) : (s.comap f : Set R) = f ⁻¹' s 
Arguments: {R : Type u} {S : Type v} [Ring R] [Ring S] (s : Subring S) (f : R →+* S)
Goal: ↑(Subring.comap f s) = ⇑f ⁻¹' ↑s
-- Subring.mem_comap
@[simp]
theorem mem_comap {s : Subring S} {f : R →+* S} {x : R} : x ∈ s.comap f ↔ f x ∈ s 
Arguments: {R : Type u} {S : Type v} [Ring R] [Ring S] {s : Subring S} {f : R →+* S} {x : R}
Goal: x ∈ Subring.comap f s ↔ f x ∈ s
-- Subring.comap_comap
theorem comap_comap (s : Subring T) (g : S →+* T) (f : R →+* S) :
    (s.comap g).comap f = s.comap (g.comp f) 
Arguments: {R : Type u} {S : Type v} {T : Type w} [Ring R] [Ring S] [Ring T] (s : Subring T) (g : S →+* T) (f : R →+* S)
Goal: Subring.comap f (Subring.comap g s) = Subring.comap (g.comp f) s
-- Subring.coe_map
@[simp]
theorem coe_map (f : R →+* S) (s : Subring R) : (s.map f : Set S) = f '' s 
Arguments: {R : Type u} {S : Type v} [Ring R] [Ring S] (f : R →+* S) (s : Subring R)
Goal: ↑(Subring.map f s) = ⇑f '' ↑s
-- Subring.mem_map
@[simp]
theorem mem_map {f : R →+* S} {s : Subring R} {y : S} : y ∈ s.map f ↔ ∃ x ∈ s, f x = y 
Arguments: {R : Type u} {S : Type v} [Ring R] [Ring S] {f : R →+* S} {s : Subring R} {y : S}
Goal: y ∈ Subring.map f s ↔ ∃ x ∈ s, f x = y
-- Subring.map_id
@[simp]
theorem map_id : s.map (RingHom.id R) = s 
Arguments: {R : Type u} [Ring R] (s : Subring R)
Goal: Subring.map (RingHom.id R) s = s
-- Subring.map_map
theorem map_map (g : S →+* T) (f : R →+* S) : (s.map f).map g = s.map (g.comp f) 
Arguments: {R : Type u} {S : Type v} {T : Type w} [Ring R] [Ring S] [Ring T] (s : Subring R) (g : S →+* T) (f : R →+* S)
Goal: Subring.map g (Subring.map f s) = Subring.map (g.comp f) s
-- Subring.map_le_iff_le_comap
theorem map_le_iff_le_comap {f : R →+* S} {s : Subring R} {t : Subring S} :
    s.map f ≤ t ↔ s ≤ t.comap f 
Arguments: {R : Type u} {S : Type v} [Ring R] [Ring S] {f : R →+* S} {s : Subring R} {t : Subring S}
Goal: Subring.map f s ≤ t ↔ s ≤ Subring.comap f t
-- Subring.gc_map_comap
theorem gc_map_comap (f : R →+* S) : GaloisConnection (map f) (comap f) 
Arguments: {R : Type u} {S : Type v} [Ring R] [Ring S] (f : R →+* S)
Goal: GaloisConnection (Subring.map f) (Subring.comap f)
-- Subring.coe_equivMapOfInjective_apply
@[simp]
theorem coe_equivMapOfInjective_apply (f : R →+* S) (hf : Function.Injective f) (x : s) :
    (equivMapOfInjective s f hf x : S) = f x 
Arguments: {R : Type u} {S : Type v} [Ring R] [Ring S] (s : Subring R) (f : R →+* S) (hf : Function.Injective ⇑f) (x : ↥s)
Goal: ↑((s.equivMapOfInjective f hf) x) = f ↑x
-- RingHom.coe_range
@[simp]
theorem coe_range : (f.range : Set S) = Set.range f 
Arguments: {R : Type u} {S : Type v} [Ring R] [Ring S] (f : R →+* S)
Goal: ↑f.range = Set.range ⇑f
-- RingHom.mem_range
@[simp]
theorem mem_range {f : R →+* S} {y : S} : y ∈ f.range ↔ ∃ x, f x = y 
Arguments: {R : Type u} {S : Type v} [Ring R] [Ring S] {f : R →+* S} {y : S}
Goal: y ∈ f.range ↔ ∃ x, f x = y
-- RingHom.range_eq_map
theorem range_eq_map (f : R →+* S) : f.range = Subring.map f ⊤ 
Arguments: {R : Type u} {S : Type v} [Ring R] [Ring S] (f : R →+* S)
Goal: f.range = Subring.map f ⊤
-- RingHom.mem_range_self
theorem mem_range_self (f : R →+* S) (x : R) : f x ∈ f.range 
Arguments: {R : Type u} {S : Type v} [Ring R] [Ring S] (f : R →+* S) (x : R)
Goal: f x ∈ f.range
-- RingHom.map_range
theorem map_range : f.range.map g = (g.comp f).range 
Arguments: {R : Type u} {S : Type v} {T : Type w} [Ring R] [Ring S] [Ring T] (g : S →+* T) (f : R →+* S)
Goal: Subring.map g f.range = (g.comp f).range
-- Subring.coe_bot
theorem coe_bot : ((⊥ : Subring R) : Set R) = Set.range ((↑) : ℤ → R) 
Arguments: {R : Type u} [Ring R]
Goal: ↑⊥ = Set.range Int.cast
-- Subring.mem_bot
theorem mem_bot {x : R} : x ∈ (⊥ : Subring R) ↔ ∃ n : ℤ, ↑n = x 
Arguments: {R : Type u} [Ring R] {x : R}
Goal: x ∈ ⊥ ↔ ∃ n, ↑n = x
-- Subring.coe_inf
@[simp]
theorem coe_inf (p p' : Subring R) : ((p ⊓ p' : Subring R) : Set R) = (p : Set R) ∩ p' 
Arguments: {R : Type u} [Ring R] (p p' : Subring R)
Goal: ↑(p ⊓ p') = ↑p ∩ ↑p'
-- Subring.mem_inf
@[simp]
theorem mem_inf {p p' : Subring R} {x : R} : x ∈ p ⊓ p' ↔ x ∈ p ∧ x ∈ p' 
Arguments: {R : Type u} [Ring R] {p p' : Subring R} {x : R}
Goal: x ∈ p ⊓ p' ↔ x ∈ p ∧ x ∈ p'
-- Subring.coe_sInf
@[simp, norm_cast]
theorem coe_sInf (S : Set (Subring R)) : ((sInf S : Subring R) : Set R) = ⋂ s ∈ S, ↑s 
Arguments: {R : Type u} [Ring R] (S : Set (Subring R))
Goal: ↑(sInf S) = ⋂ s ∈ S, ↑s
-- Subring.mem_sInf
theorem mem_sInf {S : Set (Subring R)} {x : R} : x ∈ sInf S ↔ ∀ p ∈ S, x ∈ p 
Arguments: {R : Type u} [Ring R] {S : Set (Subring R)} {x : R}
Goal: x ∈ sInf S ↔ ∀ p ∈ S, x ∈ p
-- Subring.coe_iInf
@[simp, norm_cast]
theorem coe_iInf {ι : Sort*} {S : ι → Subring R} : (↑(⨅ i, S i) : Set R) = ⋂ i, S i 
Arguments: {R : Type u} [Ring R] {ι : Sort u_1} {S : ι → Subring R}
Goal: ↑(⨅ i, S i) = ⋂ i, ↑(S i)
-- Subring.mem_iInf
theorem mem_iInf {ι : Sort*} {S : ι → Subring R} {x : R} : (x ∈ ⨅ i, S i) ↔ ∀ i, x ∈ S i 
Arguments: {R : Type u} [Ring R] {ι : Sort u_1} {S : ι → Subring R} {x : R}
Goal: x ∈ ⨅ i, S i ↔ ∀ (i : ι), x ∈ S i
-- Subring.sInf_toSubmonoid
@[simp]
theorem sInf_toSubmonoid (s : Set (Subring R)) :
    (sInf s).toSubmonoid = ⨅ t ∈ s, t.toSubmonoid 
Arguments: {R : Type u} [Ring R] (s : Set (Subring R))
Goal: (sInf s).toSubmonoid = ⨅ t ∈ s, t.toSubmonoid
-- Subring.sInf_toAddSubgroup
@[simp]
theorem sInf_toAddSubgroup (s : Set (Subring R)) :
    (sInf s).toAddSubgroup = ⨅ t ∈ s, Subring.toAddSubgroup t 
Arguments: {R : Type u} [Ring R] (s : Set (Subring R))
Goal: (sInf s).toAddSubgroup = ⨅ t ∈ s, t.toAddSubgroup
-- Subring.eq_top_iff'
theorem eq_top_iff' (A : Subring R) : A = ⊤ ↔ ∀ x : R, x ∈ A 
Arguments: {R : Type u} [Ring R] (A : Subring R)
Goal: A = ⊤ ↔ ∀ (x : R), x ∈ A
-- Subring.coe_center
theorem coe_center : ↑(center R) = Set.center R 
Arguments: (R : Type u) [Ring R]
Goal: ↑(Subring.center R) = Set.center R
-- Subring.center_toSubsemiring
@[simp]
theorem center_toSubsemiring : (center R).toSubsemiring = Subsemiring.center R 
Arguments: (R : Type u) [Ring R]
Goal: (Subring.center R).toSubsemiring = Subsemiring.center R
-- Subring.mem_center_iff
theorem mem_center_iff {z : R} : z ∈ center R ↔ ∀ g, g * z = z * g 
Arguments: {R : Type u} [Ring R] {z : R}
Goal: z ∈ Subring.center R ↔ ∀ (g : R), g * z = z * g
-- Subring.center_eq_top
@[simp]
theorem center_eq_top (R) [CommRing R] : center R = ⊤ 
Arguments: (R : Type u_1) [CommRing R]
Goal: Subring.center R = ⊤
-- Subring.center.coe_inv
@[simp]
theorem center.coe_inv (a : center K) : ((a⁻¹ : center K) : K) = (a : K)⁻¹ 
Arguments: {K : Type u} [DivisionRing K] (a : ↥(Subring.center K))
Goal: ↑a⁻¹ = (↑a)⁻¹
-- Subring.center.coe_div
@[simp]
theorem center.coe_div (a b : center K) : ((a / b : center K) : K) = (a : K) / (b : K) 
Arguments: {K : Type u} [DivisionRing K] (a b : ↥(Subring.center K))
Goal: ↑(a / b) = ↑a / ↑b
-- Subring.coe_centralizer
@[simp, norm_cast]
theorem coe_centralizer (s : Set R) : (centralizer s : Set R) = s.centralizer 
Arguments: {R : Type u} [Ring R] (s : Set R)
Goal: ↑(Subring.centralizer s) = s.centralizer
-- Subring.centralizer_toSubmonoid
theorem centralizer_toSubmonoid (s : Set R) :
    (centralizer s).toSubmonoid = Submonoid.centralizer s 
Arguments: {R : Type u} [Ring R] (s : Set R)
Goal: (Subring.centralizer s).toSubmonoid = Submonoid.centralizer s
-- Subring.centralizer_toSubsemiring
theorem centralizer_toSubsemiring (s : Set R) :
    (centralizer s).toSubsemiring = Subsemiring.centralizer s 
Arguments: {R : Type u} [Ring R] (s : Set R)
Goal: (Subring.centralizer s).toSubsemiring = Subsemiring.centralizer s
-- Subring.mem_centralizer_iff
theorem mem_centralizer_iff {s : Set R} {z : R} : z ∈ centralizer s ↔ ∀ g ∈ s, g * z = z * g 
Arguments: {R : Type u} [Ring R] {s : Set R} {z : R}
Goal: z ∈ Subring.centralizer s ↔ ∀ g ∈ s, g * z = z * g
-- Subring.center_le_centralizer
theorem center_le_centralizer (s) : center R ≤ centralizer s 
Arguments: {R : Type u} [Ring R] (s : Set R)
Goal: Subring.center R ≤ Subring.centralizer s
-- Subring.centralizer_le
theorem centralizer_le (s t : Set R) (h : s ⊆ t) : centralizer t ≤ centralizer s 
Arguments: {R : Type u} [Ring R] (s t : Set R) (h : s ⊆ t)
Goal: Subring.centralizer t ≤ Subring.centralizer s
-- Subring.centralizer_eq_top_iff_subset
@[simp]
theorem centralizer_eq_top_iff_subset {s : Set R} : centralizer s = ⊤ ↔ s ⊆ center R 
Arguments: {R : Type u} [Ring R] {s : Set R}
Goal: Subring.centralizer s = ⊤ ↔ s ⊆ ↑(Subring.center R)
-- Subring.centralizer_univ
@[simp]
theorem centralizer_univ : centralizer Set.univ = center R 
Arguments: {R : Type u} [Ring R]
Goal: Subring.centralizer Set.univ = Subring.center R
-- Subring.mem_closure
theorem mem_closure {x : R} {s : Set R} : x ∈ closure s ↔ ∀ S : Subring R, s ⊆ S → x ∈ S 
Arguments: {R : Type u} [Ring R] {x : R} {s : Set R}
Goal: x ∈ Subring.closure s ↔ ∀ (S : Subring R), s ⊆ ↑S → x ∈ S
-- Subring.subset_closure
@[simp, aesop safe 20 apply (rule_sets := [SetLike])]
theorem subset_closure {s : Set R} : s ⊆ closure s 
Arguments: {R : Type u} [Ring R] {s : Set R}
Goal: s ⊆ ↑(Subring.closure s)
-- Subring.not_mem_of_not_mem_closure
theorem not_mem_of_not_mem_closure {s : Set R} {P : R} (hP : P ∉ closure s) : P ∉ s 
Arguments: {R : Type u} [Ring R] {s : Set R} {P : R} (hP : P ∉ Subring.closure s)
Goal: P ∉ s
-- Subring.closure_le
@[simp]
theorem closure_le {s : Set R} {t : Subring R} : closure s ≤ t ↔ s ⊆ t 
Arguments: {R : Type u} [Ring R] {s : Set R} {t : Subring R}
Goal: Subring.closure s ≤ t ↔ s ⊆ ↑t
-- Subring.closure_mono
theorem closure_mono ⦃s t : Set R⦄ (h : s ⊆ t) : closure s ≤ closure t 
Arguments: {R : Type u} [Ring R] ⦃s t : Set R⦄ (h : s ⊆ t)
Goal: Subring.closure s ≤ Subring.closure t
-- Subring.closure_eq_of_le
theorem closure_eq_of_le {s : Set R} {t : Subring R} (h₁ : s ⊆ t) (h₂ : t ≤ closure s) :
    closure s = t 
Arguments: {R : Type u} [Ring R] {s : Set R} {t : Subring R} (h₁ : s ⊆ ↑t) (h₂ : t ≤ Subring.closure s)
Goal: Subring.closure s = t