ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- NonUnitalSubring.mem_mk'
@[simp]
theorem mem_mk' {s : Set R} {sm : Subsemigroup R} (hm : ↑sm = s) {sa : AddSubgroup R} (ha : ↑sa = s)
    {x : R} : x ∈ NonUnitalSubring.mk' s sm sa hm ha ↔ x ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {s : Set R} {sm : Subsemigroup R} (hm : ↑sm = s) {sa : AddSubgroup R} (ha : ↑sa = s) {x : R}
Goal: x ∈ NonUnitalSubring.mk' s sm sa hm ha ↔ x ∈ s
-- NonUnitalSubring.mk'_toSubsemigroup
@[simp]
theorem mk'_toSubsemigroup {s : Set R} {sm : Subsemigroup R} (hm : ↑sm = s) {sa : AddSubgroup R}
    (ha : ↑sa = s) : (NonUnitalSubring.mk' s sm sa hm ha).toSubsemigroup = sm 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {s : Set R} {sm : Subsemigroup R} (hm : ↑sm = s) {sa : AddSubgroup R} (ha : ↑sa = s)
Goal: (NonUnitalSubring.mk' s sm sa hm ha).toSubsemigroup = sm
-- NonUnitalSubring.mk'_toAddSubgroup
@[simp]
theorem mk'_toAddSubgroup {s : Set R} {sm : Subsemigroup R} (hm : ↑sm = s) {sa : AddSubgroup R}
    (ha : ↑sa = s) : (NonUnitalSubring.mk' s sm sa hm ha).toAddSubgroup = sa 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {s : Set R} {sm : Subsemigroup R} (hm : ↑sm = s) {sa : AddSubgroup R} (ha : ↑sa = s)
Goal: (NonUnitalSubring.mk' s sm sa hm ha).toAddSubgroup = sa
-- NonUnitalSubring.zero_mem
protected theorem zero_mem : (0 : R) ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R)
Goal: 0 ∈ s
-- NonUnitalSubring.mul_mem
protected theorem mul_mem {x y : R} : x ∈ s → y ∈ s → x * y ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R) {x y : R}
Goal: x ∈ s → y ∈ s → x * y ∈ s
-- NonUnitalSubring.add_mem
protected theorem add_mem {x y : R} : x ∈ s → y ∈ s → x + y ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R) {x y : R}
Goal: x ∈ s → y ∈ s → x + y ∈ s
-- NonUnitalSubring.neg_mem
protected theorem neg_mem {x : R} : x ∈ s → -x ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R) {x : R}
Goal: x ∈ s → -x ∈ s
-- NonUnitalSubring.sub_mem
protected theorem sub_mem {x y : R} (hx : x ∈ s) (hy : y ∈ s) : x - y ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R) {x y : R} (hx : x ∈ s) (hy : y ∈ s)
Goal: x - y ∈ s
-- NonUnitalSubring.list_sum_mem
protected theorem list_sum_mem {l : List R} : (∀ x ∈ l, x ∈ s) → l.sum ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R) {l : List R}
Goal: (∀ x ∈ l, x ∈ s) → l.sum ∈ s
-- NonUnitalSubring.multiset_sum_mem
protected theorem multiset_sum_mem {R} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R)
    (m : Multiset R) : (∀ a ∈ m, a ∈ s) → m.sum ∈ s 
Arguments: {R : Type u_1} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R) (m : Multiset R)
Goal: (∀ a ∈ m, a ∈ s) → m.sum ∈ s
-- NonUnitalSubring.sum_mem
protected theorem sum_mem {R : Type*} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R)
    {ι : Type*} {t : Finset ι} {f : ι → R} (h : ∀ c ∈ t, f c ∈ s) : (∑ i ∈ t, f i) ∈ s 
