File: Mathlib/Algebra/Star/NonUnitalSubalgebra.lean

full_name: StarMemClass.instInvolutiveStar
code: /-- If a type carries an involutive star, then any star-closed subset does too. -/
instance instInvolutiveStar {S R : Type*} [InvolutiveStar R] [SetLike S R] [StarMemClass S R]
    (s : S) : InvolutiveStar s 
goal: InvolutiveStar ↥s

full_name: StarMemClass.instStarMul
code: /-- In a star magma (i.e., a multiplication with an antimultiplicative involutive star
operation), any star-closed subset which is also closed under multiplication is itself a star
magma. -/
instance instStarMul {S R : Type*} [Mul R] [StarMul R] [SetLike S R]
    [MulMemClass S R] [StarMemClass S R] (s : S) : StarMul s 
goal: StarMul ↥s

full_name: StarMemClass.instStarAddMonoid
code: /-- In a `StarAddMonoid` (i.e., an additive monoid with an additive involutive star operation), any
star-closed subset which is also closed under addition and contains zero is itself a
`StarAddMonoid`. -/
instance instStarAddMonoid {S R : Type*} [AddMonoid R] [StarAddMonoid R] [SetLike S R]
    [AddSubmonoidClass S R] [StarMemClass S R] (s : S) : StarAddMonoid s 
goal: StarAddMonoid ↥s

full_name: StarMemClass.instStarRing
code: /-- In a star ring (i.e., a non-unital, non-associative, semiring with an additive,
antimultiplicative, involutive star operation), a star-closed non-unital subsemiring is itself a
star ring. -/
instance instStarRing {S R : Type*} [NonUnitalNonAssocSemiring R] [StarRing R] [SetLike S R]
    [NonUnitalSubsemiringClass S R] [StarMemClass S R] (s : S) : StarRing s 
goal: StarRing ↥s

full_name: StarMemClass.instStarModule
code: /-- In a star `R`-module (i.e., `star (r • m) = (star r) • m`) any star-closed subset which is also
closed under the scalar action by `R` is itself a star `R`-module. -/
instance instStarModule {S : Type*} (R : Type*) {M : Type*} [Star R] [Star M] [SMul R M]
    [StarModule R M] [SetLike S M] [SMulMemClass S R M] [StarMemClass S M] (s : S) :
    StarModule R s 
goal: StarModule R ↥s

full_name: NonUnitalStarSubalgebraClass.subtype
code: /-- Embedding of a non-unital star subalgebra into the non-unital star algebra. -/
def subtype (s : S) : s →⋆ₙₐ[R] A 
goal: ↥s →⋆ₙₐ[R] A

full_name: NonUnitalStarSubalgebraClass.coeSubtype
code: @[simp]
theorem coeSubtype : (subtype s : s → A) = Subtype.val 
goal: ⇑(NonUnitalStarSubalgebraClass.subtype s) = Subtype.val

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

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

full_name: NonUnitalStarSubalgebra.instSetLike
code: instance instSetLike : SetLike (NonUnitalStarSubalgebra R A) A 
goal: SetLike (NonUnitalStarSubalgebra R A) A

full_name: NonUnitalStarSubalgebra.instNonUnitalSubsemiringClass
code: instance instNonUnitalSubsemiringClass :
    NonUnitalSubsemiringClass (NonUnitalStarSubalgebra R A) A 
goal: NonUnitalSubsemiringClass (NonUnitalStarSubalgebra R A) A

full_name: NonUnitalStarSubalgebra.instSMulMemClass
code: instance instSMulMemClass : SMulMemClass (NonUnitalStarSubalgebra R A) R A 
goal: SMulMemClass (NonUnitalStarSubalgebra R A) R A

full_name: NonUnitalStarSubalgebra.instStarMemClass
code: instance instStarMemClass : StarMemClass (NonUnitalStarSubalgebra R A) A 
goal: StarMemClass (NonUnitalStarSubalgebra R A) A

full_name: NonUnitalStarSubalgebra.instNonUnitalSubringClass
code: instance instNonUnitalSubringClass {R : Type u} {A : Type v} [CommRing R] [NonUnitalNonAssocRing A]
    [Module R A] [Star A] : NonUnitalSubringClass (NonUnitalStarSubalgebra R A) A 
goal: NonUnitalSubringClass (NonUnitalStarSubalgebra R A) A

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

full_name: NonUnitalStarSubalgebra.ext
code: @[ext]
theorem ext {S T : NonUnitalStarSubalgebra R A} (h : ∀ x : A, x ∈ S ↔ x ∈ T) : S = T 
goal: S = T

full_name: NonUnitalStarSubalgebra.mem_toNonUnitalSubalgebra
code: @[simp]
theorem mem_toNonUnitalSubalgebra {S : NonUnitalStarSubalgebra R A} {x} :
    x ∈ S.toNonUnitalSubalgebra ↔ x ∈ S 
goal: x ∈ S.toNonUnitalSubalgebra ↔ x ∈ S

full_name: NonUnitalStarSubalgebra.coe_toNonUnitalSubalgebra
code: @[simp]
theorem coe_toNonUnitalSubalgebra (S : NonUnitalStarSubalgebra R A) :
    (↑S.toNonUnitalSubalgebra : Set A) = S 
goal: ↑S.toNonUnitalSubalgebra = ↑S

full_name: NonUnitalStarSubalgebra.toNonUnitalSubalgebra_injective
code: theorem toNonUnitalSubalgebra_injective :
    Function.Injective
      (toNonUnitalSubalgebra : NonUnitalStarSubalgebra R A → NonUnitalSubalgebra R A) 
goal: Function.Injective NonUnitalStarSubalgebra.toNonUnitalSubalgebra

full_name: NonUnitalStarSubalgebra.toNonUnitalSubalgebra_inj
code: theorem toNonUnitalSubalgebra_inj {S U : NonUnitalStarSubalgebra R A} :
    S.toNonUnitalSubalgebra = U.toNonUnitalSubalgebra ↔ S = U 
goal: S.toNonUnitalSubalgebra = U.toNonUnitalSubalgebra ↔ S = U

full_name: NonUnitalStarSubalgebra.toNonUnitalSubalgebra_le_iff
code: theorem toNonUnitalSubalgebra_le_iff {S₁ S₂ : NonUnitalStarSubalgebra R A} :
    S₁.toNonUnitalSubalgebra ≤ S₂.toNonUnitalSubalgebra ↔ S₁ ≤ S₂ 
goal: S₁.toNonUnitalSubalgebra ≤ S₂.toNonUnitalSubalgebra ↔ S₁ ≤ S₂

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

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

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

full_name: NonUnitalStarSubalgebra.toNonUnitalSubring
code: /-- A non-unital star subalgebra over a ring is also a `Subring`. -/
def toNonUnitalSubring {R : Type u} {A : Type v} [CommRing R] [NonUnitalRing A] [Module R A]
    [Star A] (S : NonUnitalStarSubalgebra R A) : NonUnitalSubring A 
goal: NonUnitalSubring A

full_name: NonUnitalStarSubalgebra.mem_toNonUnitalSubring
code: @[simp]
theorem mem_toNonUnitalSubring {R : Type u} {A : Type v} [CommRing R] [NonUnitalRing A] [Module R A]
    [Star A] {S : NonUnitalStarSubalgebra R A} {x} : x ∈ S.toNonUnitalSubring ↔ x ∈ S 
goal: x ∈ S.toNonUnitalSubring ↔ x ∈ S

full_name: NonUnitalStarSubalgebra.coe_toNonUnitalSubring
code: @[simp]
theorem coe_toNonUnitalSubring {R : Type u} {A : Type v} [CommRing R] [NonUnitalRing A] [Module R A]
    [Star A] (S : NonUnitalStarSubalgebra R A) : (↑S.toNonUnitalSubring : Set A) = S 
