Star subrings #
A *-subring is a subring of a *-ring which is closed under *.
A (unital) star subsemiring is a non-associative ring which is closed under the star
operation.
The
carrier
of aStarSubsemiring
is closed under thestar
operation.
Instances For
instance
StarSubsemiring.setLike
{R : Type v}
[NonAssocSemiring R]
[Star R]
:
SetLike (StarSubsemiring R) R
Equations
- StarSubsemiring.setLike = { coe := fun {s : StarSubsemiring R} => s.carrier, coe_injective' := ⋯ }
def
StarSubsemiring.ofClass
{S : Type u_1}
{R : Type u_2}
[NonAssocSemiring R]
[SetLike S R]
[StarRing R]
[SubsemiringClass S R]
[StarMemClass S R]
(s : S)
:
The actual StarSubsemiring
obtained from an element of a StarSubsemiringClass
.
Equations
- StarSubsemiring.ofClass s = { carrier := ↑s, mul_mem' := ⋯, one_mem' := ⋯, add_mem' := ⋯, zero_mem' := ⋯, star_mem' := ⋯ }
Instances For
@[simp]
theorem
StarSubsemiring.coe_ofClass
{S : Type u_1}
{R : Type u_2}
[NonAssocSemiring R]
[SetLike S R]
[StarRing R]
[SubsemiringClass S R]
[StarMemClass S R]
(s : S)
:
@[instance 100]
instance
StarSubsemiring.starMemClass
{R : Type v}
[NonAssocSemiring R]
[StarRing R]
:
StarMemClass (StarSubsemiring R) R
instance
StarSubsemiring.starRing
{R : Type v}
[NonAssocSemiring R]
[StarRing R]
(s : StarSubsemiring R)
:
StarRing ↥s
Equations
- s.starRing = { toStar := StarMemClass.instStar s, star_involutive := ⋯, star_mul := ⋯, star_add := ⋯ }
instance
StarSubsemiring.semiring
{R : Type v}
[NonAssocSemiring R]
[StarRing R]
(s : StarSubsemiring R)
:
Equations
theorem
StarSubsemiring.mem_carrier
{R : Type v}
[NonAssocSemiring R]
[StarRing R]
{s : StarSubsemiring R}
{x : R}
:
theorem
StarSubsemiring.ext
{R : Type v}
[NonAssocSemiring R]
[StarRing R]
{S T : StarSubsemiring R}
(h : ∀ (x : R), x ∈ S ↔ x ∈ T)
:
theorem
StarSubsemiring.ext_iff
{R : Type v}
[NonAssocSemiring R]
[StarRing R]
{S T : StarSubsemiring R}
:
@[simp]
theorem
StarSubsemiring.coe_mk
{R : Type v}
[NonAssocSemiring R]
[StarRing R]
(S : Subsemiring R)
(h : ∀ {a : R}, a ∈ S.carrier → star a ∈ S.carrier)
:
@[simp]
theorem
StarSubsemiring.mem_toSubsemiring
{R : Type v}
[NonAssocSemiring R]
[StarRing R]
{S : StarSubsemiring R}
{x : R}
:
@[simp]
theorem
StarSubsemiring.coe_toSubsemiring
{R : Type v}
[NonAssocSemiring R]
[StarRing R]
(S : StarSubsemiring R)
:
theorem
StarSubsemiring.toSubsemiring_inj
{R : Type v}
[NonAssocSemiring R]
[StarRing R]
{S U : StarSubsemiring R}
:
theorem
StarSubsemiring.toSubsemiring_le_iff
{R : Type v}
[NonAssocSemiring R]
[StarRing R]
{S₁ S₂ : StarSubsemiring R}
:
def
StarSubsemiring.copy
{R : Type v}
[NonAssocSemiring R]
[StarRing R]
(S : StarSubsemiring R)
(s : Set R)
(hs : s = ↑S)
:
Copy of a non-unital star subalgebra with a new carrier
equal to the old one. Useful to fix
definitional equalities.
Instances For
@[simp]
theorem
StarSubsemiring.coe_copy
{R : Type v}
[NonAssocSemiring R]
[StarRing R]
(S : StarSubsemiring R)
(s : Set R)
(hs : s = ↑S)
:
theorem
StarSubsemiring.copy_eq
{R : Type v}
[NonAssocSemiring R]
[StarRing R]
(S : StarSubsemiring R)
(s : Set R)
(hs : s = ↑S)
:
The center of a semiring R
is the set of elements that commute and associate with everything
in R
Equations
- StarSubsemiring.center R = { toSubsemiring := Subsemiring.center R, star_mem' := ⋯ }
Instances For
The center of magma A
is the set of elements that commute and associate
with everything in A
, here realized as a SubStarSemigroup
.
Equations
- SubStarSemigroup.center A = { toSubsemigroup := Subsemigroup.center A, star_mem' := ⋯ }