Arguments: {R : Type u_1} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R) {ι : Type u_2} {t : Finset ι} {f : ι → R} (h : ∀ c ∈ t, f c ∈ s)
Goal: ∑ i ∈ t, f i ∈ s
-- NonUnitalSubring.zsmul_mem
protected theorem zsmul_mem {x : R} (hx : x ∈ s) (n : ℤ) : n • x ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R) {x : R} (hx : x ∈ s) (n : ℤ)
Goal: n • x ∈ s
-- NonUnitalSubring.val_add
@[simp, norm_cast]
theorem val_add (x y : s) : (↑(x + y) : R) = ↑x + ↑y 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R) (x y : ↥s)
Goal: ↑(x + y) = ↑x + ↑y
-- NonUnitalSubring.val_neg
@[simp, norm_cast]
theorem val_neg (x : s) : (↑(-x) : R) = -↑x 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R) (x : ↥s)
Goal: ↑(-x) = -↑x
-- NonUnitalSubring.val_mul
@[simp, norm_cast]
theorem val_mul (x y : s) : (↑(x * y) : R) = ↑x * ↑y 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R) (x y : ↥s)
Goal: ↑(x * y) = ↑x * ↑y
-- NonUnitalSubring.val_zero
@[simp, norm_cast]
theorem val_zero : ((0 : s) : R) = 0 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R)
Goal: ↑0 = 0
-- NonUnitalSubring.coe_eq_zero_iff
theorem coe_eq_zero_iff {x : s} : (x : R) = 0 ↔ x = 0 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R) {x : ↥s}
Goal: ↑x = 0 ↔ x = 0
-- NonUnitalSubring.mem_toSubsemigroup
@[simp]
theorem mem_toSubsemigroup {s : NonUnitalSubring R} {x : R} : x ∈ s.toSubsemigroup ↔ x ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {s : NonUnitalSubring R} {x : R}
Goal: x ∈ s.toSubsemigroup ↔ x ∈ s
-- NonUnitalSubring.coe_toSubsemigroup
@[simp]
theorem coe_toSubsemigroup (s : NonUnitalSubring R) : (s.toSubsemigroup : Set R) = s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R)
Goal: ↑s.toSubsemigroup = ↑s
-- NonUnitalSubring.mem_toAddSubgroup
@[simp]
theorem mem_toAddSubgroup {s : NonUnitalSubring R} {x : R} : x ∈ s.toAddSubgroup ↔ x ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {s : NonUnitalSubring R} {x : R}
Goal: x ∈ s.toAddSubgroup ↔ x ∈ s
-- NonUnitalSubring.coe_toAddSubgroup
@[simp]
theorem coe_toAddSubgroup (s : NonUnitalSubring R) : (s.toAddSubgroup : Set R) = s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R)
Goal: ↑s.toAddSubgroup = ↑s
-- NonUnitalSubring.mem_toNonUnitalSubsemiring
@[simp]
theorem mem_toNonUnitalSubsemiring {s : NonUnitalSubring R} {x : R} :
    x ∈ s.toNonUnitalSubsemiring ↔ x ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {s : NonUnitalSubring R} {x : R}
Goal: x ∈ s.toNonUnitalSubsemiring ↔ x ∈ s
-- NonUnitalSubring.coe_toNonUnitalSubsemiring
@[simp]
theorem coe_toNonUnitalSubsemiring (s : NonUnitalSubring R) :
    (s.toNonUnitalSubsemiring : Set R) = s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R)
