Star subalgebras #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
A *-subalgebra is a subalgebra of a *-algebra which is closed under *.
The centralizer of a *-closed set is a *-subalgebra.
Forgetting that a *-subalgebra is closed under *.
- carrier : set A
- mul_mem' : ∀ {a b : A}, a ∈ self.carrier → b ∈ self.carrier → a * b ∈ self.carrier
- one_mem' : 1 ∈ self.carrier
- add_mem' : ∀ {a b : A}, a ∈ self.carrier → b ∈ self.carrier → a + b ∈ self.carrier
- zero_mem' : 0 ∈ self.carrier
- algebra_map_mem' : ∀ (r : R), ⇑(algebra_map R A) r ∈ self.carrier
- star_mem' : ∀ {a : A}, a ∈ self.carrier → has_star.star a ∈ self.carrier
A *-subalgebra is a subalgebra of a *-algebra which is closed under *.
Instances for star_subalgebra
Equations
- star_subalgebra.set_like = {coe := star_subalgebra.carrier _inst_6, coe_injective' := _}
Equations
Equations
- s.star_ring = {to_star_semigroup := {to_has_involutive_star := {to_has_star := {star := has_star.star (star_mem_class.has_star s)}, star_involutive := _}, star_mul := _}, star_add := _}
Equations
Copy of a star subalgebra with a new carrier
equal to the old one. Useful to fix definitional
equalities.
Embedding of a subalgebra into the algebra.
The inclusion map between star_subalgebra
s given by subtype.map id
as a star_alg_hom
.
Transport a star subalgebra via a star algebra homomorphism.
Equations
- star_subalgebra.map f S = {carrier := (subalgebra.map f.to_alg_hom S.to_subalgebra).carrier, mul_mem' := _, one_mem' := _, add_mem' := _, zero_mem' := _, algebra_map_mem' := _, star_mem' := _}
Preimage of a star subalgebra under an star algebra homomorphism.
Equations
- star_subalgebra.comap f S = {carrier := (subalgebra.comap f.to_alg_hom S.to_subalgebra).carrier, mul_mem' := _, one_mem' := _, add_mem' := _, zero_mem' := _, algebra_map_mem' := _, star_mem' := _}
The centralizer, or commutant, of a *-closed set as star subalgebra.
Equations
- star_subalgebra.centralizer R s w = {carrier := (subalgebra.centralizer R s).carrier, mul_mem' := _, one_mem' := _, add_mem' := _, zero_mem' := _, algebra_map_mem' := _, star_mem' := _}
The star closure of a subalgebra #
The pointwise star
of a subalgebra is a subalgebra.
Equations
- subalgebra.has_involutive_star = {to_has_star := {star := λ (S : subalgebra R A), {carrier := has_star.star S.carrier, mul_mem' := _, one_mem' := _, add_mem' := _, zero_mem' := _, algebra_map_mem' := _}}, star_involutive := _}
The star operation on subalgebra
commutes with algebra.adjoin
.
The star_subalgebra
obtained from S : subalgebra R A
by taking the smallest subalgebra
containing both S
and star S
.
Equations
- S.star_closure = {carrier := (S ⊔ has_star.star S).carrier, mul_mem' := _, one_mem' := _, add_mem' := _, zero_mem' := _, algebra_map_mem' := _, star_mem' := _}
The star subalgebra generated by a set #
The minimal star subalgebra that contains s
.
Equations
- star_subalgebra.adjoin R s = {carrier := (algebra.adjoin R (s ∪ has_star.star s)).carrier, mul_mem' := _, one_mem' := _, add_mem' := _, zero_mem' := _, algebra_map_mem' := _, star_mem' := _}
Instances for ↥star_subalgebra.adjoin
Galois insertion between adjoin
and coe
.
Equations
- star_subalgebra.gi = {choice := λ (s : set A) (hs : ↑(star_subalgebra.adjoin R s) ≤ s), (star_subalgebra.adjoin R s).copy s _, gc := _, le_l_u := _, choice_eq := _}
If some predicate holds for all x ∈ (s : set A)
and this predicate is closed under the
algebra_map
, addition, multiplication and star operations, then it holds for a ∈ adjoin R s
.
The difference with star_subalgebra.adjoin_induction
is that this acts on the subtype.
If all elements of s : set A
commute pairwise and also commute pairwise with elements of
star s
, then star_subalgebra.adjoin R s
is commutative. See note [reducible non-instances].
Equations
- star_subalgebra.adjoin_comm_semiring_of_comm R hcomm hcomm_star = {add := semiring.add (star_subalgebra.adjoin R s).to_subalgebra.to_semiring, add_assoc := _, zero := semiring.zero (star_subalgebra.adjoin R s).to_subalgebra.to_semiring, zero_add := _, add_zero := _, nsmul := semiring.nsmul (star_subalgebra.adjoin R s).to_subalgebra.to_semiring, nsmul_zero' := _, nsmul_succ' := _, add_comm := _, mul := semiring.mul (star_subalgebra.adjoin R s).to_subalgebra.to_semiring, left_distrib := _, right_distrib := _, zero_mul := _, mul_zero := _, mul_assoc := _, one := semiring.one (star_subalgebra.adjoin R s).to_subalgebra.to_semiring, one_mul := _, mul_one := _, nat_cast := semiring.nat_cast (star_subalgebra.adjoin R s).to_subalgebra.to_semiring, nat_cast_zero := _, nat_cast_succ := _, npow := semiring.npow (star_subalgebra.adjoin R s).to_subalgebra.to_semiring, npow_zero' := _, npow_succ' := _, mul_comm := _}
If all elements of s : set A
commute pairwise and also commute pairwise with elements of
star s
, then star_subalgebra.adjoin R s
is commutative. See note [reducible non-instances].
Equations
- star_subalgebra.adjoin_comm_ring_of_comm R hcomm hcomm_star = {add := comm_semiring.add (star_subalgebra.adjoin_comm_semiring_of_comm R hcomm hcomm_star), add_assoc := _, zero := comm_semiring.zero (star_subalgebra.adjoin_comm_semiring_of_comm R hcomm hcomm_star), zero_add := _, add_zero := _, nsmul := comm_semiring.nsmul (star_subalgebra.adjoin_comm_semiring_of_comm R hcomm hcomm_star), nsmul_zero' := _, nsmul_succ' := _, neg := ring.neg (star_subalgebra.adjoin R s).to_subalgebra.to_ring, sub := ring.sub (star_subalgebra.adjoin R s).to_subalgebra.to_ring, sub_eq_add_neg := _, zsmul := ring.zsmul (star_subalgebra.adjoin R s).to_subalgebra.to_ring, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, int_cast := ring.int_cast (star_subalgebra.adjoin R s).to_subalgebra.to_ring, nat_cast := comm_semiring.nat_cast (star_subalgebra.adjoin_comm_semiring_of_comm R hcomm hcomm_star), one := comm_semiring.one (star_subalgebra.adjoin_comm_semiring_of_comm R hcomm hcomm_star), nat_cast_zero := _, nat_cast_succ := _, int_cast_of_nat := _, int_cast_neg_succ_of_nat := _, mul := comm_semiring.mul (star_subalgebra.adjoin_comm_semiring_of_comm R hcomm hcomm_star), mul_assoc := _, one_mul := _, mul_one := _, npow := comm_semiring.npow (star_subalgebra.adjoin_comm_semiring_of_comm R hcomm hcomm_star), npow_zero' := _, npow_succ' := _, left_distrib := _, right_distrib := _, mul_comm := _}
The star subalgebra star_subalgebra.adjoin R {x}
generated by a single x : A
is commutative
if x
is normal.
The star subalgebra star_subalgebra.adjoin R {x}
generated by a single x : A
is commutative
if x
is normal.
Equations
- star_subalgebra.adjoin_comm_ring_of_is_star_normal R x = {add := ring.add (star_subalgebra.adjoin R {x}).to_subalgebra.to_ring, add_assoc := _, zero := ring.zero (star_subalgebra.adjoin R {x}).to_subalgebra.to_ring, zero_add := _, add_zero := _, nsmul := ring.nsmul (star_subalgebra.adjoin R {x}).to_subalgebra.to_ring, nsmul_zero' := _, nsmul_succ' := _, neg := ring.neg (star_subalgebra.adjoin R {x}).to_subalgebra.to_ring, sub := ring.sub (star_subalgebra.adjoin R {x}).to_subalgebra.to_ring, sub_eq_add_neg := _, zsmul := ring.zsmul (star_subalgebra.adjoin R {x}).to_subalgebra.to_ring, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, int_cast := ring.int_cast (star_subalgebra.adjoin R {x}).to_subalgebra.to_ring, nat_cast := ring.nat_cast (star_subalgebra.adjoin R {x}).to_subalgebra.to_ring, one := ring.one (star_subalgebra.adjoin R {x}).to_subalgebra.to_ring, nat_cast_zero := _, nat_cast_succ := _, int_cast_of_nat := _, int_cast_neg_succ_of_nat := _, mul := ring.mul (star_subalgebra.adjoin R {x}).to_subalgebra.to_ring, mul_assoc := _, one_mul := _, mul_one := _, npow := ring.npow (star_subalgebra.adjoin R {x}).to_subalgebra.to_ring, npow_zero' := _, npow_succ' := _, left_distrib := _, right_distrib := _, mul_comm := _}
Complete lattice structure #
Equations
The equalizer of two star R
-algebra homomorphisms.