@@ -82,6 +82,8 @@ def starLinearEquiv (R : Type*) {A : Type*} [CommSemiring R] [StarRing R] [AddCo
82
82
map_smul' := star_smul }
83
83
#align star_linear_equiv starLinearEquiv
84
84
85
+ section SelfSkewAdjoint
86
+
85
87
variable (R : Type *) (A : Type *) [Semiring R] [StarMul R] [TrivialStar R] [AddCommGroup A]
86
88
[Module R A] [StarAddMonoid A] [StarModule R A]
87
89
@@ -183,9 +185,25 @@ def StarModule.decomposeProdAdjoint : A ≃ₗ[R] selfAdjoint A × skewAdjoint A
183
185
ext x <;> dsimp <;> erw [Submodule.coeSubtype, Submodule.coeSubtype] <;> simp
184
186
#align star_module.decompose_prod_adjoint StarModule.decomposeProdAdjoint
185
187
188
+ end SelfSkewAdjoint
189
+
190
+ section algebraMap
191
+
192
+ variable {R A : Type *} [CommSemiring R] [StarRing R] [Semiring A]
193
+ variable [StarMul A] [Algebra R A] [StarModule R A]
194
+
186
195
@[simp]
187
- theorem algebraMap_star_comm {R A : Type *} [CommSemiring R] [StarRing R] [Semiring A]
188
- [StarMul A] [Algebra R A] [StarModule R A] (r : R) :
189
- algebraMap R A (star r) = star (algebraMap R A r) := by
196
+ theorem algebraMap_star_comm (r : R) : algebraMap R A (star r) = star (algebraMap R A r) := by
190
197
simp only [Algebra.algebraMap_eq_smul_one, star_smul, star_one]
191
198
#align algebra_map_star_comm algebraMap_star_comm
199
+
200
+ variable (A) in
201
+ protected lemma IsSelfAdjoint.algebraMap {r : R} (hr : IsSelfAdjoint r) :
202
+ IsSelfAdjoint (algebraMap R A r) := by
203
+ simpa using congr(algebraMap R A $(hr.star_eq))
204
+
205
+ lemma isSelfAdjoint_algebraMap_iff {r : R} (h : Function.Injective (algebraMap R A)) :
206
+ IsSelfAdjoint (algebraMap R A r) ↔ IsSelfAdjoint r :=
207
+ ⟨fun hr ↦ h <| algebraMap_star_comm r (A := A) ▸ hr.star_eq, IsSelfAdjoint.algebraMap A⟩
208
+
209
+ end algebraMap
0 commit comments