Goal: ↑s.toNonUnitalSubsemiring = ↑s
-- NonUnitalSubring.mem_top
@[simp]
theorem mem_top (x : R) : x ∈ (⊤ : NonUnitalSubring R) 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (x : R)
Goal: x ∈ ⊤
-- NonUnitalSubring.coe_top
@[simp]
theorem coe_top : ((⊤ : NonUnitalSubring R) : Set R) = Set.univ 
Arguments: {R : Type u} [NonUnitalNonAssocRing R]
Goal: ↑⊤ = Set.univ
-- NonUnitalSubring.topEquiv_symm_apply_coe
@[simps!]
def topEquiv : (⊤ : NonUnitalSubring R) ≃+* R 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (x : R)
Goal: ↑(NonUnitalSubring.topEquiv.symm x) = x
-- NonUnitalSubring.topEquiv_apply
@[simps!]
def topEquiv : (⊤ : NonUnitalSubring R) ≃+* R 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (x : ↥⊤)
Goal: NonUnitalSubring.topEquiv x = ↑x
-- NonUnitalSubring.coe_comap
@[simp]
theorem coe_comap (s : NonUnitalSubring S) (f : F) : (s.comap f : Set R) = f ⁻¹' s 
Arguments: {F : Type w} {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] [FunLike F R S] [NonUnitalRingHomClass F R S] (s : NonUnitalSubring S) (f : F)
Goal: ↑(NonUnitalSubring.comap f s) = ⇑f ⁻¹' ↑s
-- NonUnitalSubring.mem_comap
@[simp]
theorem mem_comap {s : NonUnitalSubring S} {f : F} {x : R} : x ∈ s.comap f ↔ f x ∈ s 
Arguments: {F : Type w} {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] [FunLike F R S] [NonUnitalRingHomClass F R S] {s : NonUnitalSubring S} {f : F} {x : R}
Goal: x ∈ NonUnitalSubring.comap f s ↔ f x ∈ s
-- NonUnitalSubring.comap_comap
theorem comap_comap (s : NonUnitalSubring 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 u_1} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] [NonUnitalNonAssocRing T] (s : NonUnitalSubring T) (g : S →ₙ+* T) (f : R →ₙ+* S)
Goal: NonUnitalSubring.comap f (NonUnitalSubring.comap g s) = NonUnitalSubring.comap (g.comp f) s
-- NonUnitalSubring.coe_map
@[simp]
theorem coe_map (f : F) (s : NonUnitalSubring R) : (s.map f : Set S) = f '' s 
Arguments: {F : Type w} {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] [FunLike F R S] [NonUnitalRingHomClass F R S] (f : F) (s : NonUnitalSubring R)
Goal: ↑(NonUnitalSubring.map f s) = ⇑f '' ↑s
-- NonUnitalSubring.mem_map
@[simp]
theorem mem_map {f : F} {s : NonUnitalSubring R} {y : S} : y ∈ s.map f ↔ ∃ x ∈ s, f x = y 
Arguments: {F : Type w} {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] [FunLike F R S] [NonUnitalRingHomClass F R S] {f : F} {s : NonUnitalSubring R} {y : S}
Goal: y ∈ NonUnitalSubring.map f s ↔ ∃ x ∈ s, f x = y
-- NonUnitalSubring.map_id
@[simp]
theorem map_id : s.map (NonUnitalRingHom.id R) = s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R)
Goal: NonUnitalSubring.map (NonUnitalRingHom.id R) s = s
-- NonUnitalSubring.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 u_1} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] [NonUnitalNonAssocRing T] (s : NonUnitalSubring R) (g : S →ₙ+* T) (f : R →ₙ+* S)
Goal: NonUnitalSubring.map g (NonUnitalSubring.map f s) = NonUnitalSubring.map (g.comp f) s
-- NonUnitalSubring.map_le_iff_le_comap
theorem map_le_iff_le_comap {f : F} {s : NonUnitalSubring R} {t : NonUnitalSubring S} :
    s.map f ≤ t ↔ s ≤ t.comap f 
Arguments: {F : Type w} {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] [FunLike F R S] [NonUnitalRingHomClass F R S] {f : F} {s : NonUnitalSubring R} {t : NonUnitalSubring S}
Goal: NonUnitalSubring.map f s ≤ t ↔ s ≤ NonUnitalSubring.comap f t
-- NonUnitalSubring.gc_map_comap
theorem gc_map_comap (f : F) :
    GaloisConnection (map f : NonUnitalSubring R → NonUnitalSubring S) (comap f) 
