File: Mathlib/Algebra/Star/NonUnitalSubsemiring.lean

full_name: SubStarSemigroup
code: /-- A sub star semigroup is a subset of a magma which is closed under the `star`-/
structure SubStarSemigroup (M : Type v) [Mul M] [Star M] extends Subsemigroup M : Type v where
  /-- The `carrier` of a `StarSubset` is closed under the `star` operation. -/
  star_mem' : ∀ {a : M} (_ha : a ∈ carrier), star a ∈ carrier
goal: Type v

full_name: SubStarSemigroup.star_mem'
code: /-- A sub star semigroup is a subset of a magma which is closed under the `star`-/
structure SubStarSemigroup (M : Type v) [Mul M] [Star M] extends Subsemigroup M : Type v where
  /-- The `carrier` of a `StarSubset` is closed under the `star` operation. -/
  star_mem' : ∀ {a : M} (_ha : a ∈ carrier), star a ∈ carrier
goal: star a ∈ self.carrier

full_name: NonUnitalStarSubsemiring.star_mem'
code: /-- A non-unital star subsemiring is a non-unital subsemiring which also is closed under the
`star` operation. -/
structure NonUnitalStarSubsemiring (R : Type v) [NonUnitalNonAssocSemiring R] [Star R]
    extends NonUnitalSubsemiring R : Type v where
  /-- The `carrier` of a `NonUnitalStarSubsemiring` is closed under the `star` operation. -/
  star_mem' : ∀ {a : R} (_ha : a ∈ carrier), star a ∈ carrier
goal: star a ∈ self.carrier

full_name: NonUnitalStarSubsemiring
code: /-- A non-unital star subsemiring is a non-unital subsemiring which also is closed under the
`star` operation. -/
structure NonUnitalStarSubsemiring (R : Type v) [NonUnitalNonAssocSemiring R] [Star R]
    extends NonUnitalSubsemiring R : Type v where
  /-- The `carrier` of a `NonUnitalStarSubsemiring` is closed under the `star` operation. -/
  star_mem' : ∀ {a : R} (_ha : a ∈ carrier), star a ∈ carrier
goal: Type v

full_name: NonUnitalStarSubsemiring.instSetLike
code: instance instSetLike : SetLike (NonUnitalStarSubsemiring R) R 
goal: SetLike (NonUnitalStarSubsemiring R) R

full_name: NonUnitalStarSubsemiring.instNonUnitalSubsemiringClass
code: instance instNonUnitalSubsemiringClass : NonUnitalSubsemiringClass (NonUnitalStarSubsemiring R) R
    
goal: NonUnitalSubsemiringClass (NonUnitalStarSubsemiring R) R

full_name: NonUnitalStarSubsemiring.instStarMemClass
code: instance instStarMemClass : StarMemClass (NonUnitalStarSubsemiring R) R 
goal: StarMemClass (NonUnitalStarSubsemiring R) R

full_name: NonUnitalStarSubsemiring.mem_carrier
code: theorem mem_carrier {s : NonUnitalStarSubsemiring R} {x : R} : x ∈ s.carrier ↔ x ∈ s 
goal: x ∈ s.carrier ↔ x ∈ s

full_name: NonUnitalStarSubsemiring.copy
code: /-- Copy of a non-unital star subsemiring with a new `carrier` equal to the old one.
Useful to fix definitional equalities. -/
protected def copy (S : NonUnitalStarSubsemiring R) (s : Set R) (hs : s = ↑S) :
    NonUnitalStarSubsemiring R 
goal: NonUnitalStarSubsemiring R

full_name: NonUnitalStarSubsemiring.coe_copy
code: @[simp]
theorem coe_copy (S : NonUnitalStarSubsemiring R) (s : Set R) (hs : s = ↑S) :
    (S.copy s hs : Set R) = s 
goal: ↑(S.copy s hs) = s

full_name: NonUnitalStarSubsemiring.copy_eq
code: theorem copy_eq (S : NonUnitalStarSubsemiring R) (s : Set R) (hs : s = ↑S) : S.copy s hs = S 
goal: S.copy s hs = S

full_name: NonUnitalStarSubsemiring.center
code: /-- The center of a non-unital non-associative semiring `R` is the set of elements that
commute and associate with everything in `R`, here realized as non-unital star
subsemiring. -/
def center (R) [NonUnitalNonAssocSemiring R] [StarRing R] : NonUnitalStarSubsemiring R 
goal: NonUnitalStarSubsemiring R