ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- RingHom.liftOfRightInverse_comp_apply
theorem liftOfRightInverse_comp_apply (hf : Function.RightInverse f_inv f)
    (g : { g : A →+* C // RingHom.ker f ≤ RingHom.ker g }) (x : A) :
    (f.liftOfRightInverse f_inv hf g) (f x) = g.1 x 
Arguments: {A : Type u_1} {B : Type u_2} {C : Type u_3} [Ring A] [Ring B] [Ring C] (f : A →+* B) (f_inv : B → A) (hf : Function.RightInverse f_inv ⇑f) (g : { g // RingHom.ker f ≤ RingHom.ker g }) (x : A)
Goal: ((f.liftOfRightInverse f_inv hf) g) (f x) = ↑g x
-- RingHom.liftOfRightInverse_comp
theorem liftOfRightInverse_comp (hf : Function.RightInverse f_inv f)
    (g : { g : A →+* C // RingHom.ker f ≤ RingHom.ker g }) :
    (f.liftOfRightInverse f_inv hf g).comp f = g 
Arguments: {A : Type u_1} {B : Type u_2} {C : Type u_3} [Ring A] [Ring B] [Ring C] (f : A →+* B) (f_inv : B → A) (hf : Function.RightInverse f_inv ⇑f) (g : { g // RingHom.ker f ≤ RingHom.ker g })
Goal: ((f.liftOfRightInverse f_inv hf) g).comp f = ↑g
-- RingHom.eq_liftOfRightInverse
theorem eq_liftOfRightInverse (hf : Function.RightInverse f_inv f) (g : A →+* C)
    (hg : RingHom.ker f ≤ RingHom.ker g) (h : B →+* C) (hh : h.comp f = g) :
    h = f.liftOfRightInverse f_inv hf ⟨g, hg⟩ 
Arguments: {A : Type u_1} {B : Type u_2} {C : Type u_3} [Ring A] [Ring B] [Ring C] (f : A →+* B) (f_inv : B → A) (hf : Function.RightInverse f_inv ⇑f) (g : A →+* C) (hg : RingHom.ker f ≤ RingHom.ker g) (h : B →+* C) (hh : h.comp f = g)
Goal: h = (f.liftOfRightInverse f_inv hf) ⟨g, hg⟩
-- AlgHom.coe_ker
lemma coe_ker : RingHom.ker f = RingHom.ker (f : A →+* B) 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (f : A →ₐ[R] B)
Goal: RingHom.ker f = RingHom.ker ↑f
-- AlgHom.coe_ideal_map
lemma coe_ideal_map (I : Ideal A) :
    Ideal.map f I = Ideal.map (f : A →+* B) I 
Arguments: {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (f : A →ₐ[R] B) (I : Ideal A)
Goal: Ideal.map f I = Ideal.map (↑f) I
-- Algebra.idealMap_apply_coe
@[simps!]
def idealMap (I : Ideal R) : I →ₗ[R] I.map (algebraMap R S) 
Arguments: {R : Type u_1} [CommSemiring R] (S : Type u_2) [Semiring S] [Algebra R S] (I : Ideal R) (c : ↥I)
Goal: ↑((Algebra.idealMap S I) c) = (algebraMap R S) ↑c
-- SlimCheck.Gen.chooseNatLt_aux
lemma chooseNatLt_aux {lo hi : Nat} (a : Nat) (h : Nat.succ lo ≤ a ∧ a ≤ hi) :
    lo ≤ Nat.pred a ∧ Nat.pred a < hi 
Arguments: {lo hi : ℕ} (a : ℕ) (h : lo.succ ≤ a ∧ a ≤ hi)
Goal: lo ≤ a.pred ∧ a.pred < hi
-- ZMod.ker_intCastRingHom
theorem ZMod.ker_intCastRingHom (n : ℕ) :
    RingHom.ker (Int.castRingHom (ZMod n)) = Ideal.span ({(n : ℤ)} : Set ℤ) 
Arguments: (n : ℕ)
Goal: RingHom.ker (Int.castRingHom (ZMod n)) = Ideal.span {↑n}
-- ZMod.ringHom_eq_of_ker_eq
theorem ZMod.ringHom_eq_of_ker_eq {n : ℕ} {R : Type*} [CommRing R] (f g : R →+* ZMod n)
    (h : RingHom.ker f = RingHom.ker g) : f = g 
Arguments: {n : ℕ} {R : Type u_1} [CommRing R] (f g : R →+* ZMod n) (h : RingHom.ker f = RingHom.ker g)
Goal: f = g
-- isReduced_zmod
@[simp]
theorem isReduced_zmod {n : ℕ} : IsReduced (ZMod n) ↔ Squarefree n ∨ n = 0 
Arguments: {n : ℕ}
Goal: IsReduced (ZMod n) ↔ Squarefree n ∨ n = 0
-- IsIntegral.of_finite
theorem IsIntegral.of_finite [Module.Finite R B] (x : B) : IsIntegral R x 
Arguments: (R : Type u_1) {B : Type u_3} [CommRing R] [Ring B] [Algebra R B] [Module.Finite R B] (x : B)
Goal: IsIntegral R x
-- IsIntegral.of_mem_of_fg
theorem IsIntegral.of_mem_of_fg {A} [Ring A] [Algebra R A] (S : Subalgebra R A)
    (HS : S.toSubmodule.FG) (x : A) (hx : x ∈ S) : IsIntegral R x 
Arguments: {R : Type u_1} [CommRing R] {A : Type u_5} [Ring A] [Algebra R A] (S : Subalgebra R A) (HS : (Subalgebra.toSubmodule S).FG) (x : A) (hx : x ∈ S)
Goal: IsIntegral R x
-- RingHom.IsIntegralElem.of_mem_closure
theorem RingHom.IsIntegralElem.of_mem_closure {x y z : S} (hx : f.IsIntegralElem x)
    (hy : f.IsIntegralElem y) (hz : z ∈ Subring.closure ({x, y} : Set S)) : f.IsIntegralElem z 
Arguments: {R : Type u_1} {S : Type u_4} [CommRing R] [CommRing S] (f : R →+* S) {x y z : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y) (hz : z ∈ Subring.closure {x, y})
Goal: f.IsIntegralElem z
-- IsIntegral.of_mem_closure
nonrec theorem IsIntegral.of_mem_closure {x y z : A} (hx : IsIntegral R x) (hy : IsIntegral R y)
    (hz : z ∈ Subring.closure ({x, y} : Set A)) : IsIntegral R z 
Arguments: {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {x y z : A} (hx : IsIntegral R x) (hy : IsIntegral R y) (hz : z ∈ Subring.closure {x, y})
Goal: IsIntegral R z
-- RingHom.IsIntegralElem.add
theorem RingHom.IsIntegralElem.add (f : R →+* S) {x y : S}
    (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y) :
    f.IsIntegralElem (x + y) 
Arguments: {R : Type u_1} {S : Type u_4} [CommRing R] [CommRing S] (f : R →+* S) {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y)
Goal: f.IsIntegralElem (x + y)
-- IsIntegral.add
nonrec theorem IsIntegral.add {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y) :
    IsIntegral R (x + y) 
Arguments: {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y)
Goal: IsIntegral R (x + y)
-- RingHom.IsIntegralElem.neg
theorem RingHom.IsIntegralElem.neg {x : S} (hx : f.IsIntegralElem x) : f.IsIntegralElem (-x) 
Arguments: {R : Type u_1} {S : Type u_4} [CommRing R] [CommRing S] (f : R →+* S) {x : S} (hx : f.IsIntegralElem x)
Goal: f.IsIntegralElem (-x)
-- IsIntegral.neg
theorem IsIntegral.neg {x : B} (hx : IsIntegral R x) : IsIntegral R (-x) 
Arguments: {R : Type u_1} {B : Type u_3} [CommRing R] [Ring B] [Algebra R B] {x : B} (hx : IsIntegral R x)
Goal: IsIntegral R (-x)
-- RingHom.IsIntegralElem.sub
theorem RingHom.IsIntegralElem.sub {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y) :
    f.IsIntegralElem (x - y) 
Arguments: {R : Type u_1} {S : Type u_4} [CommRing R] [CommRing S] (f : R →+* S) {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y)
Goal: f.IsIntegralElem (x - y)
-- IsIntegral.sub
nonrec theorem IsIntegral.sub {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y) :
    IsIntegral R (x - y) 
Arguments: {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y)
Goal: IsIntegral R (x - y)
-- RingHom.IsIntegralElem.mul
theorem RingHom.IsIntegralElem.mul {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y) :
    f.IsIntegralElem (x * y) 
Arguments: {R : Type u_1} {S : Type u_4} [CommRing R] [CommRing S] (f : R →+* S) {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y)
Goal: f.IsIntegralElem (x * y)
-- IsIntegral.mul
nonrec theorem IsIntegral.mul {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y) :
    IsIntegral R (x * y) 
Arguments: {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y)
Goal: IsIntegral R (x * y)
-- IsIntegral.smul
theorem IsIntegral.smul {R} [CommSemiring R] [CommRing S] [Algebra R B] [Algebra S B] [Algebra R S]
    [IsScalarTower R S B] {x : B} (r : R)(hx : IsIntegral S x) : IsIntegral S (r • x) 
Arguments: {B : Type u_3} {S : Type u_4} [Ring B] {R : Type u_5} [CommSemiring R] [CommRing S] [Algebra R B] [Algebra S B] [Algebra R S] [IsScalarTower R S B] {x : B} (r : R) (hx : IsIntegral S x)
Goal: IsIntegral S (r • x)
-- NonUnitalSubsemiringClass.mul_mem
class NonUnitalSubsemiringClass (S : Type*) (R : Type u) [NonUnitalNonAssocSemiring R]
  [SetLike S R] extends AddSubmonoidClass S R : Prop where
  mul_mem : ∀ {s : S} {a b : R}, a ∈ s → b ∈ s → a * b ∈ s
Arguments: {S : Type u_1} {R : Type u} [NonUnitalNonAssocSemiring R] [SetLike S R] [self : NonUnitalSubsemiringClass S R] {s : S} {a b : R}
Goal: a ∈ s → b ∈ s → a * b ∈ s
-- NonUnitalSubsemiringClass.coeSubtype
@[simp]
theorem coeSubtype : (subtype s : s → R) = ((↑) : s → R) 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocSemiring R] [SetLike S R] [NonUnitalSubsemiringClass S R] (s : S)
Goal: ⇑(NonUnitalSubsemiringClass.subtype s) = Subtype.val
-- NonUnitalSubsemiring.mem_carrier
theorem mem_carrier {s : NonUnitalSubsemiring R} {x : R} : x ∈ s.carrier ↔ x ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] {s : NonUnitalSubsemiring R} {x : R}
Goal: x ∈ s.carrier ↔ x ∈ s
-- NonUnitalSubsemiring.ext
@[ext]
theorem ext {S T : NonUnitalSubsemiring R} (h : ∀ x, x ∈ S ↔ x ∈ T) : S = T 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] {S T : NonUnitalSubsemiring R} (h : ∀ (x : R), x ∈ S ↔ x ∈ T)
Goal: S = T
-- NonUnitalSubsemiring.coe_copy
@[simp]
theorem coe_copy (S : NonUnitalSubsemiring R) (s : Set R) (hs : s = ↑S) :
    (S.copy s hs : Set R) = s 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] (S : NonUnitalSubsemiring R) (s : Set R) (hs : s = ↑S)
Goal: ↑(S.copy s hs) = s
-- NonUnitalSubsemiring.copy_eq
theorem copy_eq (S : NonUnitalSubsemiring R) (s : Set R) (hs : s = ↑S) : S.copy s hs = S 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] (S : NonUnitalSubsemiring R) (s : Set R) (hs : s = ↑S)
Goal: S.copy s hs = S
-- NonUnitalSubsemiring.toSubsemigroup_injective
theorem toSubsemigroup_injective :
    Function.Injective (toSubsemigroup : NonUnitalSubsemiring R → Subsemigroup R)
  
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R]
Goal: Function.Injective NonUnitalSubsemiring.toSubsemigroup
-- NonUnitalSubsemiring.toSubsemigroup_strictMono
@[mono]
theorem toSubsemigroup_strictMono :
    StrictMono (toSubsemigroup : NonUnitalSubsemiring R → Subsemigroup R) 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R]
Goal: StrictMono NonUnitalSubsemiring.toSubsemigroup
-- NonUnitalSubsemiring.toSubsemigroup_mono
@[mono]
theorem toSubsemigroup_mono : Monotone (toSubsemigroup : NonUnitalSubsemiring R → Subsemigroup R) 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R]
Goal: Monotone NonUnitalSubsemiring.toSubsemigroup
-- NonUnitalSubsemiring.toAddSubmonoid_injective
theorem toAddSubmonoid_injective :
    Function.Injective (toAddSubmonoid : NonUnitalSubsemiring R → AddSubmonoid R)
  
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R]
Goal: Function.Injective NonUnitalSubsemiring.toAddSubmonoid
-- NonUnitalSubsemiring.toAddSubmonoid_strictMono
@[mono]
theorem toAddSubmonoid_strictMono :
    StrictMono (toAddSubmonoid : NonUnitalSubsemiring R → AddSubmonoid R) 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R]