Arguments: {F : Type w} {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] [FunLike F R S] [NonUnitalRingHomClass F R S] (f : F)
Goal: GaloisConnection (NonUnitalSubring.map f) (NonUnitalSubring.comap f)
-- NonUnitalSubring.coe_equivMapOfInjective_apply
@[simp]
theorem coe_equivMapOfInjective_apply (f : F) (hf : Function.Injective f) (x : s) :
    (equivMapOfInjective s f hf x : S) = f x 
Arguments: {F : Type w} {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] [FunLike F R S] [NonUnitalRingHomClass F R S] (s : NonUnitalSubring R) (f : F) (hf : Function.Injective ⇑f) (x : ↥s)
Goal: ↑((s.equivMapOfInjective f hf) x) = f ↑x
-- NonUnitalRingHom.coe_range
@[simp]
theorem coe_range : (f.range : Set S) = Set.range f 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (f : R →ₙ+* S)
Goal: ↑f.range = Set.range ⇑f
-- NonUnitalRingHom.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} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] {f : R →ₙ+* S} {y : S}
Goal: y ∈ f.range ↔ ∃ x, f x = y
-- NonUnitalRingHom.range_eq_map
theorem range_eq_map (f : R →ₙ+* S) : f.range = NonUnitalSubring.map f ⊤ 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (f : R →ₙ+* S)
Goal: f.range = NonUnitalSubring.map f ⊤
-- NonUnitalRingHom.mem_range_self
theorem mem_range_self (f : R →ₙ+* S) (x : R) : f x ∈ f.range 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (f : R →ₙ+* S) (x : R)
Goal: f x ∈ f.range
-- NonUnitalRingHom.map_range
theorem map_range : f.range.map g = (g.comp f).range 
Arguments: {R : Type u} {S : Type v} {T : Type u_1} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] [NonUnitalNonAssocRing T] (g : S →ₙ+* T) (f : R →ₙ+* S)
Goal: NonUnitalSubring.map g f.range = (g.comp f).range
-- NonUnitalSubring.coe_bot
theorem coe_bot : ((⊥ : NonUnitalSubring R) : Set R) = {0} 
Arguments: {R : Type u} [NonUnitalNonAssocRing R]
Goal: ↑⊥ = {0}
-- NonUnitalSubring.mem_bot
theorem mem_bot {x : R} : x ∈ (⊥ : NonUnitalSubring R) ↔ x = 0 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {x : R}
Goal: x ∈ ⊥ ↔ x = 0
-- NonUnitalSubring.coe_inf
@[simp]
theorem coe_inf (p p' : NonUnitalSubring R) :
    ((p ⊓ p' : NonUnitalSubring R) : Set R) = (p : Set R) ∩ p' 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (p p' : NonUnitalSubring R)
Goal: ↑(p ⊓ p') = ↑p ∩ ↑p'
-- NonUnitalSubring.mem_inf
@[simp]
theorem mem_inf {p p' : NonUnitalSubring R} {x : R} : x ∈ p ⊓ p' ↔ x ∈ p ∧ x ∈ p' 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {p p' : NonUnitalSubring R} {x : R}
Goal: x ∈ p ⊓ p' ↔ x ∈ p ∧ x ∈ p'
-- NonUnitalSubring.coe_sInf
@[simp, norm_cast]
theorem coe_sInf (S : Set (NonUnitalSubring R)) :
    ((sInf S : NonUnitalSubring R) : Set R) = ⋂ s ∈ S, ↑s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (S : Set (NonUnitalSubring R))
Goal: ↑(sInf S) = ⋂ s ∈ S, ↑s
-- NonUnitalSubring.mem_sInf
theorem mem_sInf {S : Set (NonUnitalSubring R)} {x : R} : x ∈ sInf S ↔ ∀ p ∈ S, x ∈ p 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {S : Set (NonUnitalSubring R)} {x : R}
Goal: x ∈ sInf S ↔ ∀ p ∈ S, x ∈ p
-- NonUnitalSubring.coe_iInf
@[simp, norm_cast]
theorem coe_iInf {ι : Sort*} {S : ι → NonUnitalSubring R} : (↑(⨅ i, S i) : Set R) = ⋂ i, S i 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {ι : Sort u_2} {S : ι → NonUnitalSubring R}
Goal: ↑(⨅ i, S i) = ⋂ i, ↑(S i)
-- NonUnitalSubring.mem_iInf
theorem mem_iInf {ι : Sort*} {S : ι → NonUnitalSubring R} {x : R} :
    (x ∈ ⨅ i, S i) ↔ ∀ i, x ∈ S i 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {ι : Sort u_2} {S : ι → NonUnitalSubring R} {x : R}
Goal: x ∈ ⨅ i, S i ↔ ∀ (i : ι), x ∈ S i
-- NonUnitalSubring.sInf_toSubsemigroup
@[simp]
theorem sInf_toSubsemigroup (s : Set (NonUnitalSubring R)) :
    (sInf s).toSubsemigroup = ⨅ t ∈ s, NonUnitalSubring.toSubsemigroup t 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : Set (NonUnitalSubring R))
Goal: (sInf s).toSubsemigroup = ⨅ t ∈ s, t.toSubsemigroup
-- NonUnitalSubring.sInf_toAddSubgroup
@[simp]
theorem sInf_toAddSubgroup (s : Set (NonUnitalSubring R)) :
    (sInf s).toAddSubgroup = ⨅ t ∈ s, NonUnitalSubring.toAddSubgroup t 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : Set (NonUnitalSubring R))
Goal: (sInf s).toAddSubgroup = ⨅ t ∈ s, t.toAddSubgroup
-- NonUnitalSubring.eq_top_iff'
theorem eq_top_iff' (A : NonUnitalSubring R) : A = ⊤ ↔ ∀ x : R, x ∈ A 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (A : NonUnitalSubring R)
Goal: A = ⊤ ↔ ∀ (x : R), x ∈ A
-- NonUnitalSubring.coe_center
theorem coe_center : ↑(center R) = Set.center R 
Arguments: (R : Type u) [NonUnitalNonAssocRing R]
Goal: ↑(NonUnitalSubring.center R) = Set.center R
-- NonUnitalSubring.center_toNonUnitalSubsemiring
@[simp]
theorem center_toNonUnitalSubsemiring :
    (center R).toNonUnitalSubsemiring = NonUnitalSubsemiring.center R 
Arguments: (R : Type u) [NonUnitalNonAssocRing R]
Goal: (NonUnitalSubring.center R).toNonUnitalSubsemiring = NonUnitalSubsemiring.center R
-- NonUnitalSubring.mem_center_iff
theorem mem_center_iff {z : R} : z ∈ center R ↔ ∀ g, g * z = z * g 
Arguments: {R : Type u} [NonUnitalRing R] {z : R}
Goal: z ∈ NonUnitalSubring.center R ↔ ∀ (g : R), g * z = z * g
-- NonUnitalSubring.center_eq_top
@[simp]
theorem center_eq_top (R) [NonUnitalCommRing R] : center R = ⊤ 
Arguments: (R : Type u_1) [NonUnitalCommRing R]
Goal: NonUnitalSubring.center R = ⊤
-- NonUnitalSubring.mem_closure
theorem mem_closure {x : R} {s : Set R} : x ∈ closure s ↔ ∀ S : NonUnitalSubring R, s ⊆ S → x ∈ S 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {x : R} {s : Set R}
Goal: x ∈ NonUnitalSubring.closure s ↔ ∀ (S : NonUnitalSubring R), s ⊆ ↑S → x ∈ S
-- NonUnitalSubring.subset_closure
@[simp, aesop safe 20 apply (rule_sets := [SetLike])]
theorem subset_closure {s : Set R} : s ⊆ closure s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {s : Set R}
Goal: s ⊆ ↑(NonUnitalSubring.closure s)
-- NonUnitalSubring.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} [NonUnitalNonAssocRing R] {s : Set R} {P : R} (hP : P ∉ NonUnitalSubring.closure s)
Goal: P ∉ s
-- NonUnitalSubring.closure_le
@[simp]
theorem closure_le {s : Set R} {t : NonUnitalSubring R} : closure s ≤ t ↔ s ⊆ t 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {s : Set R} {t : NonUnitalSubring R}
Goal: NonUnitalSubring.closure s ≤ t ↔ s ⊆ ↑t
-- NonUnitalSubring.closure_mono
theorem closure_mono ⦃s t : Set R⦄ (h : s ⊆ t) : closure s ≤ closure t 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] ⦃s t : Set R⦄ (h : s ⊆ t)
Goal: NonUnitalSubring.closure s ≤ NonUnitalSubring.closure t
-- NonUnitalSubring.closure_eq_of_le
theorem closure_eq_of_le {s : Set R} {t : NonUnitalSubring R} (h₁ : s ⊆ t) (h₂ : t ≤ closure s) :
    closure s = t 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {s : Set R} {t : NonUnitalSubring R} (h₁ : s ⊆ ↑t) (h₂ : t ≤ NonUnitalSubring.closure s)
Goal: NonUnitalSubring.closure s = t
-- NonUnitalSubring.closure_induction
@[elab_as_elim]
theorem closure_induction {s : Set R} {p : R → Prop} {x} (h : x ∈ closure s) (mem : ∀ x ∈ s, p x)
    (zero : p 0) (add : ∀ x y, p x → p y → p (x + y)) (neg : ∀ x : R, p x → p (-x))
    (mul : ∀ x y, p x → p y → p (x * y)) : p x 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {s : Set R} {p : R → Prop} {x : R} (h : x ∈ NonUnitalSubring.closure s) (mem : ∀ x ∈ s, p x) (zero : p 0) (add : ∀ (x y : R), p x → p y → p (x + y)) (neg : ∀ (x : R), p x → p (-x)) (mul : ∀ (x y : R), p x → p y → p (x * y))
Goal: p x
-- NonUnitalSubring.closure_induction'
@[elab_as_elim]
theorem closure_induction' {s : Set R} {p : closure s → Prop} (a : closure s)
    (mem : ∀ (x) (hx : x ∈ s), p ⟨x, subset_closure hx⟩) (zero : p 0)
    (add : ∀ x y, p x → p y → p (x + y)) (neg : ∀ x, p x → p (-x))
    (mul : ∀ x y, p x → p y → p (x * y)) : p a 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {s : Set R} {p : ↥(NonUnitalSubring.closure s) → Prop} (a : ↥(NonUnitalSubring.closure s)) (mem : ∀ (x : R) (hx : x ∈ s), p ⟨x, ⋯⟩) (zero : p 0) (add : ∀ (x y : ↥(NonUnitalSubring.closure s)), p x → p y → p (x + y)) (neg : ∀ (x : ↥(NonUnitalSubring.closure s)), p x → p (-x)) (mul : ∀ (x y : ↥(NonUnitalSubring.closure s)), p x → p y → p (x * y))
Goal: p a
-- NonUnitalSubring.closure_induction₂
@[elab_as_elim]
theorem closure_induction₂ {s : Set R} {p : R → R → Prop} {a b : R} (ha : a ∈ closure s)
    (hb : b ∈ closure s) (Hs : ∀ x ∈ s, ∀ y ∈ s, p x y) (H0_left : ∀ x, p 0 x)
    (H0_right : ∀ x, p x 0) (Hneg_left : ∀ x y, p x y → p (-x) y)
    (Hneg_right : ∀ x y, p x y → p x (-y)) (Hadd_left : ∀ x₁ x₂ y, p x₁ y → p x₂ y → p (x₁ + x₂) y)
    (Hadd_right : ∀ x y₁ y₂, p x y₁ → p x y₂ → p x (y₁ + y₂))
    (Hmul_left : ∀ x₁ x₂ y, p x₁ y → p x₂ y → p (x₁ * x₂) y)
    (Hmul_right : ∀ x y₁ y₂, p x y₁ → p x y₂ → p x (y₁ * y₂)) : p a b 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {s : Set R} {p : R → R → Prop} {a b : R} (ha : a ∈ NonUnitalSubring.closure s) (hb : b ∈ NonUnitalSubring.closure s) (Hs : ∀ x ∈ s, ∀ y ∈ s, p x y) (H0_left : ∀ (x : R), p 0 x) (H0_right : ∀ (x : R), p x 0) (Hneg_left : ∀ (x y : R), p x y → p (-x) y) (Hneg_right : ∀ (x y : R), p x y → p x (-y)) (Hadd_left : ∀ (x₁ x₂ y : R), p x₁ y → p x₂ y → p (x₁ + x₂) y) (Hadd_right : ∀ (x y₁ y₂ : R), p x y₁ → p x y₂ → p x (y₁ + y₂)) (Hmul_left : ∀ (x₁ x₂ y : R), p x₁ y → p x₂ y → p (x₁ * x₂) y) (Hmul_right : ∀ (x y₁ y₂ : R), p x y₁ → p x y₂ → p x (y₁ * y₂))
Goal: p a b
-- NonUnitalSubring.mem_closure_iff
theorem mem_closure_iff {s : Set R} {x} :
    x ∈ closure s ↔ x ∈ AddSubgroup.closure (Subsemigroup.closure s : Set R) 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {s : Set R} {x : R}
Goal: x ∈ NonUnitalSubring.closure s ↔ x ∈ AddSubgroup.closure ↑(Subsemigroup.closure s)
-- NonUnitalSubring.closure_eq
theorem closure_eq (s : NonUnitalSubring R) : closure (s : Set R) = s 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : NonUnitalSubring R)
Goal: NonUnitalSubring.closure ↑s = s
-- NonUnitalSubring.closure_empty
@[simp]
theorem closure_empty : closure (∅ : Set R) = ⊥ 
Arguments: {R : Type u} [NonUnitalNonAssocRing R]
Goal: NonUnitalSubring.closure ∅ = ⊥
-- NonUnitalSubring.closure_univ
@[simp]
theorem closure_univ : closure (Set.univ : Set R) = ⊤ 
Arguments: {R : Type u} [NonUnitalNonAssocRing R]
Goal: NonUnitalSubring.closure Set.univ = ⊤
-- NonUnitalSubring.closure_union
theorem closure_union (s t : Set R) : closure (s ∪ t) = closure s ⊔ closure t 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s t : Set R)
Goal: NonUnitalSubring.closure (s ∪ t) = NonUnitalSubring.closure s ⊔ NonUnitalSubring.closure t
-- NonUnitalSubring.closure_iUnion
theorem closure_iUnion {ι} (s : ι → Set R) : closure (⋃ i, s i) = ⨆ i, closure (s i) 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] {ι : Sort u_2} (s : ι → Set R)
Goal: NonUnitalSubring.closure (⋃ i, s i) = ⨆ i, NonUnitalSubring.closure (s i)
-- NonUnitalSubring.closure_sUnion
theorem closure_sUnion (s : Set (Set R)) : closure (⋃₀ s) = ⨆ t ∈ s, closure t 
Arguments: {R : Type u} [NonUnitalNonAssocRing R] (s : Set (Set R))
Goal: NonUnitalSubring.closure (⋃₀ s) = ⨆ t ∈ s, NonUnitalSubring.closure t
-- NonUnitalSubring.map_sup
theorem map_sup (s t : NonUnitalSubring R) (f : F) : (s ⊔ t).map f = s.map f ⊔ t.map f 
Arguments: {F : Type w} {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] [FunLike F R S] [NonUnitalRingHomClass F R S] (s t : NonUnitalSubring R) (f : F)
Goal: NonUnitalSubring.map f (s ⊔ t) = NonUnitalSubring.map f s ⊔ NonUnitalSubring.map f t
-- NonUnitalSubring.map_iSup
theorem map_iSup {ι : Sort*} (f : F) (s : ι → NonUnitalSubring R) :
    (iSup s).map f = ⨆ i, (s i).map f 