goal: ↑S.toNonUnitalSubring = ↑S

full_name: NonUnitalStarSubalgebra.toNonUnitalSubring_injective
code: theorem toNonUnitalSubring_injective {R : Type u} {A : Type v} [CommRing R] [NonUnitalRing A]
    [Module R A] [Star A] :
    Function.Injective (toNonUnitalSubring : NonUnitalStarSubalgebra R A → NonUnitalSubring A) 
goal: Function.Injective NonUnitalStarSubalgebra.toNonUnitalSubring

full_name: NonUnitalStarSubalgebra.toNonUnitalSubring_inj
code: theorem toNonUnitalSubring_inj {R : Type u} {A : Type v} [CommRing R] [NonUnitalRing A] [Module R A]
    [Star A] {S U : NonUnitalStarSubalgebra R A} :
    S.toNonUnitalSubring = U.toNonUnitalSubring ↔ S = U 
goal: S.toNonUnitalSubring = U.toNonUnitalSubring ↔ S = U

full_name: NonUnitalStarSubalgebra.instInhabited
code: instance instInhabited : Inhabited S 
goal: Inhabited ↥S

full_name: NonUnitalStarSubalgebra.toNonUnitalSemiring
code: instance toNonUnitalSemiring {R A} [CommSemiring R] [NonUnitalSemiring A] [Module R A] [Star A]
    (S : NonUnitalStarSubalgebra R A) : NonUnitalSemiring S 
goal: NonUnitalSemiring ↥S

full_name: NonUnitalStarSubalgebra.toNonUnitalCommSemiring
code: instance toNonUnitalCommSemiring {R A} [CommSemiring R] [NonUnitalCommSemiring A] [Module R A]
    [Star A] (S : NonUnitalStarSubalgebra R A) : NonUnitalCommSemiring S 
goal: NonUnitalCommSemiring ↥S

full_name: NonUnitalStarSubalgebra.toNonUnitalRing
code: instance toNonUnitalRing {R A} [CommRing R] [NonUnitalRing A] [Module R A] [Star A]
    (S : NonUnitalStarSubalgebra R A) : NonUnitalRing S 
goal: NonUnitalRing ↥S

full_name: NonUnitalStarSubalgebra.toNonUnitalCommRing
code: instance toNonUnitalCommRing {R A} [CommRing R] [NonUnitalCommRing A] [Module R A] [Star A]
    (S : NonUnitalStarSubalgebra R A) : NonUnitalCommRing S 
goal: NonUnitalCommRing ↥S

full_name: NonUnitalStarSubalgebra.toNonUnitalSubalgebra'
code: /-- The forgetful map from `NonUnitalStarSubalgebra` to `NonUnitalSubalgebra` as an
`OrderEmbedding` -/
def toNonUnitalSubalgebra' : NonUnitalStarSubalgebra R A ↪o NonUnitalSubalgebra R A 
goal: NonUnitalStarSubalgebra R A ↪o NonUnitalSubalgebra R A