Goal: StrictMono NonUnitalSubsemiring.toAddSubmonoid
-- NonUnitalSubsemiring.toAddSubmonoid_mono
@[mono]
theorem toAddSubmonoid_mono : Monotone (toAddSubmonoid : NonUnitalSubsemiring R → AddSubmonoid R) 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R]
Goal: Monotone NonUnitalSubsemiring.toAddSubmonoid
-- NonUnitalSubsemiring.coe_mk'
@[simp]
theorem coe_mk' {s : Set R} {sg : Subsemigroup R} (hg : ↑sg = s) {sa : AddSubmonoid R}
    (ha : ↑sa = s) : (NonUnitalSubsemiring.mk' s sg hg sa ha : Set R) = s 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] {s : Set R} {sg : Subsemigroup R} (hg : ↑sg = s) {sa : AddSubmonoid R} (ha : ↑sa = s)
Goal: ↑(NonUnitalSubsemiring.mk' s sg hg sa ha) = s
-- NonUnitalSubsemiring.mem_mk'
@[simp]
theorem mem_mk' {s : Set R} {sg : Subsemigroup R} (hg : ↑sg = s) {sa : AddSubmonoid R}
    (ha : ↑sa = s) {x : R} : x ∈ NonUnitalSubsemiring.mk' s sg hg sa ha ↔ x ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] {s : Set R} {sg : Subsemigroup R} (hg : ↑sg = s) {sa : AddSubmonoid R} (ha : ↑sa = s) {x : R}
Goal: x ∈ NonUnitalSubsemiring.mk' s sg hg sa ha ↔ x ∈ s
-- NonUnitalSubsemiring.mk'_toSubsemigroup
@[simp]
theorem mk'_toSubsemigroup {s : Set R} {sg : Subsemigroup R} (hg : ↑sg = s) {sa : AddSubmonoid R}
    (ha : ↑sa = s) : (NonUnitalSubsemiring.mk' s sg hg sa ha).toSubsemigroup = sg 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] {s : Set R} {sg : Subsemigroup R} (hg : ↑sg = s) {sa : AddSubmonoid R} (ha : ↑sa = s)
Goal: (NonUnitalSubsemiring.mk' s sg hg sa ha).toSubsemigroup = sg
-- NonUnitalSubsemiring.mk'_toAddSubmonoid
@[simp]
theorem mk'_toAddSubmonoid {s : Set R} {sg : Subsemigroup R} (hg : ↑sg = s) {sa : AddSubmonoid R}
    (ha : ↑sa = s) : (NonUnitalSubsemiring.mk' s sg hg sa ha).toAddSubmonoid = sa 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] {s : Set R} {sg : Subsemigroup R} (hg : ↑sg = s) {sa : AddSubmonoid R} (ha : ↑sa = s)
Goal: (NonUnitalSubsemiring.mk' s sg hg sa ha).toAddSubmonoid = sa
-- NonUnitalSubsemiring.coe_zero
@[simp, norm_cast]
theorem coe_zero : ((0 : s) : R) = (0 : R) 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] (s : NonUnitalSubsemiring R)
Goal: ↑0 = 0
-- NonUnitalSubsemiring.coe_add
@[simp, norm_cast]
theorem coe_add (x y : s) : ((x + y : s) : R) = (x + y : R) 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] (s : NonUnitalSubsemiring R) (x y : ↥s)
Goal: ↑(x + y) = ↑x + ↑y
-- NonUnitalSubsemiring.coe_mul
@[simp, norm_cast]
theorem coe_mul (x y : s) : ((x * y : s) : R) = (x * y : R) 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] (s : NonUnitalSubsemiring R) (x y : ↥s)
Goal: ↑(x * y) = ↑x * ↑y
-- NonUnitalSubsemiring.mem_toSubsemigroup
@[simp high]
theorem mem_toSubsemigroup {s : NonUnitalSubsemiring R} {x : R} : x ∈ s.toSubsemigroup ↔ x ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] {s : NonUnitalSubsemiring R} {x : R}
Goal: x ∈ s.toSubsemigroup ↔ x ∈ s
-- NonUnitalSubsemiring.coe_toSubsemigroup
@[simp high]
theorem coe_toSubsemigroup (s : NonUnitalSubsemiring R) : (s.toSubsemigroup : Set R) = s 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] (s : NonUnitalSubsemiring R)
Goal: ↑s.toSubsemigroup = ↑s
-- NonUnitalSubsemiring.mem_toAddSubmonoid
@[simp]
theorem mem_toAddSubmonoid {s : NonUnitalSubsemiring R} {x : R} : x ∈ s.toAddSubmonoid ↔ x ∈ s 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] {s : NonUnitalSubsemiring R} {x : R}
Goal: x ∈ s.toAddSubmonoid ↔ x ∈ s
-- NonUnitalSubsemiring.coe_toAddSubmonoid
@[simp]
theorem coe_toAddSubmonoid (s : NonUnitalSubsemiring R) : (s.toAddSubmonoid : Set R) = s 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] (s : NonUnitalSubsemiring R)
Goal: ↑s.toAddSubmonoid = ↑s
-- NonUnitalSubsemiring.mem_top
@[simp]
theorem mem_top (x : R) : x ∈ (⊤ : NonUnitalSubsemiring R) 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] (x : R)
Goal: x ∈ ⊤
-- NonUnitalSubsemiring.coe_top
@[simp]
theorem coe_top : ((⊤ : NonUnitalSubsemiring R) : Set R) = Set.univ 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R]
Goal: ↑⊤ = Set.univ
-- NonUnitalSubsemiring.topEquiv_apply
@[simps!]
def topEquiv : (⊤ : NonUnitalSubsemiring R) ≃+* R 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] (x : ↥⊤)
Goal: NonUnitalSubsemiring.topEquiv x = ↑x
-- NonUnitalSubsemiring.topEquiv_symm_apply_coe
@[simps!]
def topEquiv : (⊤ : NonUnitalSubsemiring R) ≃+* R 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] (x : R)
Goal: ↑(NonUnitalSubsemiring.topEquiv.symm x) = x
-- NonUnitalSubsemiring.coe_comap
@[simp]
theorem coe_comap (s : NonUnitalSubsemiring S) (f : F) : (s.comap f : Set R) = f ⁻¹' s 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] {F : Type u_1} [FunLike F R S] [NonUnitalRingHomClass F R S] (s : NonUnitalSubsemiring S) (f : F)
Goal: ↑(NonUnitalSubsemiring.comap f s) = ⇑f ⁻¹' ↑s
-- NonUnitalSubsemiring.mem_comap
@[simp]
theorem mem_comap {s : NonUnitalSubsemiring S} {f : F} {x : R} : x ∈ s.comap f ↔ f x ∈ s 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] {F : Type u_1} [FunLike F R S] [NonUnitalRingHomClass F R S] {s : NonUnitalSubsemiring S} {f : F} {x : R}
Goal: x ∈ NonUnitalSubsemiring.comap f s ↔ f x ∈ s
-- NonUnitalSubsemiring.comap_comap
theorem comap_comap (s : NonUnitalSubsemiring T) (g : G) (f : F) :
    ((s.comap g : NonUnitalSubsemiring S).comap f : NonUnitalSubsemiring R) =
      s.comap ((g : S →ₙ+* T).comp (f : R →ₙ+* S)) 
