Skip to content

Commit c8a8a81

Browse files
committed
feat(Algebra/Star/LinearMap): LinearMap.intrinsicStar_{toSpanSingleton, smulRight} (leanprover-community#33395)
1 parent f9bdda7 commit c8a8a81

1 file changed

Lines changed: 19 additions & 2 deletions

File tree

Mathlib/Algebra/Star/LinearMap.lean

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ lemma intrinsicStarModule : StarModule R (E →ₗ[R] F) where
109109

110110
scoped[IntrinsicStar] attribute [instance] LinearMap.intrinsicStarModule
111111

112-
section TensorProduct
112+
section CommSemiring
113113
variable {R E F G H : Type*} [CommSemiring R] [StarRing R]
114114
[AddCommMonoid E] [StarAddMonoid E] [Module R E] [StarModule R E]
115115
[AddCommMonoid F] [StarAddMonoid F] [Module R F] [StarModule R F]
@@ -126,7 +126,24 @@ theorem intrinsicStar_lTensor (f : F →ₗ[R] G) : star (lTensor E f) = lTensor
126126
theorem intrinsicStar_rTensor (f : E →ₗ[R] F) : star (rTensor G f) = rTensor G (star f) := by
127127
simp [rTensor, TensorProduct.intrinsicStar_map]
128128

129-
end TensorProduct
129+
theorem intrinsicStar_eq_comp (f : E →ₗ[R] F) :
130+
star f = (starLinearEquiv R).toLinearMap ∘ₛₗ f ∘ₛₗ (starLinearEquiv R).toLinearMap := rfl
131+
132+
theorem IntrinsicStar.starLinearEquiv_eq_arrowCongr :
133+
starLinearEquiv R (A := E →ₗ[R] F) = (starLinearEquiv R).arrowCongr (starLinearEquiv R) := rfl
134+
135+
end CommSemiring
136+
137+
section starAddMonoidSemiring
138+
variable {S : Type*} [Semiring S] [StarAddMonoid S] [StarModule S S] [Module S E] [StarModule S E]
139+
140+
@[simp] theorem intrinsicStar_toSpanSingleton (a : E) :
141+
star (toSpanSingleton S E a) = toSpanSingleton S E (star a) := by ext; simp
142+
143+
theorem intrinsicStar_smulRight [Module S F] [StarModule S F] (f : E →ₗ[S] S) (x : F) :
144+
star (f.smulRight x) = (star f).smulRight (star x) := by ext; simp
145+
146+
end starAddMonoidSemiring
130147

131148
end LinearMap
132149

0 commit comments

Comments
 (0)