@@ -141,8 +141,12 @@ instance instZero [Zero A] : Zero (CStarMatrix m n A) :=
141141instance instAddZeroClass [AddZeroClass A] : AddZeroClass (CStarMatrix m n A) :=
142142 inferInstanceAs <| AddZeroClass (Matrix m n A)
143143
144- instance instAddMonoid [AddMonoid A] : AddMonoid (CStarMatrix m n A) :=
145- inferInstanceAs <| AddMonoid (Matrix m n A)
144+ instance instSMul [SMul R A] : SMul R (CStarMatrix m n A) :=
145+ inferInstanceAs <| SMul R (Matrix m n A)
146+
147+ instance instAddMonoid [AddMonoid A] : AddMonoid (CStarMatrix m n A) where
148+ nsmul := letI := instSMul (R := ℕ) (A := A) (m := m) (n := n); (· • · )
149+ __ : AddMonoid (CStarMatrix m n A) := inferInstanceAs <| AddMonoid (Matrix m n A)
146150
147151instance instAddCommMonoid [AddCommMonoid A] : AddCommMonoid (CStarMatrix m n A) :=
148152 inferInstanceAs <| AddCommMonoid (Matrix m n A)
@@ -153,8 +157,9 @@ instance instNeg [Neg A] : Neg (CStarMatrix m n A) :=
153157instance instSub [Sub A] : Sub (CStarMatrix m n A) :=
154158 inferInstanceAs <| Sub (Matrix m n A)
155159
156- instance instAddGroup [AddGroup A] : AddGroup (CStarMatrix m n A) :=
157- inferInstanceAs <| AddGroup (Matrix m n A)
160+ instance instAddGroup [AddGroup A] : AddGroup (CStarMatrix m n A) where
161+ zsmul := letI := instSMul (R := ℤ) (A := A) (m := m) (n := n); (· • · )
162+ __ : AddGroup (CStarMatrix m n A) := inferInstanceAs <| AddGroup (Matrix m n A)
158163
159164instance instAddCommGroup [AddCommGroup A] : AddCommGroup (CStarMatrix m n A) :=
160165 inferInstanceAs <| AddCommGroup (Matrix m n A)
@@ -168,9 +173,6 @@ instance instSubsingleton [Subsingleton A] : Subsingleton (CStarMatrix m n A) :=
168173instance instNontrivial [Nonempty m] [Nonempty n] [Nontrivial A] : Nontrivial (CStarMatrix m n A) :=
169174 inferInstanceAs <| Nontrivial (Matrix m n A)
170175
171- instance instSMul [SMul R A] : SMul R (CStarMatrix m n A) :=
172- inferInstanceAs <| SMul R (Matrix m n A)
173-
174176instance instSMulCommClass [SMul R A] [SMul S A] [SMulCommClass R S A] :
175177 SMulCommClass R S (CStarMatrix m n A) :=
176178 inferInstanceAs <| SMulCommClass R S (Matrix m n A)
0 commit comments