Skip to content

Commit 1604555

Browse files
committed
feat: adds IsSelfAdjoint.algebraMap (#10366)
`algebraMap R A r` is selfadjiont when `A` is a star `R`-algebra and `r` is selfadjoint.
1 parent dd92a5c commit 1604555

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

Mathlib/Algebra/Star/Module.lean

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ def starLinearEquiv (R : Type*) {A : Type*} [CommSemiring R] [StarRing R] [AddCo
8282
map_smul' := star_smul }
8383
#align star_linear_equiv starLinearEquiv
8484

85+
section SelfSkewAdjoint
86+
8587
variable (R : Type*) (A : Type*) [Semiring R] [StarMul R] [TrivialStar R] [AddCommGroup A]
8688
[Module R A] [StarAddMonoid A] [StarModule R A]
8789

@@ -183,9 +185,25 @@ def StarModule.decomposeProdAdjoint : A ≃ₗ[R] selfAdjoint A × skewAdjoint A
183185
ext x <;> dsimp <;> erw [Submodule.coeSubtype, Submodule.coeSubtype] <;> simp
184186
#align star_module.decompose_prod_adjoint StarModule.decomposeProdAdjoint
185187

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+
186195
@[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
190197
simp only [Algebra.algebraMap_eq_smul_one, star_smul, star_one]
191198
#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

Comments
 (0)