@@ -23,32 +23,56 @@ notation:25 M " →L⋆[" R "] " M₂ => ContinuousLinearMap (starRingEnd R) M M
2323@[inherit_doc]
2424notation :50 M " ≃L⋆[" R "] " M₂ => ContinuousLinearEquiv (starRingEnd R) M M₂
2525
26+ section starL
27+
28+ variable (R : Type *) {A : Type *} [CommSemiring R] [StarRing R] [AddCommMonoid A]
29+ [StarAddMonoid A] [Module R A] [StarModule R A] [TopologicalSpace A] [ContinuousStar A]
30+
31+ set_option backward.defeqAttrib.useBackward true in
2632/-- If `A` is a topological module over a commutative `R` with compatible actions,
2733then `star` is a continuous semilinear equivalence. -/
28- @[simps!]
29- def starL (R : Type *) {A : Type *} [CommSemiring R] [StarRing R] [AddCommMonoid A]
30- [StarAddMonoid A] [Module R A] [StarModule R A] [TopologicalSpace A] [ContinuousStar A] :
31- A ≃L⋆[R] A where
34+ @ [simps! apply]
35+ def starL : A ≃L⋆[R] A where
3236 toLinearEquiv := starLinearEquiv R
33- continuous_toFun := continuous_star
34- continuous_invFun := continuous_star
37+
38+ @[simp]
39+ theorem toLinearEquiv_starL : (starL R : A ≃L⋆[R] A).toLinearEquiv = starLinearEquiv R :=
40+ rfl
41+
42+ @[simp]
43+ theorem symm_starL : (starL R : A ≃L⋆[R] A).symm = starL R :=
44+ rfl
45+
46+ @ [deprecated "Use `symm_starL` and `starL_apply` instead" (since := "2026-06-03" )]
47+ theorem starL_symm_apply (x : A) : (starL R).symm x = starAddEquiv.symm x := by
48+ simp
49+
50+ variable [TrivialStar R]
3551
3652-- TODO: this could be replaced with something like `(starL R).restrict_scalarsₛₗ h` if we
3753-- implemented the idea in
3854-- https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/Star-semilinear.20maps.20are.20semilinear.20when.20star.20is.20trivial/near/359557835
3955/-- If `A` is a topological module over a commutative `R` with trivial star and compatible actions,
4056then `star` is a continuous linear equivalence. -/
41- @[simps!]
42- def starL' (R : Type *) {A : Type *} [CommSemiring R] [StarRing R] [TrivialStar R] [AddCommMonoid A]
43- [StarAddMonoid A] [Module R A] [StarModule R A] [TopologicalSpace A] [ContinuousStar A] :
44- A ≃L[R] A :=
57+ @ [simps! apply]
58+ def starL' : A ≃L[R] A :=
4559 (starL R : A ≃L⋆[R] A).trans
4660 ({ AddEquiv.refl A with
4761 map_smul' := fun r a => by simp
4862 continuous_toFun := continuous_id
4963 continuous_invFun := continuous_id } :
5064 A ≃L⋆[R] A)
5165
66+ @[simp]
67+ theorem symm_starL' : (starL' R : A ≃L[R] A).symm = starL' R :=
68+ rfl
69+
70+ @ [deprecated "Use `symm_starL'` and `starL'_apply` instead" (since := "2026-06-03" )]
71+ theorem starL'_symm_apply (x : A) : (starL' R).symm x = starAddEquiv.symm x := by
72+ simp
73+
74+ end starL
75+
5276variable (R : Type *) (A : Type *) [Semiring R] [StarMul R] [TrivialStar R] [AddCommGroup A]
5377 [Module R A] [StarAddMonoid A] [StarModule R A] [Invertible (2 : R)] [TopologicalSpace A]
5478
0 commit comments