Arguments: {R : Type u} {S : Type v} {T : Type w} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] [NonUnitalNonAssocSemiring T] {F : Type u_1} {G : Type u_2} [FunLike F R S] [NonUnitalRingHomClass F R S] [FunLike G S T] [NonUnitalRingHomClass G S T] (s : NonUnitalSubsemiring T) (g : G) (f : F)
Goal: NonUnitalSubsemiring.comap f (NonUnitalSubsemiring.comap g s) = NonUnitalSubsemiring.comap ((↑g).comp ↑f) s
-- NonUnitalSubsemiring.coe_map
@[simp]
theorem coe_map (f : F) (s : NonUnitalSubsemiring R) : (s.map f : Set S) = f '' s 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] {F : Type u_1} [FunLike F R S] [NonUnitalRingHomClass F R S] (f : F) (s : NonUnitalSubsemiring R)
Goal: ↑(NonUnitalSubsemiring.map f s) = ⇑f '' ↑s
-- NonUnitalSubsemiring.mem_map
@[simp]
theorem mem_map {f : F} {s : NonUnitalSubsemiring R} {y : S} : y ∈ s.map f ↔ ∃ x ∈ s, f x = y 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] {F : Type u_1} [FunLike F R S] [NonUnitalRingHomClass F R S] {f : F} {s : NonUnitalSubsemiring R} {y : S}
Goal: y ∈ NonUnitalSubsemiring.map f s ↔ ∃ x ∈ s, f x = y
-- NonUnitalSubsemiring.map_id
@[simp]
theorem map_id : s.map (NonUnitalRingHom.id R) = s 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] (s : NonUnitalSubsemiring R)
Goal: NonUnitalSubsemiring.map (NonUnitalRingHom.id R) s = s
-- NonUnitalSubsemiring.map_map
theorem map_map (g : G) (f : F) :
    (s.map (f : R →ₙ+* S)).map (g : S →ₙ+* T) = s.map ((g : S →ₙ+* T).comp (f : R →ₙ+* S)) 