full_name: NonUnitalStarSubalgebra.module'
code: instance module' [Semiring R'] [SMul R' R] [Module R' A] [IsScalarTower R' R A] : Module R' S 
goal: Module R' ↥S

full_name: NonUnitalStarSubalgebra.instModule
code: instance instModule : Module R S 
goal: Module R ↥S

full_name: NonUnitalStarSubalgebra.instIsScalarTower'
code: instance instIsScalarTower' [Semiring R'] [SMul R' R] [Module R' A] [IsScalarTower R' R A] :
    IsScalarTower R' R S 
goal: IsScalarTower R' R ↥S

full_name: NonUnitalStarSubalgebra.instIsScalarTower
code: instance instIsScalarTower [IsScalarTower R A A] : IsScalarTower R S S 
goal: IsScalarTower R ↥S ↥S

full_name: NonUnitalStarSubalgebra.instSMulCommClass'
code: instance instSMulCommClass' [Semiring R'] [SMul R' R] [Module R' A] [IsScalarTower R' R A]
    [SMulCommClass R' R A] : SMulCommClass R' R S 
goal: SMulCommClass R' R ↥S

full_name: NonUnitalStarSubalgebra.instSMulCommClass
code: instance instSMulCommClass [SMulCommClass R A A] : SMulCommClass R S S 
goal: SMulCommClass R ↥S ↥S

full_name: NonUnitalStarSubalgebra.noZeroSMulDivisors_bot
code: instance noZeroSMulDivisors_bot [NoZeroSMulDivisors R A] : NoZeroSMulDivisors R S 
goal: NoZeroSMulDivisors R ↥S

full_name: NonUnitalStarSubalgebra.coe_add
code: protected theorem coe_add (x y : S) : (↑(x + y) : A) = ↑x + ↑y 
goal: ↑(x + y) = ↑x + ↑y

full_name: NonUnitalStarSubalgebra.coe_mul
code: protected theorem coe_mul (x y : S) : (↑(x * y) : A) = ↑x * ↑y 
goal: ↑(x * y) = ↑x * ↑y

full_name: NonUnitalStarSubalgebra.coe_zero
code: protected theorem coe_zero : ((0 : S) : A) = 0 
goal: ↑0 = 0

full_name: NonUnitalStarSubalgebra.coe_neg
code: protected theorem coe_neg {R : Type u} {A : Type v} [CommRing R] [NonUnitalRing A] [Module R A]
    [Star A] {S : NonUnitalStarSubalgebra R A} (x : S) : (↑(-x) : A) = -↑x 
goal: ↑(-x) = -↑x

full_name: NonUnitalStarSubalgebra.coe_sub
code: protected theorem coe_sub {R : Type u} {A : Type v} [CommRing R] [NonUnitalRing A] [Module R A]
    [Star A] {S : NonUnitalStarSubalgebra R A} (x y : S) : (↑(x - y) : A) = ↑x - ↑y 
goal: ↑(x - y) = ↑x - ↑y

full_name: NonUnitalStarSubalgebra.coe_smul
code: @[simp, norm_cast]
theorem coe_smul [Semiring R'] [SMul R' R] [Module R' A] [IsScalarTower R' R A] (r : R') (x : S) :
    ↑(r • x) = r • (x : A) 
goal: ↑(r • x) = r • ↑x

full_name: NonUnitalStarSubalgebra.coe_eq_zero
code: protected theorem coe_eq_zero {x : S} : (x : A) = 0 ↔ x = 0 
goal: ↑x = 0 ↔ x = 0

full_name: NonUnitalStarSubalgebra.toNonUnitalSubalgebra_subtype
code: @[simp]
theorem toNonUnitalSubalgebra_subtype :
    NonUnitalSubalgebraClass.subtype S = NonUnitalStarSubalgebraClass.subtype S 
goal: NonUnitalSubalgebraClass.subtype S = NonUnitalAlgHomClass.toNonUnitalAlgHom (NonUnitalStarSubalgebraClass.subtype S)

full_name: NonUnitalStarSubalgebra.toSubring_subtype
code: @[simp]
theorem toSubring_subtype {R A : Type*} [CommRing R] [NonUnitalRing A] [Module R A] [Star A]
    (S : NonUnitalStarSubalgebra R A) :
    NonUnitalSubringClass.subtype S = NonUnitalStarSubalgebraClass.subtype S 
goal: NonUnitalSubringClass.subtype S = ↑(NonUnitalStarSubalgebraClass.subtype S)

full_name: NonUnitalStarSubalgebra.map
code: /-- Transport a non-unital star subalgebra via a non-unital star algebra homomorphism. -/
def map (f : F) (S : NonUnitalStarSubalgebra R A) : NonUnitalStarSubalgebra R B 
goal: NonUnitalStarSubalgebra R B

full_name: NonUnitalStarSubalgebra.map_mono
code: theorem map_mono {S₁ S₂ : NonUnitalStarSubalgebra R A} {f : F} :
    S₁ ≤ S₂ → (map f S₁ : NonUnitalStarSubalgebra R B) ≤ map f S₂ 
goal: S₁ ≤ S₂ → NonUnitalStarSubalgebra.map f S₁ ≤ NonUnitalStarSubalgebra.map f S₂

full_name: NonUnitalStarSubalgebra.map_injective
code: theorem map_injective {f : F} (hf : Function.Injective f) :
    Function.Injective (map f : NonUnitalStarSubalgebra R A → NonUnitalStarSubalgebra R B) 
goal: Function.Injective (NonUnitalStarSubalgebra.map f)

full_name: NonUnitalStarSubalgebra.map_id
code: @[simp]
theorem map_id (S : NonUnitalStarSubalgebra R A) : map (NonUnitalStarAlgHom.id R A) S = S 
goal: NonUnitalStarSubalgebra.map (NonUnitalStarAlgHom.id R A) S = S

full_name: NonUnitalStarSubalgebra.map_map
code: theorem map_map (S : NonUnitalStarSubalgebra R A) (g : B →⋆ₙₐ[R] C) (f : A →⋆ₙₐ[R] B) :
    (S.map f).map g = S.map (g.comp f) 
goal: NonUnitalStarSubalgebra.map g (NonUnitalStarSubalgebra.map f S) = NonUnitalStarSubalgebra.map (g.comp f) S

full_name: NonUnitalStarSubalgebra.mem_map
code: @[simp]
theorem mem_map {S : NonUnitalStarSubalgebra R A} {f : F} {y : B} :
    y ∈ map f S ↔ ∃ x ∈ S, f x = y 
goal: y ∈ NonUnitalStarSubalgebra.map f S ↔ ∃ x ∈ S, f x = y

full_name: NonUnitalStarSubalgebra.map_toNonUnitalSubalgebra
code: theorem map_toNonUnitalSubalgebra {S : NonUnitalStarSubalgebra R A} {f : F} :
    (map f S : NonUnitalStarSubalgebra R B).toNonUnitalSubalgebra =
      NonUnitalSubalgebra.map f S.toNonUnitalSubalgebra 
goal: (NonUnitalStarSubalgebra.map f S).toNonUnitalSubalgebra = NonUnitalSubalgebra.map f S.toNonUnitalSubalgebra

full_name: NonUnitalStarSubalgebra.coe_map
code: @[simp]
theorem coe_map (S : NonUnitalStarSubalgebra R A) (f : F) : map f S = f '' S 
goal: ↑(NonUnitalStarSubalgebra.map f S) = ⇑f '' ↑S

full_name: NonUnitalStarSubalgebra.comap
code: /-- Preimage of a non-unital star subalgebra under a non-unital star algebra homomorphism. -/
def comap (f : F) (S : NonUnitalStarSubalgebra R B) : NonUnitalStarSubalgebra R A 
goal: NonUnitalStarSubalgebra R A

full_name: NonUnitalStarSubalgebra.map_le
code: theorem map_le {S : NonUnitalStarSubalgebra R A} {f : F} {U : NonUnitalStarSubalgebra R B} :
    map f S ≤ U ↔ S ≤ comap f U 
goal: NonUnitalStarSubalgebra.map f S ≤ U ↔ S ≤ NonUnitalStarSubalgebra.comap f U

full_name: NonUnitalStarSubalgebra.gc_map_comap
code: theorem gc_map_comap (f : F) : GaloisConnection (map f) (comap f) 
goal: GaloisConnection (NonUnitalStarSubalgebra.map f) (NonUnitalStarSubalgebra.comap f)

full_name: NonUnitalStarSubalgebra.mem_comap
code: @[simp]
theorem mem_comap (S : NonUnitalStarSubalgebra R B) (f : F) (x : A) : x ∈ comap f S ↔ f x ∈ S 
goal: x ∈ NonUnitalStarSubalgebra.comap f S ↔ f x ∈ S

full_name: NonUnitalStarSubalgebra.coe_comap
code: @[simp, norm_cast]
theorem coe_comap (S : NonUnitalStarSubalgebra R B) (f : F) : comap f S = f ⁻¹' (S : Set B) 
goal: ↑(NonUnitalStarSubalgebra.comap f S) = ⇑f ⁻¹' ↑S

full_name: NonUnitalStarSubalgebra.instNoZeroDivisors
code: instance instNoZeroDivisors {R A : Type*} [CommSemiring R] [NonUnitalSemiring A] [NoZeroDivisors A]
    [Module R A] [Star A] (S : NonUnitalStarSubalgebra R A) : NoZeroDivisors S 
goal: NoZeroDivisors ↥S

full_name: NonUnitalSubalgebra.toNonUnitalStarSubalgebra
code: /-- A non-unital subalgebra closed under `star` is a non-unital star subalgebra. -/
def toNonUnitalStarSubalgebra (h_star : ∀ x, x ∈ s → star x ∈ s) : NonUnitalStarSubalgebra R A 
goal: NonUnitalStarSubalgebra R A

full_name: NonUnitalSubalgebra.mem_toNonUnitalStarSubalgebra
code: @[simp]
theorem mem_toNonUnitalStarSubalgebra {s : NonUnitalSubalgebra R A} {h_star} {x} :
    x ∈ s.toNonUnitalStarSubalgebra h_star ↔ x ∈ s 
goal: x ∈ s.toNonUnitalStarSubalgebra h_star ↔ x ∈ s

full_name: NonUnitalSubalgebra.coe_toNonUnitalStarSubalgebra
code: @[simp]
theorem coe_toNonUnitalStarSubalgebra (s : NonUnitalSubalgebra R A) (h_star) :
    (s.toNonUnitalStarSubalgebra h_star : Set A) = s 
goal: ↑(s.toNonUnitalStarSubalgebra h_star) = ↑s

full_name: NonUnitalSubalgebra.toNonUnitalStarSubalgebra_toNonUnitalSubalgebra
code: @[simp]
theorem toNonUnitalStarSubalgebra_toNonUnitalSubalgebra (s : NonUnitalSubalgebra R A) (h_star) :
    (s.toNonUnitalStarSubalgebra h_star).toNonUnitalSubalgebra = s 
goal: (s.toNonUnitalStarSubalgebra h_star).toNonUnitalSubalgebra = s

full_name: NonUnitalStarSubalgebra.toNonUnitalSubalgebra_toNonUnitalStarSubalgebra
code: @[simp]
theorem _root_.NonUnitalStarSubalgebra.toNonUnitalSubalgebra_toNonUnitalStarSubalgebra
    (S : NonUnitalStarSubalgebra R A) :
    (S.toNonUnitalSubalgebra.toNonUnitalStarSubalgebra fun _ => star_mem (s := S)) = S 
goal: S.toNonUnitalStarSubalgebra ⋯ = S

full_name: NonUnitalStarAlgHom.range
code: /-- Range of an `NonUnitalAlgHom` as a `NonUnitalStarSubalgebra`. -/
protected def range (φ : F) : NonUnitalStarSubalgebra R B 
goal: NonUnitalStarSubalgebra R B

full_name: NonUnitalStarAlgHom.mem_range
code: @[simp]
theorem mem_range (φ : F) {y : B} :
    y ∈ (NonUnitalStarAlgHom.range φ : NonUnitalStarSubalgebra R B) ↔ ∃ x : A, φ x = y 
goal: y ∈ NonUnitalStarAlgHom.range φ ↔ ∃ x, φ x = y

full_name: NonUnitalStarAlgHom.mem_range_self
code: theorem mem_range_self (φ : F) (x : A) :
    φ x ∈ (NonUnitalStarAlgHom.range φ : NonUnitalStarSubalgebra R B) 
goal: φ x ∈ NonUnitalStarAlgHom.range φ

full_name: NonUnitalStarAlgHom.coe_range
code: @[simp]
theorem coe_range (φ : F) :
    ((NonUnitalStarAlgHom.range φ : NonUnitalStarSubalgebra R B) : Set B) = Set.range (φ : A → B) 
goal: ↑(NonUnitalStarAlgHom.range φ) = Set.range ⇑φ

full_name: NonUnitalStarAlgHom.range_comp
code: theorem range_comp (f : A →⋆ₙₐ[R] B) (g : B →⋆ₙₐ[R] C) :
    NonUnitalStarAlgHom.range (g.comp f) = (NonUnitalStarAlgHom.range f).map g 
goal: NonUnitalStarAlgHom.range (g.comp f) = NonUnitalStarSubalgebra.map g (NonUnitalStarAlgHom.range f)

full_name: NonUnitalStarAlgHom.range_comp_le_range
code: theorem range_comp_le_range (f : A →⋆ₙₐ[R] B) (g : B →⋆ₙₐ[R] C) :
    NonUnitalStarAlgHom.range (g.comp f) ≤ NonUnitalStarAlgHom.range g 
goal: NonUnitalStarAlgHom.range (g.comp f) ≤ NonUnitalStarAlgHom.range g

full_name: NonUnitalStarAlgHom.codRestrict
code: /-- Restrict the codomain of a non-unital star algebra homomorphism. -/
def codRestrict (f : F) (S : NonUnitalStarSubalgebra R B) (hf : ∀ x, f x ∈ S) : A →⋆ₙₐ[R] S 
goal: A →⋆ₙₐ[R] ↥S

full_name: NonUnitalStarAlgHom.subtype_comp_codRestrict
code: @[simp]
theorem subtype_comp_codRestrict (f : F) (S : NonUnitalStarSubalgebra R B) (hf : ∀ x : A, f x ∈ S) :
    (NonUnitalStarSubalgebraClass.subtype S).comp (NonUnitalStarAlgHom.codRestrict f S hf) = f 
goal: (NonUnitalStarSubalgebraClass.subtype S).comp (NonUnitalStarAlgHom.codRestrict f S hf) = ↑f

full_name: NonUnitalStarAlgHom.coe_codRestrict
code: @[simp]
theorem coe_codRestrict (f : F) (S : NonUnitalStarSubalgebra R B) (hf : ∀ x, f x ∈ S) (x : A) :
    ↑(NonUnitalStarAlgHom.codRestrict f S hf x) = f x 
goal: ↑((NonUnitalStarAlgHom.codRestrict f S hf) x) = f x

full_name: NonUnitalStarAlgHom.injective_codRestrict
code: theorem injective_codRestrict (f : F) (S : NonUnitalStarSubalgebra R B) (hf : ∀ x : A, f x ∈ S) :
    Function.Injective (NonUnitalStarAlgHom.codRestrict f S hf) ↔ Function.Injective f 
goal: Function.Injective ⇑(NonUnitalStarAlgHom.codRestrict f S hf) ↔ Function.Injective ⇑f

full_name: NonUnitalStarAlgHom.rangeRestrict
code: /-- Restrict the codomain of a non-unital star algebra homomorphism `f` to `f.range`.

This is the bundled version of `Set.rangeFactorization`. -/
abbrev rangeRestrict (f : F) :
    A →⋆ₙₐ[R] (NonUnitalStarAlgHom.range f : NonUnitalStarSubalgebra R B) 
goal: A →⋆ₙₐ[R] ↥(NonUnitalStarAlgHom.range f)

full_name: NonUnitalStarAlgHom.equalizer
code: /-- The equalizer of two non-unital star `R`-algebra homomorphisms -/
def equalizer (ϕ ψ : F) : NonUnitalStarSubalgebra R A 
goal: NonUnitalStarSubalgebra R A

full_name: NonUnitalStarAlgHom.mem_equalizer
code: @[simp]
theorem mem_equalizer (φ ψ : F) (x : A) :
    x ∈ NonUnitalStarAlgHom.equalizer φ ψ ↔ φ x = ψ x 
goal: x ∈ NonUnitalStarAlgHom.equalizer φ ψ ↔ φ x = ψ x

full_name: StarAlgEquiv.ofLeftInverse'
code: /-- Restrict a non-unital star algebra homomorphism with a left inverse to an algebra isomorphism
to its range.

This is a computable alternative to `StarAlgEquiv.ofInjective`. -/
def ofLeftInverse' {g : B → A} {f : F} (h : Function.LeftInverse g f) :
    A ≃⋆ₐ[R] NonUnitalStarAlgHom.range f 
goal: A ≃⋆ₐ[R] ↥(NonUnitalStarAlgHom.range f)

full_name: StarAlgEquiv.ofLeftInverse'_apply
code: @[simp]
theorem ofLeftInverse'_apply {g : B → A} {f : F} (h : Function.LeftInverse g f) (x : A) :
    ofLeftInverse' h x = f x 
goal: ↑((StarAlgEquiv.ofLeftInverse' h) x) = f x

full_name: StarAlgEquiv.ofLeftInverse'_symm_apply
code: @[simp]
theorem ofLeftInverse'_symm_apply {g : B → A} {f : F} (h : Function.LeftInverse g f)
    (x : NonUnitalStarAlgHom.range f) : (ofLeftInverse' h).symm x = g x 
goal: (StarAlgEquiv.ofLeftInverse' h).symm x = g ↑x

full_name: StarAlgEquiv.ofInjective'
code: /-- Restrict an injective non-unital star algebra homomorphism to a star algebra isomorphism -/
noncomputable def ofInjective' (f : F) (hf : Function.Injective f) :
    A ≃⋆ₐ[R] NonUnitalStarAlgHom.range f 
goal: A ≃⋆ₐ[R] ↥(NonUnitalStarAlgHom.range f)

full_name: StarAlgEquiv.ofInjective'_apply
code: @[simp]
theorem ofInjective'_apply (f : F) (hf : Function.Injective f) (x : A) :
    ofInjective' f hf x = f x 
goal: ↑((StarAlgEquiv.ofInjective' f hf) x) = f x

full_name: NonUnitalSubalgebra.instInvolutiveStar
code: /-- The pointwise `star` of a non-unital subalgebra is a non-unital subalgebra. -/
instance instInvolutiveStar : InvolutiveStar (NonUnitalSubalgebra R A) 
goal: InvolutiveStar (NonUnitalSubalgebra R A)

full_name: NonUnitalSubalgebra.mem_star_iff
code: @[simp]
theorem mem_star_iff (S : NonUnitalSubalgebra R A) (x : A) : x ∈ star S ↔ star x ∈ S 
goal: x ∈ star S ↔ star x ∈ S

full_name: NonUnitalSubalgebra.star_mem_star_iff
code: theorem star_mem_star_iff (S : NonUnitalSubalgebra R A) (x : A) : star x ∈ star S ↔ x ∈ S 
goal: star x ∈ star S ↔ x ∈ S

full_name: NonUnitalSubalgebra.coe_star
code: @[simp]
theorem coe_star (S : NonUnitalSubalgebra R A) : star S = star (S : Set A) 
goal: ↑(star S) = star ↑S

full_name: NonUnitalSubalgebra.star_mono
code: theorem star_mono : Monotone (star : NonUnitalSubalgebra R A → NonUnitalSubalgebra R A) 
goal: Monotone star

full_name: NonUnitalSubalgebra.star_adjoin_comm
code: /-- The star operation on `NonUnitalSubalgebra` commutes with `NonUnitalAlgebra.adjoin`. -/
theorem star_adjoin_comm (s : Set A) :
    star (NonUnitalAlgebra.adjoin R s) = NonUnitalAlgebra.adjoin R (star s) 
goal: star (NonUnitalAlgebra.adjoin R s) = NonUnitalAlgebra.adjoin R (star s)

full_name: NonUnitalSubalgebra.starClosure
code: /-- The `NonUnitalStarSubalgebra` obtained from `S : NonUnitalSubalgebra R A` by taking the
smallest non-unital subalgebra containing both `S` and `star S`. -/
@[simps!]
def starClosure (S : NonUnitalSubalgebra R A) : NonUnitalStarSubalgebra R A 
goal: NonUnitalStarSubalgebra R A

full_name: NonUnitalSubalgebra.starClosure_carrier
code: /-- The `NonUnitalStarSubalgebra` obtained from `S : NonUnitalSubalgebra R A` by taking the
smallest non-unital subalgebra containing both `S` and `star S`. -/
@[simps!]
def starClosure (S : NonUnitalSubalgebra R A) : NonUnitalStarSubalgebra R A 
goal: ↑S.starClosure = ⋂ s, ⋂ (_ : ↑(NonUnitalSubsemiring.closure (↑S ∪ star ↑S)) ⊆ ↑s), ↑s

full_name: NonUnitalSubalgebra.starClosure_le
code: theorem starClosure_le {S₁ : NonUnitalSubalgebra R A} {S₂ : NonUnitalStarSubalgebra R A}
    (h : S₁ ≤ S₂.toNonUnitalSubalgebra) : S₁.starClosure ≤ S₂ 
goal: S₁.starClosure ≤ S₂

full_name: NonUnitalSubalgebra.starClosure_le_iff
code: theorem starClosure_le_iff {S₁ : NonUnitalSubalgebra R A} {S₂ : NonUnitalStarSubalgebra R A} :
    S₁.starClosure ≤ S₂ ↔ S₁ ≤ S₂.toNonUnitalSubalgebra 
goal: S₁.starClosure ≤ S₂ ↔ S₁ ≤ S₂.toNonUnitalSubalgebra

full_name: NonUnitalSubalgebra.starClosure_toNonunitalSubalgebra
code: @[simp]
theorem starClosure_toNonunitalSubalgebra {S : NonUnitalSubalgebra R A} :
    S.starClosure.toNonUnitalSubalgebra = S ⊔ star S 
goal: S.starClosure.toNonUnitalSubalgebra = S ⊔ star S

full_name: NonUnitalSubalgebra.starClosure_mono
code: @[mono]
theorem starClosure_mono : Monotone (starClosure (R := R) (A := A)) 
goal: Monotone NonUnitalSubalgebra.starClosure

full_name: NonUnitalStarAlgebra.adjoin
code: /-- The minimal non-unital subalgebra that includes `s`. -/
def adjoin (s : Set A) : NonUnitalStarSubalgebra R A 
goal: NonUnitalStarSubalgebra R A

full_name: NonUnitalStarAlgebra.adjoin_eq_starClosure_adjoin
code: theorem adjoin_eq_starClosure_adjoin (s : Set A) :
    adjoin R s = (NonUnitalAlgebra.adjoin R s).starClosure 
goal: NonUnitalStarAlgebra.adjoin R s = (NonUnitalAlgebra.adjoin R s).starClosure

full_name: NonUnitalStarAlgebra.adjoin_toNonUnitalSubalgebra
code: theorem adjoin_toNonUnitalSubalgebra (s : Set A) :
    (adjoin R s).toNonUnitalSubalgebra = NonUnitalAlgebra.adjoin R (s ∪ star s) 
goal: (NonUnitalStarAlgebra.adjoin R s).toNonUnitalSubalgebra = NonUnitalAlgebra.adjoin R (s ∪ star s)

full_name: NonUnitalStarAlgebra.subset_adjoin
code: @[aesop safe 20 apply (rule_sets := [SetLike])]
theorem subset_adjoin (s : Set A) : s ⊆ adjoin R s 
goal: s ⊆ ↑(NonUnitalStarAlgebra.adjoin R s)

full_name: NonUnitalStarAlgebra.star_subset_adjoin
code: theorem star_subset_adjoin (s : Set A) : star s ⊆ adjoin R s 
goal: star s ⊆ ↑(NonUnitalStarAlgebra.adjoin R s)

full_name: NonUnitalStarAlgebra.self_mem_adjoin_singleton
code: theorem self_mem_adjoin_singleton (x : A) : x ∈ adjoin R ({x} : Set A) 
goal: x ∈ NonUnitalStarAlgebra.adjoin R {x}

full_name: NonUnitalStarAlgebra.star_self_mem_adjoin_singleton
code: theorem star_self_mem_adjoin_singleton (x : A) : star x ∈ adjoin R ({x} : Set A) 
goal: star x ∈ NonUnitalStarAlgebra.adjoin R {x}

full_name: NonUnitalStarAlgebra.adjoin_induction'
code: @[elab_as_elim]
lemma adjoin_induction' {s : Set A} {p : ∀ x, x ∈ adjoin R s → Prop} {a : A}
    (ha : a ∈ adjoin R s) (mem : ∀ (x : A) (hx : x ∈ s), p x (subset_adjoin R s hx))
    (add : ∀ x hx y hy, p x hx → p y hy → p (x + y) (add_mem hx hy))
    (zero : p 0 (zero_mem _)) (mul : ∀ x hx y hy, p x hx → p y hy → p (x * y) (mul_mem hx hy))
    (smul : ∀ (r : R) x hx, p x hx → p (r • x) (SMulMemClass.smul_mem r hx))
    (star : ∀ x hx, p x hx → p (star x) (star_mem hx)) : p a ha 
goal: p a ha

full_name: NonUnitalStarAlgebra.gc
code: protected theorem gc : GaloisConnection (adjoin R : Set A → NonUnitalStarSubalgebra R A) (↑) 
goal: GaloisConnection (NonUnitalStarAlgebra.adjoin R) SetLike.coe

full_name: NonUnitalStarAlgebra.gi
code: /-- Galois insertion between `adjoin` and `Subtype.val`. -/
protected def gi : GaloisInsertion (adjoin R : Set A → NonUnitalStarSubalgebra R A) (↑) 
goal: GaloisInsertion (NonUnitalStarAlgebra.adjoin R) SetLike.coe

full_name: NonUnitalStarAlgebra.adjoin_le
code: theorem adjoin_le {S : NonUnitalStarSubalgebra R A} {s : Set A} (hs : s ⊆ S) : adjoin R s ≤ S 
goal: NonUnitalStarAlgebra.adjoin R s ≤ S

full_name: NonUnitalStarAlgebra.adjoin_le_iff
code: theorem adjoin_le_iff {S : NonUnitalStarSubalgebra R A} {s : Set A} : adjoin R s ≤ S ↔ s ⊆ S 
goal: NonUnitalStarAlgebra.adjoin R s ≤ S ↔ s ⊆ ↑S

full_name: NonUnitalStarAlgebra.adjoin_eq
code: lemma adjoin_eq (s : NonUnitalStarSubalgebra R A) : adjoin R (s : Set A) = s 
goal: NonUnitalStarAlgebra.adjoin R ↑s = s

full_name: NonUnitalStarAlgebra.adjoin_eq_span
code: lemma adjoin_eq_span (s : Set A) :
    (adjoin R s).toSubmodule = Submodule.span R (Subsemigroup.closure (s ∪ star s)) 
goal: (NonUnitalStarAlgebra.adjoin R s).toSubmodule = Submodule.span R ↑(Subsemigroup.closure (s ∪ star s))

full_name: NonUnitalStarAlgebra.span_eq_toSubmodule
code: @[simp]
lemma span_eq_toSubmodule (s : NonUnitalStarSubalgebra R A) :
    Submodule.span R (s : Set A) = s.toSubmodule 
goal: Submodule.span R ↑s = s.toSubmodule

full_name: NonUnitalSubalgebra.starClosure_eq_adjoin
code: theorem _root_.NonUnitalSubalgebra.starClosure_eq_adjoin (S : NonUnitalSubalgebra R A) :
    S.starClosure = adjoin R (S : Set A) 
goal: S.starClosure = NonUnitalStarAlgebra.adjoin R ↑S

full_name: NonUnitalStarAlgebra.instCompleteLatticeNonUnitalStarSubalgebra
code: instance : CompleteLattice (NonUnitalStarSubalgebra R A) 
goal: CompleteLattice (NonUnitalStarSubalgebra R A)

full_name: NonUnitalStarAlgebra.coe_top
code: @[simp]
theorem coe_top : ((⊤ : NonUnitalStarSubalgebra R A) : Set A) = Set.univ 
goal: ↑⊤ = Set.univ

full_name: NonUnitalStarAlgebra.mem_top
code: @[simp]
theorem mem_top {x : A} : x ∈ (⊤ : NonUnitalStarSubalgebra R A) 
goal: x ∈ ⊤

full_name: NonUnitalStarAlgebra.top_toNonUnitalSubalgebra
code: @[simp]
theorem top_toNonUnitalSubalgebra :
    (⊤ : NonUnitalStarSubalgebra R A).toNonUnitalSubalgebra = ⊤ 
goal: ⊤.toNonUnitalSubalgebra = ⊤

full_name: NonUnitalStarAlgebra.toNonUnitalSubalgebra_eq_top
code: @[simp]
theorem toNonUnitalSubalgebra_eq_top {S : NonUnitalStarSubalgebra R A} :
    S.toNonUnitalSubalgebra = ⊤ ↔ S = ⊤ 
goal: S.toNonUnitalSubalgebra = ⊤ ↔ S = ⊤

full_name: NonUnitalStarAlgebra.mem_sup_left
code: theorem mem_sup_left {S T : NonUnitalStarSubalgebra R A} : ∀ {x : A}, x ∈ S → x ∈ S ⊔ T 
goal: x ∈ S → x ∈ S ⊔ T

full_name: NonUnitalStarAlgebra.mem_sup_right
code: theorem mem_sup_right {S T : NonUnitalStarSubalgebra R A} : ∀ {x : A}, x ∈ T → x ∈ S ⊔ T 
goal: x ∈ T → x ∈ S ⊔ T

full_name: NonUnitalStarAlgebra.mul_mem_sup
code: theorem mul_mem_sup {S T : NonUnitalStarSubalgebra R A} {x y : A} (hx : x ∈ S) (hy : y ∈ T) :
    x * y ∈ S ⊔ T 
goal: x * y ∈ S ⊔ T

full_name: NonUnitalStarAlgebra.map_sup
code: theorem map_sup (f : F) (S T : NonUnitalStarSubalgebra R A) :
    ((S ⊔ T).map f : NonUnitalStarSubalgebra R B) = S.map f ⊔ T.map f 
goal: NonUnitalStarSubalgebra.map f (S ⊔ T) = NonUnitalStarSubalgebra.map f S ⊔ NonUnitalStarSubalgebra.map f T

full_name: NonUnitalStarAlgebra.coe_inf
code: @[simp, norm_cast]
theorem coe_inf (S T : NonUnitalStarSubalgebra R A) : (↑(S ⊓ T) : Set A) = (S : Set A) ∩ T 
goal: ↑(S ⊓ T) = ↑S ∩ ↑T

full_name: NonUnitalStarAlgebra.mem_inf
code: @[simp]
theorem mem_inf {S T : NonUnitalStarSubalgebra R A} {x : A} : x ∈ S ⊓ T ↔ x ∈ S ∧ x ∈ T 
goal: x ∈ S ⊓ T ↔ x ∈ S ∧ x ∈ T

full_name: NonUnitalStarAlgebra.inf_toNonUnitalSubalgebra
code: @[simp]
theorem inf_toNonUnitalSubalgebra (S T : NonUnitalStarSubalgebra R A) :
    (S ⊓ T).toNonUnitalSubalgebra = S.toNonUnitalSubalgebra ⊓ T.toNonUnitalSubalgebra 
goal: (S ⊓ T).toNonUnitalSubalgebra = S.toNonUnitalSubalgebra ⊓ T.toNonUnitalSubalgebra

full_name: NonUnitalStarAlgebra.coe_sInf
code: @[simp, norm_cast]
theorem coe_sInf (S : Set (NonUnitalStarSubalgebra R A)) : (↑(sInf S) : Set A) = ⋂ s ∈ S, ↑s 
goal: ↑(sInf S) = ⋂ s ∈ S, ↑s

full_name: NonUnitalStarAlgebra.mem_sInf
code: theorem mem_sInf {S : Set (NonUnitalStarSubalgebra R A)} {x : A} : x ∈ sInf S ↔ ∀ p ∈ S, x ∈ p 
goal: x ∈ sInf S ↔ ∀ p ∈ S, x ∈ p

full_name: NonUnitalStarAlgebra.sInf_toNonUnitalSubalgebra
code: @[simp]
theorem sInf_toNonUnitalSubalgebra (S : Set (NonUnitalStarSubalgebra R A)) :
    (sInf S).toNonUnitalSubalgebra = sInf (NonUnitalStarSubalgebra.toNonUnitalSubalgebra '' S) 
goal: (sInf S).toNonUnitalSubalgebra = sInf (NonUnitalStarSubalgebra.toNonUnitalSubalgebra '' S)

full_name: NonUnitalStarAlgebra.coe_iInf
code: @[simp, norm_cast]
theorem coe_iInf {ι : Sort*} {S : ι → NonUnitalStarSubalgebra R A} :
    (↑(⨅ i, S i) : Set A) = ⋂ i, S i 
goal: ↑(⨅ i, S i) = ⋂ i, ↑(S i)

full_name: NonUnitalStarAlgebra.mem_iInf
code: theorem mem_iInf {ι : Sort*} {S : ι → NonUnitalStarSubalgebra R A} {x : A} :
    (x ∈ ⨅ i, S i) ↔ ∀ i, x ∈ S i 
goal: x ∈ ⨅ i, S i ↔ ∀ (i : ι), x ∈ S i

full_name: NonUnitalStarAlgebra.iInf_toNonUnitalSubalgebra
code: @[simp]
theorem iInf_toNonUnitalSubalgebra {ι : Sort*} (S : ι → NonUnitalStarSubalgebra R A) :
    (⨅ i, S i).toNonUnitalSubalgebra = ⨅ i, (S i).toNonUnitalSubalgebra 
goal: (⨅ i, S i).toNonUnitalSubalgebra = ⨅ i, (S i).toNonUnitalSubalgebra

full_name: NonUnitalStarAlgebra.instInhabitedNonUnitalStarSubalgebra
code: instance : Inhabited (NonUnitalStarSubalgebra R A) 
goal: Inhabited (NonUnitalStarSubalgebra R A)

full_name: NonUnitalStarAlgebra.mem_bot
code: theorem mem_bot {x : A} : x ∈ (⊥ : NonUnitalStarSubalgebra R A) ↔ x = 0 
goal: x ∈ ⊥ ↔ x = 0

full_name: NonUnitalStarAlgebra.toNonUnitalSubalgebra_bot
code: theorem toNonUnitalSubalgebra_bot :
    (⊥ : NonUnitalStarSubalgebra R A).toNonUnitalSubalgebra = ⊥ 
goal: ⊥.toNonUnitalSubalgebra = ⊥

full_name: NonUnitalStarAlgebra.coe_bot
code: @[simp]
theorem coe_bot : ((⊥ : NonUnitalStarSubalgebra R A) : Set A) = {0} 
goal: ↑⊥ = {0}

full_name: NonUnitalStarAlgebra.eq_top_iff
code: theorem eq_top_iff {S : NonUnitalStarSubalgebra R A} : S = ⊤ ↔ ∀ x : A, x ∈ S 
goal: S = ⊤ ↔ ∀ (x : A), x ∈ S

full_name: NonUnitalStarAlgebra.range_top_iff_surjective
code: theorem range_top_iff_surjective (f : F) :
    NonUnitalStarAlgHom.range f = (⊤ : NonUnitalStarSubalgebra R B) ↔ Function.Surjective f 
goal: NonUnitalStarAlgHom.range f = ⊤ ↔ Function.Surjective ⇑f

full_name: NonUnitalStarAlgebra.range_id
code: @[simp]
theorem range_id : NonUnitalStarAlgHom.range (NonUnitalStarAlgHom.id R A) = ⊤ 
goal: NonUnitalStarAlgHom.range (NonUnitalStarAlgHom.id R A) = ⊤

full_name: NonUnitalStarAlgebra.map_top
code: @[simp]
theorem map_top (f : F) : (⊤ : NonUnitalStarSubalgebra R A).map f = NonUnitalStarAlgHom.range f 
goal: NonUnitalStarSubalgebra.map f ⊤ = NonUnitalStarAlgHom.range f

full_name: NonUnitalStarAlgebra.map_bot
code: @[simp]
theorem map_bot (f : F) : (⊥ : NonUnitalStarSubalgebra R A).map f = ⊥ 
goal: NonUnitalStarSubalgebra.map f ⊥ = ⊥

full_name: NonUnitalStarAlgebra.comap_top
code: @[simp]
theorem comap_top (f : F) : (⊤ : NonUnitalStarSubalgebra R B).comap f = ⊤ 
goal: NonUnitalStarSubalgebra.comap f ⊤ = ⊤

full_name: NonUnitalStarAlgebra.toTop
code: /-- `NonUnitalStarAlgHom` to `⊤ : NonUnitalStarSubalgebra R A`. -/
def toTop : A →⋆ₙₐ[R] (⊤ : NonUnitalStarSubalgebra R A) 
goal: A →⋆ₙₐ[R] ↥⊤

full_name: NonUnitalStarAlgHom.map_adjoin
code: lemma _root_.NonUnitalStarAlgHom.map_adjoin (f : F) (s : Set A) :
    map f (adjoin R s) = adjoin R (f '' s) 
goal: NonUnitalStarSubalgebra.map f (NonUnitalStarAlgebra.adjoin R s) = NonUnitalStarAlgebra.adjoin R (⇑f '' s)

full_name: NonUnitalStarAlgHom.map_adjoin_singleton
code: @[simp]
lemma _root_.NonUnitalStarAlgHom.map_adjoin_singleton (f : F) (x : A) :
    map f (adjoin R {x}) = adjoin R {f x} 
goal: NonUnitalStarSubalgebra.map f (NonUnitalStarAlgebra.adjoin R {x}) = NonUnitalStarAlgebra.adjoin R {f x}

full_name: NonUnitalStarSubalgebra.subsingleton_of_subsingleton
code: instance subsingleton_of_subsingleton [Subsingleton A] :
    Subsingleton (NonUnitalStarSubalgebra R A) 
goal: Subsingleton (NonUnitalStarSubalgebra R A)

full_name: NonUnitalStarAlgHom.subsingleton
code: instance _root_.NonUnitalStarAlgHom.subsingleton [Subsingleton (NonUnitalStarSubalgebra R A)] :
    Subsingleton (A →⋆ₙₐ[R] B) 
goal: Subsingleton (A →⋆ₙₐ[R] B)

full_name: NonUnitalStarSubalgebra.range_val
code: theorem range_val : NonUnitalStarAlgHom.range (NonUnitalStarSubalgebraClass.subtype S) = S 
goal: NonUnitalStarAlgHom.range (NonUnitalStarSubalgebraClass.subtype S) = S

full_name: NonUnitalStarSubalgebra.inclusion
code: /--
The map `S → T` when `S` is a non-unital star subalgebra contained in the non-unital star
algebra `T`.

This is the non-unital star subalgebra version of `Submodule.inclusion`, or
`NonUnitalSubalgebra.inclusion`  -/
def inclusion {S T : NonUnitalStarSubalgebra R A} (h : S ≤ T) : S →⋆ₙₐ[R] T 
goal: ↥S →⋆ₙₐ[R] ↥T

full_name: NonUnitalStarSubalgebra.inclusion_injective
code: theorem inclusion_injective {S T : NonUnitalStarSubalgebra R A} (h : S ≤ T) :
    Function.Injective (inclusion h) 
goal: Function.Injective ⇑(NonUnitalStarSubalgebra.inclusion h)

full_name: NonUnitalStarSubalgebra.inclusion_self
code: @[simp]
theorem inclusion_self {S : NonUnitalStarSubalgebra R A} :
    inclusion (le_refl S) = NonUnitalAlgHom.id R S 
goal: NonUnitalAlgHomClass.toNonUnitalAlgHom (NonUnitalStarSubalgebra.inclusion ⋯) = NonUnitalAlgHom.id R ↥S

full_name: NonUnitalStarSubalgebra.inclusion_mk
code: @[simp]
theorem inclusion_mk {S T : NonUnitalStarSubalgebra R A} (h : S ≤ T) (x : A) (hx : x ∈ S) :
    inclusion h ⟨x, hx⟩ = ⟨x, h hx⟩ 
goal: (NonUnitalStarSubalgebra.inclusion h) ⟨x, hx⟩ = ⟨x, ⋯⟩

full_name: NonUnitalStarSubalgebra.inclusion_right
code: theorem inclusion_right {S T : NonUnitalStarSubalgebra R A} (h : S ≤ T) (x : T) (m : (x : A) ∈ S) :
    inclusion h ⟨x, m⟩ = x 
goal: (NonUnitalStarSubalgebra.inclusion h) ⟨↑x, m⟩ = x

full_name: NonUnitalStarSubalgebra.inclusion_inclusion
code: @[simp]
theorem inclusion_inclusion {S T U : NonUnitalStarSubalgebra R A} (hst : S ≤ T) (htu : T ≤ U)
    (x : S) : inclusion htu (inclusion hst x) = inclusion (le_trans hst htu) x 
goal: (NonUnitalStarSubalgebra.inclusion htu) ((NonUnitalStarSubalgebra.inclusion hst) x) =
  (NonUnitalStarSubalgebra.inclusion ⋯) x

full_name: NonUnitalStarSubalgebra.val_inclusion
code: @[simp]
theorem val_inclusion {S T : NonUnitalStarSubalgebra R A} (h : S ≤ T) (s : S) :
    (inclusion h s : A) = s 
goal: ↑((NonUnitalStarSubalgebra.inclusion h) s) = ↑s

full_name: NonUnitalStarSubalgebra.prod
code: /-- The product of two non-unital star subalgebras is a non-unital star subalgebra. -/
def prod : NonUnitalStarSubalgebra R (A × B) 
goal: NonUnitalStarSubalgebra R (A × B)

full_name: NonUnitalStarSubalgebra.coe_prod
code: @[simp]
theorem coe_prod : (prod S S₁ : Set (A × B)) = (S : Set A) ×ˢ S₁ 
goal: ↑(S.prod S₁) = ↑S ×ˢ ↑S₁

full_name: NonUnitalStarSubalgebra.prod_toNonUnitalSubalgebra
code: theorem prod_toNonUnitalSubalgebra :
    (S.prod S₁).toNonUnitalSubalgebra = S.toNonUnitalSubalgebra.prod S₁.toNonUnitalSubalgebra 
goal: (S.prod S₁).toNonUnitalSubalgebra = S.prod S₁.toNonUnitalSubalgebra

full_name: NonUnitalStarSubalgebra.mem_prod
code: @[simp]
theorem mem_prod {S : NonUnitalStarSubalgebra R A} {S₁ : NonUnitalStarSubalgebra R B} {x : A × B} :
    x ∈ prod S S₁ ↔ x.1 ∈ S ∧ x.2 ∈ S₁ 
goal: x ∈ S.prod S₁ ↔ x.1 ∈ S ∧ x.2 ∈ S₁

full_name: NonUnitalStarSubalgebra.prod_top
code: @[simp]
theorem prod_top : (prod ⊤ ⊤ : NonUnitalStarSubalgebra R (A × B)) = ⊤ 
goal: ⊤.prod ⊤ = ⊤

full_name: NonUnitalStarSubalgebra.prod_mono
code: theorem prod_mono {S T : NonUnitalStarSubalgebra R A} {S₁ T₁ : NonUnitalStarSubalgebra R B} :
    S ≤ T → S₁ ≤ T₁ → prod S S₁ ≤ prod T T₁ 
goal: S ≤ T → S₁ ≤ T₁ → S.prod S₁ ≤ T.prod T₁

full_name: NonUnitalStarSubalgebra.prod_inf_prod
code: @[simp]
theorem prod_inf_prod {S T : NonUnitalStarSubalgebra R A} {S₁ T₁ : NonUnitalStarSubalgebra R B} :
    S.prod S₁ ⊓ T.prod T₁ = (S ⊓ T).prod (S₁ ⊓ T₁) 
goal: S.prod S₁ ⊓ T.prod T₁ = (S ⊓ T).prod (S₁ ⊓ T₁)

full_name: NonUnitalStarSubalgebra.coe_iSup_of_directed
code: theorem coe_iSup_of_directed [Nonempty ι] {S : ι → NonUnitalStarSubalgebra R A}
    (dir : Directed (· ≤ ·) S) : ↑(iSup S) = ⋃ i, (S i : Set A) 
goal: ↑(iSup S) = ⋃ i, ↑(S i)

full_name: NonUnitalStarSubalgebra.iSupLift
code: /-- Define a non-unital star algebra homomorphism on a directed supremum of non-unital star
subalgebras by defining it on each non-unital star subalgebra, and proving that it agrees on the
intersection of non-unital star subalgebras. -/
noncomputable def iSupLift [Nonempty ι] (K : ι → NonUnitalStarSubalgebra R A)
    (dir : Directed (· ≤ ·) K) (f : ∀ i, K i →⋆ₙₐ[R] B)
    (hf : ∀ (i j : ι) (h : K i ≤ K j), f i = (f j).comp (inclusion h))
    (T : NonUnitalStarSubalgebra R A) (hT : T = iSup K) : ↥T →⋆ₙₐ[R] B 
goal: ↥T →⋆ₙₐ[R] B

full_name: NonUnitalStarSubalgebra.iSupLift_inclusion
code: @[simp]
theorem iSupLift_inclusion {i : ι} (x : K i) (h : K i ≤ T) :
    iSupLift K dir f hf T hT (inclusion h x) = f i x 
goal: (NonUnitalStarSubalgebra.iSupLift K dir f hf T hT) ((NonUnitalStarSubalgebra.inclusion h) x) = (f i) x

full_name: NonUnitalStarSubalgebra.iSupLift_comp_inclusion
code: @[simp]
theorem iSupLift_comp_inclusion {i : ι} (h : K i ≤ T) :
    (iSupLift K dir f hf T hT).comp (inclusion h) = f i 
goal: (NonUnitalStarSubalgebra.iSupLift K dir f hf T hT).comp (NonUnitalStarSubalgebra.inclusion h) = f i

full_name: NonUnitalStarSubalgebra.iSupLift_mk
code: @[simp]
theorem iSupLift_mk {i : ι} (x : K i) (hx : (x : A) ∈ T) :
    iSupLift K dir f hf T hT ⟨x, hx⟩ = f i x 
goal: (NonUnitalStarSubalgebra.iSupLift K dir f hf T hT) ⟨↑x, hx⟩ = (f i) x

full_name: NonUnitalStarSubalgebra.iSupLift_of_mem
code: theorem iSupLift_of_mem {i : ι} (x : T) (hx : (x : A) ∈ K i) :
    iSupLift K dir f hf T hT x = f i ⟨x, hx⟩ 
goal: (NonUnitalStarSubalgebra.iSupLift K dir f hf T hT) x = (f i) ⟨↑x, hx⟩

full_name: NonUnitalStarSubalgebra.center
code: /-- The center of a non-unital star algebra is the set of elements which commute with every element.
They form a non-unital star subalgebra. -/
def center : NonUnitalStarSubalgebra R A 
goal: NonUnitalStarSubalgebra R A

full_name: NonUnitalStarSubalgebra.coe_center
code: theorem coe_center : (center R A : Set A) = Set.center A 
goal: ↑(NonUnitalStarSubalgebra.center R A) = Set.center A

full_name: NonUnitalStarSubalgebra.center_toNonUnitalSubalgebra
code: @[simp]
theorem center_toNonUnitalSubalgebra :
    (center R A).toNonUnitalSubalgebra = NonUnitalSubalgebra.center R A 
goal: (NonUnitalStarSubalgebra.center R A).toNonUnitalSubalgebra = NonUnitalSubalgebra.center R A

full_name: NonUnitalStarSubalgebra.center_eq_top
code: @[simp]
theorem center_eq_top (A : Type*) [NonUnitalCommSemiring A] [StarRing A] [Module R A]
    [IsScalarTower R A A] [SMulCommClass R A A] [StarModule R A] : center R A = ⊤ 
goal: NonUnitalStarSubalgebra.center R A = ⊤

full_name: NonUnitalStarSubalgebra.instNonUnitalCommSemiring
code: instance instNonUnitalCommSemiring : NonUnitalCommSemiring (center R A) 
goal: NonUnitalCommSemiring ↥(NonUnitalStarSubalgebra.center R A)

full_name: NonUnitalStarSubalgebra.instNonUnitalCommRing
code: instance instNonUnitalCommRing {A : Type*} [NonUnitalRing A] [StarRing A] [Module R A]
    [IsScalarTower R A A] [SMulCommClass R A A] : NonUnitalCommRing (center R A) 
goal: NonUnitalCommRing ↥(NonUnitalStarSubalgebra.center R A)

full_name: NonUnitalStarSubalgebra.mem_center_iff
code: theorem mem_center_iff {a : A} : a ∈ center R A ↔ ∀ b : A, b * a = a * b 
goal: a ∈ NonUnitalStarSubalgebra.center R A ↔ ∀ (b : A), b * a = a * b

full_name: NonUnitalStarSubalgebra.centralizer
code: /-- The centralizer of the star-closure of a set as a non-unital star subalgebra. -/
def centralizer (s : Set A) : NonUnitalStarSubalgebra R A 
goal: NonUnitalStarSubalgebra R A

full_name: NonUnitalStarSubalgebra.coe_centralizer
code: @[simp, norm_cast]
theorem coe_centralizer (s : Set A) : (centralizer R s : Set A) = (s ∪ star s).centralizer 
goal: ↑(NonUnitalStarSubalgebra.centralizer R s) = (s ∪ star s).centralizer

full_name: NonUnitalStarSubalgebra.mem_centralizer_iff
code: theorem mem_centralizer_iff {s : Set A} {z : A} :
    z ∈ centralizer R s ↔ ∀ g ∈ s, g * z = z * g ∧ star g * z = z * star g 
goal: z ∈ NonUnitalStarSubalgebra.centralizer R s ↔ ∀ g ∈ s, g * z = z * g ∧ star g * z = z * star g

full_name: NonUnitalStarSubalgebra.centralizer_le
code: theorem centralizer_le (s t : Set A) (h : s ⊆ t) : centralizer R t ≤ centralizer R s 
goal: NonUnitalStarSubalgebra.centralizer R t ≤ NonUnitalStarSubalgebra.centralizer R s

full_name: NonUnitalStarSubalgebra.centralizer_univ
code: @[simp]
theorem centralizer_univ : centralizer R Set.univ = center R A 
goal: NonUnitalStarSubalgebra.centralizer R Set.univ = NonUnitalStarSubalgebra.center R A