Arguments: {F : Type w} {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] [FunLike F R S] [NonUnitalRingHomClass F R S] {ι : Sort u_2} (f : F) (s : ι → NonUnitalSubring R)
Goal: NonUnitalSubring.map f (iSup s) = ⨆ i, NonUnitalSubring.map f (s i)
-- NonUnitalSubring.comap_inf
theorem comap_inf (s t : NonUnitalSubring S) (f : F) : (s ⊓ t).comap f = s.comap f ⊓ t.comap f 
Arguments: {F : Type w} {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] [FunLike F R S] [NonUnitalRingHomClass F R S] (s t : NonUnitalSubring S) (f : F)
Goal: NonUnitalSubring.comap f (s ⊓ t) = NonUnitalSubring.comap f s ⊓ NonUnitalSubring.comap f t
-- NonUnitalSubring.comap_iInf
theorem comap_iInf {ι : Sort*} (f : F) (s : ι → NonUnitalSubring S) :
    (iInf s).comap f = ⨅ i, (s i).comap f 
Arguments: {F : Type w} {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] [FunLike F R S] [NonUnitalRingHomClass F R S] {ι : Sort u_2} (f : F) (s : ι → NonUnitalSubring S)
Goal: NonUnitalSubring.comap f (iInf s) = ⨅ i, NonUnitalSubring.comap f (s i)
-- NonUnitalSubring.map_bot
@[simp]
theorem map_bot (f : R →ₙ+* S) : (⊥ : NonUnitalSubring R).map f = ⊥ 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (f : R →ₙ+* S)
Goal: NonUnitalSubring.map f ⊥ = ⊥
-- NonUnitalSubring.comap_top
@[simp]
theorem comap_top (f : R →ₙ+* S) : (⊤ : NonUnitalSubring S).comap f = ⊤ 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (f : R →ₙ+* S)
Goal: NonUnitalSubring.comap f ⊤ = ⊤
-- NonUnitalSubring.coe_prod
@[norm_cast]
theorem coe_prod (s : NonUnitalSubring R) (t : NonUnitalSubring S) :
    (s.prod t : Set (R × S)) = (s : Set R) ×ˢ t 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] (s : NonUnitalSubring R) (t : NonUnitalSubring S)
Goal: ↑(s.prod t) = ↑s ×ˢ ↑t
-- NonUnitalSubring.mem_prod
theorem mem_prod {s : NonUnitalSubring R} {t : NonUnitalSubring S} {p : R × S} :
    p ∈ s.prod t ↔ p.1 ∈ s ∧ p.2 ∈ t 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] {s : NonUnitalSubring R} {t : NonUnitalSubring S} {p : R × S}
Goal: p ∈ s.prod t ↔ p.1 ∈ s ∧ p.2 ∈ t
-- NonUnitalSubring.prod_mono
@[mono]
theorem prod_mono ⦃s₁ s₂ : NonUnitalSubring R⦄ (hs : s₁ ≤ s₂) ⦃t₁ t₂ : NonUnitalSubring S⦄
    (ht : t₁ ≤ t₂) : s₁.prod t₁ ≤ s₂.prod t₂ 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] ⦃s₁ s₂ : NonUnitalSubring R⦄ (hs : s₁ ≤ s₂) ⦃t₁ t₂ : NonUnitalSubring S⦄ (ht : t₁ ≤ t₂)
Goal: s₁.prod t₁ ≤ s₂.prod t₂