Arguments: {R : Type u} {S : Type v} {T : Type w} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] [NonUnitalNonAssocSemiring T] {F : Type u_1} {G : Type u_2} [FunLike F R S] [NonUnitalRingHomClass F R S] [FunLike G S T] [NonUnitalRingHomClass G S T] (s : NonUnitalSubsemiring R) (g : G) (f : F)
Goal: NonUnitalSubsemiring.map (↑g) (NonUnitalSubsemiring.map (↑f) s) = NonUnitalSubsemiring.map ((↑g).comp ↑f) s
-- NonUnitalSubsemiring.map_le_iff_le_comap
theorem map_le_iff_le_comap {f : F} {s : NonUnitalSubsemiring R} {t : NonUnitalSubsemiring S} :
    s.map f ≤ t ↔ s ≤ t.comap f 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] {F : Type u_1} [FunLike F R S] [NonUnitalRingHomClass F R S] {f : F} {s : NonUnitalSubsemiring R} {t : NonUnitalSubsemiring S}
Goal: NonUnitalSubsemiring.map f s ≤ t ↔ s ≤ NonUnitalSubsemiring.comap f t
-- NonUnitalSubsemiring.gc_map_comap
theorem gc_map_comap (f : F) :
    @GaloisConnection (NonUnitalSubsemiring R) (NonUnitalSubsemiring S) _ _ (map f) (comap f) 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] {F : Type u_1} [FunLike F R S] [NonUnitalRingHomClass F R S] (f : F)
Goal: GaloisConnection (NonUnitalSubsemiring.map f) (NonUnitalSubsemiring.comap f)
-- NonUnitalSubsemiring.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: {R : Type u} {S : Type v} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] {F : Type u_1} [FunLike F R S] [NonUnitalRingHomClass F R S] (s : NonUnitalSubsemiring R) (f : F) (hf : Function.Injective ⇑f) (x : ↥s)
Goal: ↑((s.equivMapOfInjective f hf) x) = f ↑x
-- NonUnitalRingHom.coe_srange
@[simp]
theorem coe_srange : (srange f : Set S) = Set.range f 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] {F : Type u_1} [FunLike F R S] [NonUnitalRingHomClass F R S] (f : F)
Goal: ↑(NonUnitalRingHom.srange f) = Set.range ⇑f
-- NonUnitalRingHom.mem_srange
@[simp]
theorem mem_srange {f : F} {y : S} : y ∈ srange f ↔ ∃ x, f x = y 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] {F : Type u_1} [FunLike F R S] [NonUnitalRingHomClass F R S] {f : F} {y : S}
Goal: y ∈ NonUnitalRingHom.srange f ↔ ∃ x, f x = y
-- NonUnitalRingHom.srange_eq_map
theorem srange_eq_map : srange f = (⊤ : NonUnitalSubsemiring R).map f 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] {F : Type u_1} [FunLike F R S] [NonUnitalRingHomClass F R S] (f : F)
Goal: NonUnitalRingHom.srange f = NonUnitalSubsemiring.map f ⊤
-- NonUnitalRingHom.mem_srange_self
theorem mem_srange_self (f : F) (x : R) : f x ∈ srange f 
Arguments: {R : Type u} {S : Type v} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] {F : Type u_1} [FunLike F R S] [NonUnitalRingHomClass F R S] (f : F) (x : R)
Goal: f x ∈ NonUnitalRingHom.srange f
-- NonUnitalRingHom.map_srange
theorem map_srange (g : S →ₙ+* T) (f : R →ₙ+* S) : map g (srange f) = srange (g.comp f) 
Arguments: {R : Type u} {S : Type v} {T : Type w} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] [NonUnitalNonAssocSemiring T] (g : S →ₙ+* T) (f : R →ₙ+* S)
Goal: NonUnitalSubsemiring.map g (NonUnitalRingHom.srange f) = NonUnitalRingHom.srange (g.comp f)
-- NonUnitalSubsemiring.coe_bot
theorem coe_bot : ((⊥ : NonUnitalSubsemiring R) : Set R) = {0} 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R]
Goal: ↑⊥ = {0}
-- NonUnitalSubsemiring.mem_bot
theorem mem_bot {x : R} : x ∈ (⊥ : NonUnitalSubsemiring R) ↔ x = 0 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] {x : R}
Goal: x ∈ ⊥ ↔ x = 0
-- NonUnitalSubsemiring.coe_inf
@[simp]
theorem coe_inf (p p' : NonUnitalSubsemiring R) :
    ((p ⊓ p' : NonUnitalSubsemiring R) : Set R) = (p : Set R) ∩ p' 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] (p p' : NonUnitalSubsemiring R)
Goal: ↑(p ⊓ p') = ↑p ∩ ↑p'
-- NonUnitalSubsemiring.mem_inf
@[simp]
theorem mem_inf {p p' : NonUnitalSubsemiring R} {x : R} : x ∈ p ⊓ p' ↔ x ∈ p ∧ x ∈ p' 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] {p p' : NonUnitalSubsemiring R} {x : R}
Goal: x ∈ p ⊓ p' ↔ x ∈ p ∧ x ∈ p'
-- NonUnitalSubsemiring.coe_sInf
@[simp, norm_cast]
theorem coe_sInf (S : Set (NonUnitalSubsemiring R)) :
    ((sInf S : NonUnitalSubsemiring R) : Set R) = ⋂ s ∈ S, ↑s 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] (S : Set (NonUnitalSubsemiring R))
Goal: ↑(sInf S) = ⋂ s ∈ S, ↑s
-- NonUnitalSubsemiring.mem_sInf
theorem mem_sInf {S : Set (NonUnitalSubsemiring R)} {x : R} : x ∈ sInf S ↔ ∀ p ∈ S, x ∈ p 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] {S : Set (NonUnitalSubsemiring R)} {x : R}
Goal: x ∈ sInf S ↔ ∀ p ∈ S, x ∈ p
-- NonUnitalSubsemiring.sInf_toSubsemigroup
@[simp]
theorem sInf_toSubsemigroup (s : Set (NonUnitalSubsemiring R)) :
    (sInf s).toSubsemigroup = ⨅ t ∈ s, NonUnitalSubsemiring.toSubsemigroup t 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] (s : Set (NonUnitalSubsemiring R))
Goal: (sInf s).toSubsemigroup = ⨅ t ∈ s, t.toSubsemigroup
-- NonUnitalSubsemiring.sInf_toAddSubmonoid
@[simp]
theorem sInf_toAddSubmonoid (s : Set (NonUnitalSubsemiring R)) :
    (sInf s).toAddSubmonoid = ⨅ t ∈ s, NonUnitalSubsemiring.toAddSubmonoid t 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] (s : Set (NonUnitalSubsemiring R))
Goal: (sInf s).toAddSubmonoid = ⨅ t ∈ s, t.toAddSubmonoid
-- NonUnitalSubsemiring.eq_top_iff'
theorem eq_top_iff' (A : NonUnitalSubsemiring R) : A = ⊤ ↔ ∀ x : R, x ∈ A 
Arguments: {R : Type u} [NonUnitalNonAssocSemiring R] (A : NonUnitalSubsemiring R)
Goal: A = ⊤ ↔ ∀ (x : R), x ∈ A
-- NonUnitalSubsemiring.coe_center
theorem coe_center : ↑(center R) = Set.center R 
Arguments: (R : Type u) [NonUnitalNonAssocSemiring R]
Goal: ↑(NonUnitalSubsemiring.center R) = Set.center R
-- NonUnitalSubsemiring.center_toSubsemigroup
@[simp]
theorem center_toSubsemigroup :
    (center R).toSubsemigroup = Subsemigroup.center R 
Arguments: (R : Type u) [NonUnitalNonAssocSemiring R]
Goal: (NonUnitalSubsemiring.center R).toSubsemigroup = Subsemigroup.center R